On Mon, 3 Sep 2012, Ævar Arnfjörð Bjarmason wrote:

> On Mon, Sep 3, 2012 at 12:21 PM, Mark Hills <mark.hi...@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.

> > 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 

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,


Reply via email to