Thread (10 messages) flat view 10 messages, 5 authors, 2016-06-15

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help