"Stephen R. van den Berg" <srb@cuci.nl> writes:I understand that multiple origin fields occur if you do a squash merge, or if you cherry-pick multiple commits into single commit. For example: $ git cherry-pick -n <a1> $ git cherry-pick <a2> $ git commit --amend #; to correct commit message I'm not sure if you plan to automatically add 'origin' field for rebase, and for interactive rebase... I think you wanted to use "(B, B^2)", which mean B and second parent of B. B~2 means grandparent of B in the straight line: ... <--- B~2 <--- B^1 = B^ = B~1 <--- B / ... <--- B^2 <--/ Besides I very much prefer using 'origin <sha1> <sha2>' (as proposed in the neighbouring subthread), which would mean together with 'parent <parent>' (assuming that there are no other parents; if they are it gets even more complicated), that the following is true <current> ~= <parent> + (<sha2> - <sha1>), where '<rev1> ~= <rev2>' means that <rev1> is based on <rev2> (perhaps with some fixups, corrections or the like). Perhaps 'origin' should be then called 'changeset'. It would also be easier on implementation to check if 'origin'/'changeset' weak links are not broken, and to get to know which commits are to be protected against pruning than your proposal of origin <"cousin" id> [<mainline = parent number>] where <mainline> can be omitted if it is 1 (the default). This can also lead to replacing origin <b> <a> origin <c> <b> by origin <c> <a> for squash merge, or squash in rebase interactive. The above means that it is a 'weak' link, i.e. it is protecting against pruning (perhaps influenced by some configuration variable), but it is not considered an error for it to be broken. Errr... shouldn't objects referenced by 'origin' links be reachable in order for "cherry-pick" or "revert" to succeed? On the other hand this leads to the following question: what happens if you cherry-pick or revert a commit which has its own 'origin' links? What do you mean by that? That is I guess the whole and main reason for 'origin' links to exist, as having this information in free-form part, i.e. in the commit message might lead to problems (with parsing and extracting, and finding spurious links). Hmmmm... I'm not sure about that. Unless of course one uses more complex merge strategy, which doesn't take into account only endpoints (branches to be merged and merge bases), but is also affected in some by history... How would git-rebase make use of 'origin' links. -- Jakub Narebski Poland ShadeHawk on #git -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
| Jeff Chua | 2.6.27rc1 cannot boot more than 8CPUs |
| Greg KH | [GIT PATCH] driver core patches against 2.6.24 |
| Winkler, Tomas | RE: iwlwifi: fix build bug in "iwlwifi: fix LED stall" |
| Evgeniy Polyakov | Re: [BUG] New Kernel Bugs |
git: | |
| David Miller | [GIT]: Networking |
| Gerrit Renker | [PATCH 15/37] dccp: Set per-connection CCIDs via socket options |
| Andrew Dickinson | tx queue hashing hot-spots and poor performance (multiq, ixgbe) |
| David Miller | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
