{"thread":{"id":"2163","subject":"rsync update appears broken now","startedAt":"2005-10-20T12:47:42Z","lastAt":"2005-10-21T15:26:31Z","messageCount":21,"participants":["Randal L. Schwartz","Alex Riesen","Morten Welinder","Stephen C. Tweedie","Linus Torvalds","dave morgan","Junio C Hamano","Junio Hamano","Johannes Schindelin","Petr Baudis"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"10350","messageId":"86vezs9wy9.fsf@blue.stonehenge.com","threadId":"2163","inReplyTo":null,"subject":"rsync update appears broken now","fromName":"Randal L. Schwartz","fromEmail":"merlyn@stonehenge.com","sentAt":"2005-10-20T12:47:42Z","receivedAt":"2005-10-20T12:47:42Z","isPatch":false,"sender":{"key":"merlyn@stonehenge.com","avatar":"https://gravatar.com/avatar/dc528d210743ff0333e6213f9ee7b33b23f1b7bc1f3c5a8c2d819074ecd7ab19?d=mp&s=160"},"body":"\nDoing my daily git-pull now broke in this way (using yesterday's git version):\n\nsent 1196 bytes  received 155984 bytes  4555.94 bytes/sec\ntotal size is 4511741  speedup is 28.70\n* committish: 6e1c6c103c522d01829f3a63992a023ff031e851\n  branch 'master' of rsync://rsync.kernel.org/pub/scm/git/git\n* refs/heads/origin: does not fast forward to branch 'master' of rsync://rsync.kernel.org/pub/scm/git/git;\n  not updating.\nTrying really trivial in-index merge...\nfatal: Merge requires file-level merging\nNope.\nTrying simple merge.\nSimple merge failed, trying Automatic merge.\nAuto-merging fetch-pack.c.\nmerge: warning: conflicts during merge\nERROR: Merge conflict in fetch-pack.c.\nfatal: merge program failed\nAutomatic merge failed; fix up by hand\n\n\n-- \nRandal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095\n<merlyn@stonehenge.com> <URL:http://www.stonehenge.com/merlyn/>\nPerl/Unix/security consulting, Technical writing, Comedy, etc. etc.\nSee PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!\n"},{"id":"10351","messageId":"81b0412b0510200608l61c00ed0yd4dbc00c313665fe@mail.gmail.com","threadId":"2163","inReplyTo":"86vezs9wy9.fsf@blue.stonehenge.com","subject":"Re: rsync update appears broken now","fromName":"Alex Riesen","fromEmail":"raa.lkml@gmail.com","sentAt":"2005-10-20T13:08:51Z","receivedAt":"2005-10-20T13:08:51Z","isPatch":false,"sender":{"key":"raa.lkml@gmail.com","avatar":"https://avatars.githubusercontent.com/u/324101?v=4"},"body":"On 20 Oct 2005 05:47:42 -0700, Randal L. Schwartz <merlyn@stonehenge.com> wrote:\n>\n> Doing my daily git-pull now broke in this way (using yesterday's git version):\n>\n> sent 1196 bytes  received 155984 bytes  4555.94 bytes/sec\n> total size is 4511741  speedup is 28.70\n> * committish: 6e1c6c103c522d01829f3a63992a023ff031e851\n>   branch 'master' of rsync://rsync.kernel.org/pub/scm/git/git\n> * refs/heads/origin: does not fast forward to branch 'master' of rsync://rsync.kernel.org/pub/scm/git/git;\n>   not updating.\n> Trying really trivial in-index merge...\n> fatal: Merge requires file-level merging\n> Nope.\n> Trying simple merge.\n> Simple merge failed, trying Automatic merge.\n> Auto-merging fetch-pack.c.\n> merge: warning: conflicts during merge\n> ERROR: Merge conflict in fetch-pack.c.\n> fatal: merge program failed\n> Automatic merge failed; fix up by hand\n\nAbsolutely normal pull into a changed repository. Just fix the\nconflict (in fetch-pack.c, look for >>>), git-update-index the file\nand commit. Doesn't look like a problem at all.\n"},{"id":"10352","messageId":"86ek6g9t0a.fsf@blue.stonehenge.com","threadId":"2163","inReplyTo":"81b0412b0510200608l61c00ed0yd4dbc00c313665fe@mail.gmail.com","subject":"Re: rsync update appears broken now","fromName":"Randal L. Schwartz","fromEmail":"merlyn@stonehenge.com","sentAt":"2005-10-20T14:12:53Z","receivedAt":"2005-10-20T14:12:53Z","isPatch":false,"sender":{"key":"merlyn@stonehenge.com","avatar":"https://gravatar.com/avatar/dc528d210743ff0333e6213f9ee7b33b23f1b7bc1f3c5a8c2d819074ecd7ab19?d=mp&s=160"},"body":">>>>> \"Alex\" == Alex Riesen <raa.lkml@gmail.com> writes:\n\nAlex> Absolutely normal pull into a changed repository. Just fix the\nAlex> conflict (in fetch-pack.c, look for >>>), git-update-index the file\nAlex> and commit. Doesn't look like a problem at all.\n\nWhat do you mean \"changed repository\"?  This is my git image, and I'm\nnot working on git.  I made no changes.\n\nThus, something broken?\n\n-- \nRandal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095\n<merlyn@stonehenge.com> <URL:http://www.stonehenge.com/merlyn/>\nPerl/Unix/security consulting, Technical writing, Comedy, etc. etc.\nSee PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!\n"},{"id":"10353","messageId":"118833cc0510200715x2a17dcbfs53c824435b7381e3@mail.gmail.com","threadId":"2163","inReplyTo":"86vezs9wy9.fsf@blue.stonehenge.com","subject":"Re: rsync update appears broken now","fromName":"Morten Welinder","fromEmail":"mwelinder@gmail.com","sentAt":"2005-10-20T14:15:58Z","receivedAt":"2005-10-20T14:15:58Z","isPatch":false,"sender":{"key":"mwelinder@gmail.com","avatar":null},"body":"I see the very same with an http pull.\n\nMorten\n"},{"id":"10354","messageId":"81b0412b0510200724h76dc8457tb5320a644a5ef260@mail.gmail.com","threadId":"2163","inReplyTo":"86ek6g9t0a.fsf@blue.stonehenge.com","subject":"Re: rsync update appears broken now","fromName":"Alex Riesen","fromEmail":"raa.lkml@gmail.com","sentAt":"2005-10-20T14:24:42Z","receivedAt":"2005-10-20T14:24:42Z","isPatch":false,"sender":{"key":"raa.lkml@gmail.com","avatar":"https://avatars.githubusercontent.com/u/324101?v=4"},"body":"On 20 Oct 2005 07:12:53 -0700, Randal L. Schwartz <merlyn@stonehenge.com> wrote:\n> Alex> Absolutely normal pull into a changed repository. Just fix the\n> Alex> conflict (in fetch-pack.c, look for >>>), git-update-index the file\n> Alex> and commit. Doesn't look like a problem at all.\n>\n> What do you mean \"changed repository\"?  This is my git image, and I'm\n> not working on git.  I made no changes.\n>\n> Thus, something broken?\n>\n\nNot necessarily (I see this every morning, but I know precisely I\ntouched the sources).\nMaybe local damage? What does git-status show?\n"},{"id":"10355","messageId":"1129820581.3298.7.camel@orbit.scot.redhat.com","threadId":"2163","inReplyTo":"86vezs9wy9.fsf@blue.stonehenge.com","subject":"Re: rsync update appears broken now","fromName":"Stephen C. Tweedie","fromEmail":"sct@redhat.com","sentAt":"2005-10-20T15:03:00Z","receivedAt":"2005-10-20T15:03:00Z","isPatch":false,"sender":{"key":"sct@redhat.com","avatar":null},"body":"Hi,\n\nOn Thu, 2005-10-20 at 05:47 -0700, Randal L. Schwartz wrote:\n> Doing my daily git-pull now broke in this way (using yesterday's git version):\n> ...\n> * committish: 6e1c6c103c522d01829f3a63992a023ff031e851\n>   branch 'master' of rsync://rsync.kernel.org/pub/scm/git/git\n> * refs/heads/origin: does not fast forward to branch 'master' of rsync://rsync.kernel.org/pub/scm/git/git;\n>   not updating.\n\nSeen here too.  My HEAD and HEAD^ as of yesterday's pull was:\n\ncommit ea5a65a59916503d2a14369c46b1023384d51645\nAuthor: Junio C Hamano <junkio@cox.net>\nDate:   Tue Oct 18 18:42:19 2005 -0700\n\n    Do not ask for objects known to be complete.\n\n    On top of optimization by Linus not to ask refs that already match, we\n    can walk our refs and not issue \"want\" for things that are known to be\n    reachable from them.\n\n    Signed-off-by: Junio C Hamano <junkio@cox.net>\n\ncommit f8765797a41a39f4dfc7030098c38283e6461a83\nAuthor: Junio C Hamano <junkio@cox.net>\nDate:   Tue Oct 18 18:42:14 2005 -0700\n\n    Even when overwriting tags, report if they are changed or not.\n\n    Signed-off-by: Junio C Hamano <junkio@cox.net>\n\nToday, looking at git-web I can see that that HEAD^ commit is still\nthere, but yesterday's HEAD is simply not in the commit chain any more:\nthere are a couple of other commits and then the \"Do not ask for objects\nknown to be complete\" commit appears with SHA\n49bb805e69f97e75472e54a68e9eb24e08dee011.\n\nSomebody broke this by rsyncing a non-superset tree to kernel.org,\nmaybe?\n\n\"git reset --hard HEAD^\" got rid of the missing HEAD commit and allowed\nme to pull from the new commit chain, but that really shouldn't be\nnecessary.\n\n--Stephen\n"},{"id":"10365","messageId":"Pine.LNX.4.64.0510201038320.3369@g5.osdl.org","threadId":"2163","inReplyTo":"81b0412b0510200608l61c00ed0yd4dbc00c313665fe@mail.gmail.com","subject":"Re: rsync update appears broken now","fromName":"Linus Torvalds","fromEmail":"torvalds@osdl.org","sentAt":"2005-10-20T17:48:46Z","receivedAt":"2005-10-20T17:48:46Z","isPatch":false,"sender":{"key":"torvalds@linux-foundation.org","avatar":"https://avatars.githubusercontent.com/u/1024025?v=4"},"body":"\n\nOn Thu, 20 Oct 2005, Alex Riesen wrote:\n> \n> Absolutely normal pull into a changed repository. Just fix the\n> conflict (in fetch-pack.c, look for >>>), git-update-index the file\n> and commit. Doesn't look like a problem at all.\n\nNo, that's wrong.\n\nThe fact is, Junio has screwed up his repository, and if you merge, you'll \nnever have something that matches _his_ repository.\n\nTo fix this, _Junio_ needs to fix his repository.\n\nFor those of us who have a separate branch to track the original (I call \nmine \"parent), this tells the story:\n\n\t* refs/heads/parent: does not fast forward to branch 'master' of master.kernel.org:/pub/scm/git/git;\n\t  not updating.\n\nIOW, it looks like Junio has screwed up his \"master\" branch on kernel.org \nand it no longer contains what it used to contain (and this is not a \nmirroring problem - I'm using \"master.kernel.org\" with no mirrors in \nbetween).\n\nDoing a\n\n\tgit fetch parent master:new-junio\n\nfollowed by a\n\n\tgitk parent new-junio\n\nshows that Junio seems to have re-based his \"master\" branch by removing \nhis old top-most entry, and restarted the \"master\" branch, which is wrong, \nwrong, wrong.\n\nJunio, please don't do that. It really screws people up. Now people can't \nfetch your head any more, and can't track you, because your branch isn't \nstable any more. I know you're very used to doing so in your \"pu\" branch, \nbut it's _wrong_. It's wrong in \"pu\" too, but at least there you have an \nexcuse.\n\nReparenting things is ok in _private_ branches, but it's not ok in public \nones, since _others_ will have worked or at least downloaded the previous \nstate.\n\nThe fact is, \"distributed\" fundamentally means \"mistakes cannot be \nundone\". Mistakes have to be _fixed_, not removed. Because the mistakes \nhave already percolated to others.\n\n\t\t\tLinus\n"},{"id":"10366","messageId":"aomfl115b28jajpuspik2es90qhlr9dtdg@4ax.com","threadId":"2163","inReplyTo":"118833cc0510200715x2a17dcbfs53c824435b7381e3@mail.gmail.com","subject":"Re: rsync update appears broken now","fromName":"dave morgan","fromEmail":"morgad@eclipse.co.uk","sentAt":"2005-10-20T18:03:51Z","receivedAt":"2005-10-20T18:03:51Z","isPatch":false,"sender":{"key":"morgad@eclipse.co.uk","avatar":null},"body":"On Thu, 20 Oct 2005 10:15:58 -0400, Morten Welinder\n<mwelinder@gmail.com> wrote:\n\n>I see the very same with an http pull.\n>\n>Morten\n>-\n>To unsubscribe from this list: send the line \"unsubscribe git\" in\n>the body of a message to majordomo@vger.kernel.org\n>More majordomo info at  http://vger.kernel.org/majordomo-info.html\n\nI got the same with a git:// update\n\norigin  git://git.kernel.org/pub/scm/git/git.git\t\n\ndavid@tower2:~/git$ cg-update\nUp to date.\n\nApplying changes...\nMerging f8765797a41a39f4dfc7030098c38283e6461a83 ->\n6e1c6c103c522d01829f3a63992a023ff031e851\n        to ea5a65a59916503d2a14369c46b1023384d51645...\n... Auto-merging fetch-pack.c\nmerge: warning: conflicts during merge\n\n        Conflicts during merge. Do cg-commit after resolving them.\n\nhere is status after pull\ndavid@tower2:~/git$ cg-status\nHeads:\n   >master      ea5a65a59916503d2a14369c46b1023384d51645\n  R origin      6e1c6c103c522d01829f3a63992a023ff031e851\n\n? git-build-rev-cache\n? git-checkout-cache\n? git-convert-cache\n? git-diff-cache\n? git-diff-helper\n? git-export\n? git-fsck-cache\n? git-http-pull\n? git-local-pull\n? git-merge-cache\n? git-rev-tree\n? git-show-rev-cache\n? git-update-cache\n\nDave\n"},{"id":"10371","messageId":"loom.20051020T220751-355@post.gmane.org","threadId":"2163","inReplyTo":"Pine.LNX.4.64.0510201038320.3369@g5.osdl.org","subject":"Re: rsync update appears broken now","fromName":"Junio C Hamano","fromEmail":"junkio@twinsun.com","sentAt":"2005-10-20T20:48:42Z","receivedAt":"2005-10-20T20:48:42Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Linus Torvalds <torvalds <at> osdl.org> writes:\n\n> For those of us who have a separate branch to track the original (I call \n> mine \"parent), this tells the story:\n> \n> \t* refs/heads/parent: does not fast forward to branch 'master' of\nmaster.kernel.org:/pub/scm/git/git;\n> \t  not updating.\n\nYes, I screwed up.  One honest mistake and another stupid one.\n\nNote that \"those of us\" above include everybody who did \"git-clone\" to\nset up the repository and left the default \"Pull: master:origin\" line in\n.git/refs/remotes/origin.\n\n> Junio, please don't do that. It really screws people up. Now people can't \n> fetch your head any more, and can't track you, because your branch isn't \n> stable any more.\n\nSorry, and yes that was the \"honest mistake\" part.  I know I should never\nrewind beyond what I already have pushed out, and usually I carefully follow\nthat rule.\n\nBut this time I forgot that I pushed something out and also failed to re-check\nwhat I pushed out before rewinding (the check is done by fetching from\nmaster.kernel.org myself).\n\nAnd another stupid mistake part was when I pushed out the result.  send-pack\ncorrectly refused to update the master side, but I forced it without much\nthinking.\n\nSorry about these mistakes.\n\nHaving said that, all is not lost.  Your message made it sound like the\nnew head was completely re-rooted and there is no common commit (which\nalmost gave me a heart attack), but I do not think it is that bad.  It is\nmore like pulling from two places.\n\n               -----(A) head merlyn and everybody\n             /          pulled from kernel.org previously\n  --- common ------------------------------------(B) head rebased and pushed\n                                                     out by mistake\n\nThe \"parent\" head you described in your message is A above, and what is on\nkernel.org is B.  A is known as \"origin\" in the default setup git-clone makes.\n\nIf you have *no* further development on top of (A), the recovery is simple.\n\n   $ git checkout master ;# make sure you are on your \"master\" branch.\n   $ git fetch origin +master:origin ;# force \"origin\" to be (B)\n   $ git reset --hard origin ;# reset your \"master\" branch to (B)\n\nIf you had any further development on top of (A), then the graph would look\nlike:\n               -----(A)---------------(X) your tip\n             /\n  --- common ----------------------(B)\n\nThe merge conflict message you got when you pulled is result of trying to\nmerge (X) and (B).\n\nThere are two things we could do.\n\nOne is to forward port your changes between (A) and (X) on top of (B):\n\n   $ git checkout master ;# make sure you are on your \"master\" branch.\n   $ git tag anchor-a origin ;# stash (A) away\n   $ git fetch origin +master:origin ;# force \"origin\" to be (B)\n   $ git checkout -b rescue-stupid-junio origin\n   $ rm -fr .dotest\n   $ git format-patch -k --stdout anchor-a..master | git am -k -3\n\nDepending on the changes between A and X, forward porting may result in\nconflicting/unapplicable patches.  The individual changes are found in\n.dotest/ directory and you can re-run 'git am -i' after fixing up the\nconflicts.\n\nThen validate the tip of the result to make sure forward porting did not lose\nyour changes:\n\n   $ git diff origin..rescue-stupid-junio\n\nIf the result look OK, then we can make this your master branch.\n\n   $ git checkout master\n   $ git reset --hard rescue-stupid-junio\n\nand clean things up by\n\n   $ rm -f .git/refs/tags/anchor-a\n   $ git branch -d rescue-stupid-junio\n\nAnother thing we could do is to treat as if this stupid maintainer briefly\nhad a twin who did concurrent development, and merge (X) and (B).\n\n   $ git checkout master\n   $ git pull origin +master:origin\n\nThis, as Merlyn and you saw, probably would result in merge conflicts which\nneed to be resolved manually.\n\nUnfortunately I do not have access right now to commits between \"common\" and\n(A) in the above picture (I am at work), so I cannot try any of the above out\nmyself.\n"},{"id":"10374","messageId":"Pine.LNX.4.64.0510201432260.10477@g5.osdl.org","threadId":"2163","inReplyTo":"loom.20051020T220751-355@post.gmane.org","subject":"Re: rsync update appears broken now","fromName":"Linus Torvalds","fromEmail":"torvalds@osdl.org","sentAt":"2005-10-20T21:32:44Z","receivedAt":"2005-10-20T21:32:44Z","isPatch":false,"sender":{"key":"torvalds@linux-foundation.org","avatar":"https://avatars.githubusercontent.com/u/1024025?v=4"},"body":"\n\nOn Thu, 20 Oct 2005, Junio C Hamano wrote:\n> \n> Having said that, all is not lost.  Your message made it sound like the\n> new head was completely re-rooted and there is no common commit (which\n> almost gave me a heart attack), but I do not think it is that bad.  It is\n> more like pulling from two places.\n\nNo. \n\nWhat you _must_ do to fix things up is that _you_ merge your current head \nwith your old head, and then you push out the result.\n\nAt that point:\n\n>                -----(A) head merlyn and everybody\n>              /          pulled from kernel.org previously\n>   --- common ------------------------------------(B) head rebased and pushed\n>                                                      out by mistake\n\nYou should have a (C) that is the merge of both A and B (or a later \ncommit, if you have other commits merged).\n\nNow you can push out that merge, and everybody will be happy again: \nthey'll see somethign that is a proper superset of whichever HEAD they \nhappened to pull.\n\nDon't make everybody else try to fix up your mistakes for you. It's easy \nenough for you to just fix it up, and everybody else can just pull.\n\nOf course, anybody who did a pull and then did the merge by hand will \nalways have their own private merge, and they should probably just undo \nthat. But undoing _private_ stuff is ok.\n\n\t\tLinus\n"},{"id":"10378","messageId":"7vek6f220h.fsf@arte.twinsun.com","threadId":"2163","inReplyTo":"Pine.LNX.4.64.0510201432260.10477@g5.osdl.org","subject":"Re: rsync update appears broken now","fromName":"Junio Hamano","fromEmail":"junio@twinsun.com","sentAt":"2005-10-20T23:37:50Z","receivedAt":"2005-10-20T23:37:50Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Linus Torvalds <torvalds@osdl.org> writes:\n\n> What you _must_ do to fix things up is that _you_ merge your current head \n> with your old head, and then you push out the result.\n\nYes.  That is what I will do when able (not right now).\n\nI posted a workaround because I am at work and I do not have\naccess to kernel.org machine from here, and I did not pull\nyesterday at work so I do not have an access to that lost side\nbranch until later today (I think I still have it in my private\nrepo, either on my home machine or my ~/git on hera).\n\n> At that point:\n>\n>>                -----(A) head merlyn and everybody\n>>              /          pulled from kernel.org previously\n>>   --- common ------------------------------------(B) head rebased and pushed\n>>                                                      out by mistake\n\nMind telling me the (A) commit ID if you know it?\n"},{"id":"10379","messageId":"Pine.LNX.4.63.0510210140400.12723@wbgn013.biozentrum.uni-wuerzburg.de","threadId":"2163","inReplyTo":"7vek6f220h.fsf@arte.twinsun.com","subject":"Re: rsync update appears broken now","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2005-10-20T23:41:48Z","receivedAt":"2005-10-20T23:41:48Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Thu, 20 Oct 2005, Junio Hamano wrote:\n\n> > At that point:\n> >\n> >>                -----(A) head merlyn and everybody\n> >>              /          pulled from kernel.org previously\n> >>   --- common ------------------------------------(B) head rebased and pushed\n> >>                                                      out by mistake\n> \n> Mind telling me the (A) commit ID if you know it?\n\nea5a65a59916503d2a14369c46b1023384d51645\n\nAlso, people having merged with (A) would not have to undo that merge as \nwas suggested. The new (C) commit would contain the revert of (A).\n\nCiao,\nDscho\n"},{"id":"10380","messageId":"Pine.LNX.4.64.0510201645450.10477@g5.osdl.org","threadId":"2163","inReplyTo":"7vek6f220h.fsf@arte.twinsun.com","subject":"Re: rsync update appears broken now","fromName":"Linus Torvalds","fromEmail":"torvalds@osdl.org","sentAt":"2005-10-20T23:47:17Z","receivedAt":"2005-10-20T23:47:17Z","isPatch":false,"sender":{"key":"torvalds@linux-foundation.org","avatar":"https://avatars.githubusercontent.com/u/1024025?v=4"},"body":"\n\nOn Thu, 20 Oct 2005, Junio Hamano wrote:\n> \n> Mind telling me the (A) commit ID if you know it?\n\nThe latest one I have is ea5a65a59916503d2a14369c46b1023384d51645, but if \nyou had more pushed out at some point that I just didn't happen to pick \nup, that may not be the top-most (A).\n\n\t\tLinus\n"},{"id":"10381","messageId":"Pine.LNX.4.64.0510201647490.10477@g5.osdl.org","threadId":"2163","inReplyTo":"Pine.LNX.4.63.0510210140400.12723@wbgn013.biozentrum.uni-wuerzburg.de","subject":"Re: rsync update appears broken now","fromName":"Linus Torvalds","fromEmail":"torvalds@osdl.org","sentAt":"2005-10-20T23:49:21Z","receivedAt":"2005-10-20T23:49:21Z","isPatch":false,"sender":{"key":"torvalds@linux-foundation.org","avatar":"https://avatars.githubusercontent.com/u/1024025?v=4"},"body":"\n\nOn Fri, 21 Oct 2005, Johannes Schindelin wrote:\n> \n> Also, people having merged with (A) would not have to undo that merge as \n> was suggested. The new (C) commit would contain the revert of (A).\n\nOh, they'll need to revert if they want to match Junios history. Otherwise \nthey'll always generate yet another merge when they pull.\n\nDoesn't matter that the _tree_ state may be the same, the only thing that \nmatters is that their history will be different, and thus they will never \nbe able to fast-forwared to Junio's tree unless they revert their local \nmerge.\n\n\t\tLinus\n"},{"id":"10382","messageId":"Pine.LNX.4.63.0510210157070.14563@wbgn013.biozentrum.uni-wuerzburg.de","threadId":"2163","inReplyTo":"Pine.LNX.4.64.0510201647490.10477@g5.osdl.org","subject":"Re: rsync update appears broken now","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2005-10-21T00:01:15Z","receivedAt":"2005-10-21T00:01:15Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Thu, 20 Oct 2005, Linus Torvalds wrote:\n\n> On Fri, 21 Oct 2005, Johannes Schindelin wrote:\n> > \n> > Also, people having merged with (A) would not have to undo that merge as \n> > was suggested. The new (C) commit would contain the revert of (A).\n> \n> Oh, they'll need to revert if they want to match Junios history. Otherwise \n> they'll always generate yet another merge when they pull.\n\nSo?\n\n> Doesn't matter that the _tree_ state may be the same, the only thing that \n> matters is that their history will be different, and thus they will never \n> be able to fast-forwared to Junio's tree unless they revert their local \n> merge.\n\nIt does not have to be a fast-forward. After all, what is another merge? \nSince that merge does not have Junio as committer, close inspection of \nthe commit will reveal that.\n\nOf course, if you did not have local changes and merged, you might want to \ndo a clean \"git-fetch kernel.org +master:parent\".\n\nSo, no need for a revert.\n\nCiao,\nDscho\n"},{"id":"10384","messageId":"Pine.LNX.4.64.0510201717100.10477@g5.osdl.org","threadId":"2163","inReplyTo":"Pine.LNX.4.63.0510210157070.14563@wbgn013.biozentrum.uni-wuerzburg.de","subject":"Re: rsync update appears broken now","fromName":"Linus Torvalds","fromEmail":"torvalds@osdl.org","sentAt":"2005-10-21T00:19:42Z","receivedAt":"2005-10-21T00:19:42Z","isPatch":false,"sender":{"key":"torvalds@linux-foundation.org","avatar":"https://avatars.githubusercontent.com/u/1024025?v=4"},"body":"\n\nOn Fri, 21 Oct 2005, Johannes Schindelin wrote:\n> > \n> > Oh, they'll need to revert if they want to match Junios history. Otherwise \n> > they'll always generate yet another merge when they pull.\n> \n> So?\n\nHistory matters. History matters as much as the data does.\n\n> It does not have to be a fast-forward. After all, what is another merge? \n> Since that merge does not have Junio as committer, close inspection of \n> the commit will reveal that.\n\nIt _does_ have to be a fast-forward, if you expect the tree to have the \nsame content as Junio's.\n\nEven if it merges everything automatically, if the history is different, \nit could in theory at least merge _differently_ than what Junio had. Plus \nyou'll have a really ugly version history for no good reason.\n\nBut yes, it will _work_. It just won't work the way people expect it to, \nso they'll make bug-reports about not being able to merge automatically, \nand others will say that they can't re-create it and blame the wrong \nperson.\n\n\t\tLinus\n"},{"id":"10388","messageId":"loom.20051021T022509-63@post.gmane.org","threadId":"2163","inReplyTo":"Pine.LNX.4.64.0510201645450.10477@g5.osdl.org","subject":"Re: rsync update appears broken now","fromName":"Junio C Hamano","fromEmail":"junkio@twinsun.com","sentAt":"2005-10-21T00:26:52Z","receivedAt":"2005-10-21T00:26:52Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Linus Torvalds <torvalds <at> osdl.org> writes:\n\n> The latest one I have is ea5a65a59916503d2a14369c46b1023384d51645, but if \n> you had more pushed out at some point that I just didn't happen to pick \n> up, that may not be the top-most (A).\n\nI am reasonably sure that the screw-up was only rewinding one commit too much.\nI've done the merge so things should look better once mirrors catch up.\n\nThanks for your help.\n"},{"id":"10389","messageId":"20051021003449.GZ30889@pasky.or.cz","threadId":"2163","inReplyTo":"Pine.LNX.4.64.0510201717100.10477@g5.osdl.org","subject":"Re: rsync update appears broken now","fromName":"Petr Baudis","fromEmail":"pasky@suse.cz","sentAt":"2005-10-21T00:34:49Z","receivedAt":"2005-10-21T00:34:49Z","isPatch":false,"sender":{"key":"pasky@ucw.cz","avatar":"https://avatars.githubusercontent.com/u/18439?v=4"},"body":"Dear diary, on Fri, Oct 21, 2005 at 02:19:42AM CEST, I got a letter\nwhere Linus Torvalds <torvalds@osdl.org> told me that...\n> On Fri, 21 Oct 2005, Johannes Schindelin wrote:\n> > It does not have to be a fast-forward. After all, what is another merge? \n> > Since that merge does not have Junio as committer, close inspection of \n> > the commit will reveal that.\n> \n> It _does_ have to be a fast-forward, if you expect the tree to have the \n> same content as Junio's.\n> \n> Even if it merges everything automatically, if the history is different, \n> it could in theory at least merge _differently_ than what Junio had. Plus \n> you'll have a really ugly version history for no good reason.\n\nAnd if Junio will want to merge with many of those people, you will\nbetter have to get a dualhead for your gitk.\n\n-- \n\t\t\t\tPetr \"Pasky\" Baudis\nStuff: http://pasky.or.cz/\nVI has two modes: the one in which it beeps and the one in which\nit doesn't.\n"},{"id":"10393","messageId":"Pine.LNX.4.64.0510201752050.10477@g5.osdl.org","threadId":"2163","inReplyTo":"loom.20051021T022509-63@post.gmane.org","subject":"Re: rsync update appears broken now","fromName":"Linus Torvalds","fromEmail":"torvalds@osdl.org","sentAt":"2005-10-21T00:52:29Z","receivedAt":"2005-10-21T00:52:29Z","isPatch":false,"sender":{"key":"torvalds@linux-foundation.org","avatar":"https://avatars.githubusercontent.com/u/1024025?v=4"},"body":"\n\nOn Fri, 21 Oct 2005, Junio C Hamano wrote:\n> \n> I am reasonably sure that the screw-up was only rewinding one commit too much.\n> I've done the merge so things should look better once mirrors catch up.\n\nYup, works at least for me. Thx,\n\n\t\tLinus\n"},{"id":"10425","messageId":"861x2fdloj.fsf@blue.stonehenge.com","threadId":"2163","inReplyTo":"Pine.LNX.4.64.0510201752050.10477@g5.osdl.org","subject":"Re: rsync update appears broken now","fromName":"Randal L. Schwartz","fromEmail":"merlyn@stonehenge.com","sentAt":"2005-10-21T13:49:48Z","receivedAt":"2005-10-21T13:49:48Z","isPatch":false,"sender":{"key":"merlyn@stonehenge.com","avatar":"https://gravatar.com/avatar/dc528d210743ff0333e6213f9ee7b33b23f1b7bc1f3c5a8c2d819074ecd7ab19?d=mp&s=160"},"body":">>>>> \"Linus\" == Linus Torvalds <torvalds@osdl.org> writes:\n\nLinus> On Fri, 21 Oct 2005, Junio C Hamano wrote:\n>> \n>> I am reasonably sure that the screw-up was only rewinding one commit too much.\n>> I've done the merge so things should look better once mirrors catch up.\n\nLinus> Yup, works at least for me. Thx,\n\nDoesn't yet work for me.  What do I need to do now?\n\n    * committish: 4ae22d96fe9248dac4f26b1fc91154ba5e879799\n      branch 'master' of rsync://rsync.kernel.org/pub/scm/git/git\n    * refs/heads/origin: same as branch 'master' of rsync://rsync.kernel.org/pub/scm/git/git\n    Updating from ea5a65a59916503d2a14369c46b1023384d51645 to 4ae22d96fe9248dac4f26b1fc91154ba5e879799.\n    fetch-pack.c: needs update\n    fatal: Entry 'daemon.c' would be overwritten by merge. Cannot merge.\n\n-- \nRandal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095\n<merlyn@stonehenge.com> <URL:http://www.stonehenge.com/merlyn/>\nPerl/Unix/security consulting, Technical writing, Comedy, etc. etc.\nSee PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!\n"},{"id":"10428","messageId":"Pine.LNX.4.64.0510210822380.10477@g5.osdl.org","threadId":"2163","inReplyTo":"861x2fdloj.fsf@blue.stonehenge.com","subject":"Re: rsync update appears broken now","fromName":"Linus Torvalds","fromEmail":"torvalds@osdl.org","sentAt":"2005-10-21T15:26:31Z","receivedAt":"2005-10-21T15:26:31Z","isPatch":false,"sender":{"key":"torvalds@linux-foundation.org","avatar":"https://avatars.githubusercontent.com/u/1024025?v=4"},"body":"\n\nOn Fri, 21 Oct 2005, Randal L. Schwartz wrote:\n> \n> Doesn't yet work for me.  What do I need to do now?\n> \n>     * committish: 4ae22d96fe9248dac4f26b1fc91154ba5e879799\n>       branch 'master' of rsync://rsync.kernel.org/pub/scm/git/git\n>     * refs/heads/origin: same as branch 'master' of rsync://rsync.kernel.org/pub/scm/git/git\n>     Updating from ea5a65a59916503d2a14369c46b1023384d51645 to 4ae22d96fe9248dac4f26b1fc91154ba5e879799.\n>     fetch-pack.c: needs update\n\nYour previous failed pull had left the unfinished merge around, so now \nwhen you try to pull and it tries to update, it can't. \n\nDo a \n\n\tgit checkout -f\n\nfirst to reset your tree to your old HEAD, and then try again. It should \nwork then.\n\n(Or do \"git reset --hard\", which should end up doing the same thing)\n\n\t\tLinus\n"}]}