Re: How is working on arbitrary remote heads supposed to work in Cogito (+ PATCH)?
- From
Junio C Hamano <junkio@cox.net>
- Date
- Jul 29, 2005, 07:48 UTC
- Message-ID
- <7vmzo6jbme.fsf@assigned-by-dhcp.cox.net>
- In-Reply-To
- <20050729070628.GA24895@pasky.ji.cz>
Petr Baudis <pasky@suse.cz> writes:
> Aha, so it seems our problem is hopefully only in terminology, great. > > So, what do you mean by "clone" here? And what command should I use for > pushing then?
Notice I never used the word "clone" in what I said.
What I mean by "a semantically equivalent two repositories, potentially one being a strict subset of the other" is you can pull head A from one or head A from the other and can get the same result (although one may and the other may not have head B). And naturally you use send-pack for pushing.
If I "clone" from repository A to create a repository B, I would never "push back" from B to A. Instead I would ask a person who owns A to "pull from B". My impression is the patch flow in the kernel circle works like that (although I have never been in that circle).
Now, A may happen to be on my home machine and B may happen be on my notebook, meaning the owner of A and B are both myself. But even in that case I would still work by "pulling from A" when I am on B, and "pulling from B" when I am on A. In other words, "pulling" is the only patch flow mechanism I would use. Pushing is only for publication and I treat it as just a GIT-aware rsync/mirror, nothing more. I have a feeling that your workflow is different and you plan to use both push and pull for normal patch flows. This distinction is probably where the disagreement comes from.
And I strongly suspect that the primary reason that I "simply do not get it" after reading your messages is because my mental model is strongly molded into what Linus taught us. I have to unlearn things...