Re: Clone to an SSH destination
On Mon, 3 Sep 2012, Ævar Arnfjörð Bjarmason wrote:
Show 22 quoted lines
> On Mon, Sep 3, 2012 at 12:21 PM, Mark Hills <Mark.Hills@framestore.com> wrote:
> > How do I clone a repo _to_ a new repo over SSH? I tried:
> >
> > cd xx
> > git clone --bare . gitserver:/scm/xx.git
> > git clone --bare . ssh://gitserver/scm/xx.git
> >
> > This does not have the expected result, and instead a local path of the
> > given name is created (eg. a 'gitserver:' directory)
> >
> > This seems to be a FAQ, but the only answer I can find (Google) is to
> > login to the server and create the repo, setup a remote and push to it.
>
> Basically Git doesn't support this yet, mainly because it could only
> be supported with the ssh or local transports.
>
> With anything else it would break, so push can only assume that
> something on the other end can receive data, can update branch
> pointers etc. Not create a brand new repository.
>
> You could of course supply your devs with an alias that ssh's to that
> server, does an init if needed, and then does a push.
Yes, a last resort, but do-able of course.
Show 9 quoted lines
> > This is quite cumbersome; we have a large team of devs who use a simple
> > 'git clone' to an NFS directory, but we wish to retire NFS access.
> >
> > Is there a technical limiation preventing clone-to-ssh, or just something
> > waiting to be implemented?
>
> But I'm actually more curious about why you need this in the first
> place, there's a bunch of devs where I work as well, but they never
> have the need to create new repos on some NFS drive in this manner.
Without a command-line onto the filesystem (either local or NFS), how do you create a new repository for a new project?
We have a fairly large team on a diverse set of projects. Projects come and go, so it's a burden if the administrator is needed just to create repos.
Likewise, it's a step backwards for the developer to need to login themselves over SSH -- whereas 'git clone' is so easy to NFS.
> What are your devs doing when they do clone their current working
> directory to some NFS location, maybe there's a better way to do it.
Most projects start as a small test at some point; eg.
mkdir xx
cd xx
git init
<write some code>
git commit
...
When a project becomes more official, the developer clones to a central location; eg.
git clone --bare . /net/git/xx.git
This is the step that is inconvenient if only SSH access is available.
Thanks for your reply,
--
Mark