{"thread":{"id":"17670","subject":"git fast-export issue -- anyone know if this is a bug or a feature?","startedAt":"2009-02-09T05:31:50Z","lastAt":"2009-02-11T06:12:08Z","messageCount":4,"participants":["Elijah Newren","Johannes Schindelin"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"103815","messageId":"51419b2c0902082131o512e966l1fb3029c7513b02e@mail.gmail.com","threadId":"17670","inReplyTo":null,"subject":"git fast-export issue -- anyone know if this is a bug or a feature?","fromName":"Elijah Newren","fromEmail":"newren@gmail.com","sentAt":"2009-02-09T05:31:50Z","receivedAt":"2009-02-09T05:31:50Z","isPatch":false,"sender":{"key":"newren@gmail.com","avatar":"https://avatars.githubusercontent.com/u/5455730?v=4"},"body":"Hi,\n\nThe git-fast-export manpage, under the first example, says that\n$ git fast-export --all | (cd /empty/repository && git fast-import)\nshould create a one-to-one mirror of the source repository (other than\nreencoding commits that are not in UTF-8).\n\nEither I am misunderstanding this comment, or it's not quite true:\nwhile I've gotten identical mirrors using this recipe with most\nrepositories I have tried, I have one which shows some changes under\nthis process.  The changes I noticed are that, for example, the master\nbranch has fewer commits in the \"mirrored\" repository than the source\none, and that the history of commits has changed. (The content at the\nheads of all branches do match, so the changes seem restricted to the\nhistory of obtaining that content).  Unfortunately, (a) this\nrepository is pretty unwieldy, (b) I can't share it, and (c) it's\ndefied my attempts so far to find a small reproducible testcase.\nHowever, from what I have found, it looks like this could be a\nfeature, because I actually like one of the changes I noticed so far.\n\nThe \"source\" repository is one that has been created by cvs2git (which\noperated on a franken cvs repository munged together from lots of\ndifferent places; I'm running git-fast-export & git-fast-import based\non it since I want to do some extra changes outside of cvs2git).  In\nthe source repository, I noticed that 6 of the earliest commits in one\nroot of history looked like:\n\n     /--E\n    /  /\nA--C--D\n  /\n B\n\nIn the \"mirrored\" repository, I notice this history had been modified\nso that it looked like\n\n        E\n       /\nA--C--D\n  /\n B\n\nThe latter history seems much more sane to me; since D is a child of\nC, making E a merge of C and D seemed really weird.  I did pour over\nthe output of git fast-export --all to see if the merge directives\nwere as expected, in order to see whether git fast-export or git\nfast-import were to be credited with the history fix.  It looks to me\nlike git-fast-export reports no merge parents for E, so this seems to\nbe on the fast-export side.\n\nIs this, by chance, intentional?  (I'm using git-1.6.0.6, if it matters.)\n\nThanks,\nElijah\n"},{"id":"103833","messageId":"alpine.DEB.1.00.0902091216220.10279@pacific.mpi-cbg.de","threadId":"17670","inReplyTo":"51419b2c0902082131o512e966l1fb3029c7513b02e@mail.gmail.com","subject":"Re: git fast-export issue -- anyone know if this is a bug or a feature?","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2009-02-09T11:17:42Z","receivedAt":"2009-02-09T11:17:42Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Sun, 8 Feb 2009, Elijah Newren wrote:\n\n> In the source repository, I noticed that 6 of the earliest commits in \n> one root of history looked like:\n> \n>      /--E\n>     /  /\n> A--C--D\n>   /\n>  B\n> \n> In the \"mirrored\" repository, I notice this history had been modified\n> so that it looked like\n> \n>         E\n>        /\n> A--C--D\n>   /\n>  B\n> \n> The latter history seems much more sane to me; since D is a child of\n> C, making E a merge of C and D seemed really weird.  I did pour over\n> the output of git fast-export --all to see if the merge directives\n> were as expected, in order to see whether git fast-export or git\n> fast-import were to be credited with the history fix.  It looks to me\n> like git-fast-export reports no merge parents for E, so this seems to\n> be on the fast-export side.\n> \n> Is this, by chance, intentional?  (I'm using git-1.6.0.6, if it matters.)\n\nNope.\n\nPlease try to make a reproduction recipe (preferably as a patch to t9301); \nit seems that you are half-way there already.\n\nThanks,\nDscho\n"},{"id":"103843","messageId":"51419b2c0902090615q55126245k5d8962ebca5894c3@mail.gmail.com","threadId":"17670","inReplyTo":"alpine.DEB.1.00.0902091216220.10279@pacific.mpi-cbg.de","subject":"Re: git fast-export issue -- anyone know if this is a bug or a feature?","fromName":"Elijah Newren","fromEmail":"newren@gmail.com","sentAt":"2009-02-09T14:15:21Z","receivedAt":"2009-02-09T14:15:21Z","isPatch":false,"sender":{"key":"newren@gmail.com","avatar":"https://avatars.githubusercontent.com/u/5455730?v=4"},"body":"On Mon, Feb 9, 2009 at 4:17 AM, Johannes Schindelin\n<Johannes.Schindelin@gmx.de> wrote:\n> Hi,\n>\n> On Sun, 8 Feb 2009, Elijah Newren wrote:\n>\n>> In the source repository, I noticed that 6 of the earliest commits in\n>> one root of history looked like:\n>>\n>>      /--E\n>>     /  /\n>> A--C--D\n>>   /\n>>  B\n>>\n>> In the \"mirrored\" repository, I notice this history had been modified\n>> so that it looked like\n>>\n>>         E\n>>        /\n>> A--C--D\n>>   /\n>>  B\n>>\n>> The latter history seems much more sane to me; since D is a child of\n>> C, making E a merge of C and D seemed really weird.  I did pour over\n>> the output of git fast-export --all to see if the merge directives\n>> were as expected, in order to see whether git fast-export or git\n>> fast-import were to be credited with the history fix.  It looks to me\n>> like git-fast-export reports no merge parents for E, so this seems to\n>> be on the fast-export side.\n>>\n>> Is this, by chance, intentional?  (I'm using git-1.6.0.6, if it matters.)\n>\n> Nope.\n>\n> Please try to make a reproduction recipe (preferably as a patch to t9301);\n> it seems that you are half-way there already.\n\nOkay, I'll work on it.  Sadly, making a branch based on commit E and\ntrying to run using <E> instead of \"--all\" didn't reproduce the bug,\nso it must require some additional things to trigger this issue.  I\nthink I triggered the same issue on a closely related cvs2git-created\nrepository that's only about 350M, so at least I have something\nsmaller to work with.  It may take me a while, but I'll report back\nwhen I've found more.\n\nElijah\n"},{"id":"104148","messageId":"51419b2c0902102212y4285319br2dd8ebd4a4e96590@mail.gmail.com","threadId":"17670","inReplyTo":"51419b2c0902082131o512e966l1fb3029c7513b02e@mail.gmail.com","subject":"Re: git fast-export issue -- anyone know if this is a bug or a feature?","fromName":"Elijah Newren","fromEmail":"newren@gmail.com","sentAt":"2009-02-11T06:12:08Z","receivedAt":"2009-02-11T06:12:08Z","isPatch":false,"sender":{"key":"newren@gmail.com","avatar":"https://avatars.githubusercontent.com/u/5455730?v=4"},"body":"Hi,\n\nOn Sun, Feb 8, 2009 at 10:31 PM, Elijah Newren <newren@gmail.com> wrote:\n> The \"source\" repository is one that has been created by cvs2git (which\n> operated on a franken cvs repository munged together from lots of\n> different places; I'm running git-fast-export & git-fast-import based\n> on it since I want to do some extra changes outside of cvs2git).  In\n> the source repository, I noticed that 6 of the earliest commits in one\n> root of history looked like:\n>\n>     /--E\n>    /  /\n> A--C--D\n>  /\n>  B\n>\n> In the \"mirrored\" repository, I notice this history had been modified\n> so that it looked like\n>\n>        E\n>       /\n> A--C--D\n>  /\n>  B\n>\n> The latter history seems much more sane to me; since D is a child of\n> C, making E a merge of C and D seemed really weird.  I did pour over\n\nI think I found the source of the bug, and have sent out a couple\npatches in separate emails.  However, I wanted to correct my statement\nhere.  The repositories created by cvs2git did not have such a commit\nhistory; I think it was simply too late at night and I wasn't reading\nthings correctly.\n\nElijah\n"}]}