Re: How to create a new branch based on a tag?
- From
Junio C Hamano <junkio@cox.net>
- Date
- Oct 21, 2005, 05:08 UTC
- Message-ID
- <7vzmp3319v.fsf@assigned-by-dhcp.cox.net>
- In-Reply-To
- <4359161B.5000808@ust.hk>
Ben Lau <benlau@ust.hk> writes:
Show 5 quoted lines
>>The way you know is as good as it gets. v2.6.11-tree case is >>really an unfortunate special case. >> > What is wrong with the v2.6.11-tree? I just thought it is a duplicate tag > of v2.6.11.
They are not *wrong* per-se. They are tags to tree objects without any associated commit history -- that makes them inappropriate to be used as branch heads.
Linus or somebody authoritative could do:
$ commit=$(echo v2.6.11 | \
git-commit-tree c39ae07f393806ccf406ef966e9a15afc43cc36a)
$ git-tag -s -m 'v2.6.11 canonical "fake" commit' v2.6.11fake $commitand tell everybody interested to have:
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 xxxxxxxxxx
(where xxxxx... is the value of $commit above) in their info/grafts file. Then we *could* pretend that v2.6.12-rc2's parent is v2.6.11. You could branch off from v2.6.11fake commit and base your development, and later you could merge that into later development history (say, v2.6.14-rc5) if you wanted to.
If Linus does something like the above, the graft probably be better done between the current v2.6.12-rc2 based commit history and the corresponding commit in the history resurrected from BKCVS (torvalds/old-2.6-bkcvs.git). Then you could even base your development on top of v2.4.0 ;-).
Funnily, v2.6.12-rc2 commit in the current history and BKCVS v2.6.12-rc2 commit in the resurrected history have different tree IDs.
I am however not quite sure how useful the above would be, though. EVen between 2.6.11 and 2.6.12-rc2 much have happened, so unless the changes you are making apply to the part that did not change between those two, merge conflict resolution might be quite a chore.