On 2/10/2011 3:24 PM, Francis Moreau wrote:
On Thu, Feb 10, 2011 at 8:08 PM, Neal Kreitzinger
<nkreitzinger@xxxxxxxxx> wrote:
You could write a script that does the clone and then adds the remotes. We
have a "menu" written in bash scripts and it does the clones and adds the
default remotes automatically. So instead of just doing "git clone", people
would run that script to do the clone and add the remotes.
Sure.
But I'm wondering why cloning operation can't import the remote
branches of the cloned repository.
Actually I'm wondering the same thing for hooks. If a repository setup
some hooks, can't these hooks be installed by default in the new
repositories ?
you can do some hook setup automation using git templates. see the
--template option of git-clone manpage and 'template directory' section
of git-init manpage. There is some big reason why they don't let you
inherit hooks from the origin repo of the clone repo. I think its
basically because you could have security risks or compromise git
integrity/workflow with hook inheritance. If you look in the newsgroup
people have talked about this alot before.
As far as your request for automatic remotes, a flaw in your logic may
be that you think the functionality you want would let you clone from an
already-setup clone (1) which points to remote (a) then the new clone
(2) would point to the remote (a) of clone(1). Not so. When you make a
clone it does get an automatic remote to the repo it was cloned from.
This is called 'origin' remote. Therefore, clone(2) has an origin
remote to clone (1). Your idea on automatic remote setup is in direct
conflict with the way git currently does automatic origin remote setup.
You can't do both because that would turn in to a real mess pretty
quickly. Perhaps what you want is just "cp -r", ie. "cp -r clone-1
clone-2". then the clone-2 repo will have all the remotes and hooks of
clone-1 and point to the same origin remote (a), but will live in a
directory/working-tree called "clone-2". "cp -r" will give you an exact
duplicate thats totally functional, but occupying a different namespace.
hope this helps.
v/r,
neal
v/r,
neal
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html