Re: Clone to an SSH destination
From: Mark Hills <hidden>
Date: 2016-06-15 22:54:37
On Mon, 3 Sep 2012, Ævar Arnfjörð Bjarmason wrote:
On Mon, Sep 3, 2012 at 12:21 PM, Mark Hills [off-list ref] wrote:quoted
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.
quoted
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