Dear diary, on Wed, Jul 27, 2005 at 02:58:42PM CEST, I got a letter
where Josef Weidendorfer <[EMAIL PROTECTED]> told me that...
> Hi,

Hello,

> if I clone a remote head other than master via Cogito with
> 
>       cg-clone host:path#remoteHead,
> 
> work on this branch, and try to push back my changes with
> 
>       cg-push,
> 
> I get the error
> 
>       "pushing to a different head not supported yet".
> 
> As far as I can see, there is no support in core GIT to make this ever work 
> (at least with get-send-packs), as "git-send-pack" only updates a set of 
> heads with the same name both locally and remote.

Yes. It sucks. :-)

> I suppose the best would be to always keep the same head names in cloned 
> repositories - it seems to be easier to handle for users. Perhaps the only 
> exception would be "master", as one probably would like to pull masters of 
> different remote repositories into a local one (without really working on 
> them).

I think that would be quite confusing. I mean, you added a remote "bar"
branch under name "foo" by cg-branch-add, but suddenly, branch "bar"
appears as well. Worse if you already have a different branch "bar".

> Thus, what about the following: Each time a remote head other than master is 
> cloned, a head with the same name is created locally which is an alias to the 
> local master. This way, cg-push almost works out of the box. Following patch 
> implements this behavior.

See above. I would much rather see more flexible git-send-pack. Junio,
what about changing its [heads]* parameter e.g. to
[remotehead[:localhead]]* ?

Dear diary, on Thu, Jul 28, 2005 at 03:32:01AM CEST, I got a letter
where Junio C Hamano <[EMAIL PROTECTED]> told me that...
> Josef Weidendorfer <[EMAIL PROTECTED]> writes:
> 
> > As far as I can see, there is no support in core GIT to make this ever work 
> > (at least with get-send-packs), as "git-send-pack" only updates a set of 
> > heads with the same name both locally and remote.
> 
> Yes, it is my understanding that "clone" means to literally
> clone, not "pull into an empty repository with renamed head
> names", to the core GIT.  I do not speak for Pasky, but Cogito's
> "clone" seems to have a bit different semantics (which I suspect
> is more friendly to the users in many situations).

cg-clone serves only for initializing the repository from a remote
source initially.

> Similarly, "push" to the core GIT (that is what git-send-pack is
> about) means performing a subset of "clone" in reverse.  This is
> primarily to synchronise two repositories owned by a single
> person.

cg-push aims to serve as a general pushing mechanism, which should work
properly even if multiple people push to a single repository.

-- 
                                Petr "Pasky" Baudis
Stuff: http://pasky.or.cz/
If you want the holes in your knowledge showing up try teaching
someone.  -- Alan Cox
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to