On Wed, Oct 01 2008, Stéphane Glondu wrote:

> Teemu Ikonen wrote:
>> First, find a path from tagged release commit in master to the commit
>> in topgit branch patch/x preceding the commit in master where patch/x
>> was last merged in. Let's call this commit Px. Next, starting from Px,
>> find the commit in top-bases/patch/x preceding the last merge of
>> top-bases/patch/x to patch/x and call this commit Bx. The patch can
>> then be recreated from diff(Bx, Px) and .topmsg at Px.
> Imagine I maintain a topic branch in "feature" based on branch
> "upstream", and my "integration" (the one you tag) branch is "build":
> ------A-----------B-------C------------- (upstream)
>        \           \       \
>         +--D---E----F-------G---H------- (feature)
>             \   \                \
> -------------L---J----------------K----- (build)
> Capital letters represent commits (not all of them...). Each commit in
> build is also a tag. I can see two interpretations of this history graph
> in terms of topgit:
>  - At B and C, I've updated my feature. In tag K, the base of feature is
>    G and the head is H.
>  - I've updated my feature only at B, but for some reason yet to be
>    imagined, I've only merged upstream into my feature branch at point C,
>    and I still want to use B as upstream. In this case, the base of feature
>    would be F, and the head H.

> How do you plan to distinguish these two cases?

        The second case does not seem to be the way I would interpret
 it. In this case, the B..C changes would be seen to be in the feature,
 not upstream, where they were actually developed.  I suggest that the
 human provide guidance if they want to use F..H as the feature branch;
 and automated discrimination is not required.

Adapt.  Enjoy.  Survive.
Manoj Srivastava <[EMAIL PROTECTED]> <http://www.golden-gryphon.com/>  
1024D/BF24424C print 4966 F272 D093 B493 410B  924B 21BA DABB BF24 424C

vcs-pkg-discuss mailing list

Reply via email to