{"thread":{"id":"2874","subject":"RE: new file leaked onto release branch","startedAt":"2005-12-19T03:21:53Z","lastAt":"2005-12-19T09:16:05Z","messageCount":2,"participants":["Brown, Len","Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"13797","messageId":"F7DC2337C7631D4386A2DF6E8FB22B30056F9395@hdsmsx401.amr.corp.intel.com","threadId":"2874","inReplyTo":null,"subject":"RE: new file leaked onto release branch","fromName":"Brown, Len","fromEmail":"len.brown@intel.com","sentAt":"2005-12-19T03:21:53Z","receivedAt":"2005-12-19T03:21:53Z","isPatch":false,"sender":{"key":"len.brown@intel.com","avatar":"https://gravatar.com/avatar/a091f34f66caadb51d85a8a496800c6ccae73737e2f45762373e6b8c55fa5dd6?d=mp&s=160"},"body":" \n>This theory however does not seem to match what really happened.\n>Len did mention that he has \"5165\" branch (there is a commit\n>marked \"Pull 5165 into release branch\" near a problematic\n>merge), but he did not say he also has a 5165 tag; the bug does\n>not trigger if you do not have the tag of the same name.  Also\n>if this theory holds true, the problematic commit should have a\n>commit whose object name begins with 5165 as the second parent\n>but that is not the case.  And the problem happened with a\n>commit that is not a merge between release/test and topic\n>branch anyway; it is with an \"Auto-update from upstream\" commit.\n\nPer Tony's topic-branches howto, I do plenty of branching,\nwhere the topic branch name , #### below , is a 4-digit number:\n\ngit checkout -b #### linus\n\nand I use the wrapper script to do this:\n\ngit checkout test && git merge \"Pull #### into test branch\" test ####\ngit checkout release && git merge \"Pull #### into release branch\" release ####\n\n\nBut\n1. I don't create tags with #### names, indeed, I never use tags at all\n2. I agree that while #### names may be an area of a potential\n   problem, it may not be related to the observed failure.  This is\n   because the file in question was added to to a topic branch called \"acpica\"\n   which IIR never interacted in any way with a branched named ####,\n   but only with the branches called \"linus\" and \"test\".\n\n>So I am still puzzled by the \"where did this file come from\"\n>problem.  The most plausible explanation was the driver error\n>mentioned already in the thread: \"update-index --add\" in the\n>middle of merge with manual committing.\n\nI too suspect that a failed automatic merge is related.\nLikely the sequence of events is not something that either\na git expert or a git beginner would ever issue, but takes\nsomebody like me who knows just enough to be dangerous:-)\n\n-Len\n"},{"id":"13808","messageId":"7vvexlh2ga.fsf@assigned-by-dhcp.cox.net","threadId":"2874","inReplyTo":"F7DC2337C7631D4386A2DF6E8FB22B30056F9395@hdsmsx401.amr.corp.intel.com","subject":"Re: new file leaked onto release branch","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2005-12-19T09:16:05Z","receivedAt":"2005-12-19T09:16:05Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Brown, Len\" <len.brown@intel.com> writes:\n\n> 2. I agree that while #### names may be an area of a potential\n>    problem, it may not be related to the observed failure.\n\nI made it a potential problem by mistake and left it so for a\ncouple of weeks, but there was no reason for #### names to be a\nproblem.  Even when #### is a unique prefix of a valid object\nname, if you have .git/refs/heads/#### branch, that should be\nthe one that takes precedence over a random object name, and\nthat is what the fixed code does.  Sorry about the earlier\nbreakage.\n\nJust please keep in mind that the search order is \"tags then\nheads\" (see sha1_name.c::get_sha1_basic()::prefix[]), so if you\nhappen to have #### branch *and* tag then you will be merging\nthe tag with this:\n\n> git checkout test && git merge \"Pull #### into test branch\" test ####\n\nIf the git.merge wrapper you posted earlier is always used to\npull a topic branch, it might be safer to update it to do:\n\n\tgit checkout \"$2\" &&\n        git merge \"Pull $1 into $2 branch\" HEAD \"refs/heads/$1\"\n\nto disambiguate.\n"}]}