{"thread":{"id":"859","subject":"git-rev-list --merge-order hangs","startedAt":"2005-06-08T06:50:56Z","lastAt":"2005-06-08T15:28:01Z","messageCount":5,"participants":["Radoslaw Szkodzinski","Jon Seymour"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"4688","messageId":"42A69550.1030105@gorzow.mm.pl","threadId":"859","inReplyTo":null,"subject":"git-rev-list --merge-order hangs","fromName":"Radoslaw Szkodzinski","fromEmail":"astralstorm@gorzow.mm.pl","sentAt":"2005-06-08T06:50:56Z","receivedAt":"2005-06-08T06:50:56Z","isPatch":false,"sender":{"key":"astralstorm@gorzow.mm.pl","avatar":null},"body":"I've got a Linux git tree with some merges and some other commits\ninterwined.\nI want to print all my changes in merge order, so I do:\n\ngit-rev-list --pretty --merge-order v2.6.12-rc6-astorm1 ^v2.6.12-rc6\n\nIt prints the first 3 commits (linear), but then hangs, eating all\navailable CPU.\nWithout --merge-order it works fine, but obviously lists the commits by\nparent.\n\nAstralStorm\n"},{"id":"4689","messageId":"2cfc4032050608002258e58897@mail.gmail.com","threadId":"859","inReplyTo":"42A69550.1030105@gorzow.mm.pl","subject":"Re: git-rev-list --merge-order hangs","fromName":"Jon Seymour","fromEmail":"jon.seymour@gmail.com","sentAt":"2005-06-08T07:22:04Z","receivedAt":"2005-06-08T07:22:04Z","isPatch":false,"sender":{"key":"jon.seymour@gmail.com","avatar":"https://avatars.githubusercontent.com/u/207131?v=4"},"body":"On 6/8/05, Radoslaw Szkodzinski <astralstorm@gorzow.mm.pl> wrote:\n> I've got a Linux git tree with some merges and some other commits\n> interwined.\n> I want to print all my changes in merge order, so I do:\n> \n> git-rev-list --pretty --merge-order v2.6.12-rc6-astorm1 ^v2.6.12-rc6\n> \n> It prints the first 3 commits (linear), but then hangs, eating all\n> available CPU.\n> Without --merge-order it works fine, but obviously lists the commits by\n> parent.\n\nCan you git-rev-list >/dev/null without arguments, then do a\ngit-rev-list --pretty --merge-order again and see it works any better?\n\nIf it still doesn't work, can you send me the output of:\n\n        git-rev-list --parents v2.6.12-rc6-astorm1 ^v2.6.12-rc6 \n\nI may then need to request a tarball of the related git objects so\nthat I can reproduce the problem on my end, but I'll send you the list\nI need to see.\n\nRegards,\n\njon.\n"},{"id":"4691","messageId":"2cfc4032050608020215152887@mail.gmail.com","threadId":"859","inReplyTo":"2cfc403205060800337e1ecca0@mail.gmail.com","subject":"Re: git-rev-list --merge-order hangs","fromName":"Jon Seymour","fromEmail":"jon.seymour@gmail.com","sentAt":"2005-06-08T09:02:21Z","receivedAt":"2005-06-08T09:02:21Z","isPatch":false,"sender":{"key":"jon.seymour@gmail.com","avatar":"https://avatars.githubusercontent.com/u/207131?v=4"},"body":"Actually, one case that I may not have considered properly is a commit\nnear the head that has no parents.\n\n      git-rev-list --parents v2.6.12-rc6-astorm1 ^v2.6.12-rc6\n\nshould tell you if this case exists. Ideally such a case should not\noccur, but that isn't a logical certainity, so I should handle it\nbetter than I currently do.\n\nPlease let me know if this may explain your case. \n\nRegards,\n\njon.\n"},{"id":"4752","messageId":"2cfc40320506080717585bf939@mail.gmail.com","threadId":"859","inReplyTo":"2cfc4032050608020215152887@mail.gmail.com","subject":"Re: git-rev-list --merge-order hangs","fromName":"Jon Seymour","fromEmail":"jon.seymour@gmail.com","sentAt":"2005-06-08T14:17:27Z","receivedAt":"2005-06-08T14:17:27Z","isPatch":false,"sender":{"key":"jon.seymour@gmail.com","avatar":"https://avatars.githubusercontent.com/u/207131?v=4"},"body":"Ok, I reproduced exponential behaviour when a commit with no parents\nis merged near the head of the kernel and a ^ argument is specified.\n\nFortunately a work-around is a one line change - a patch will be\nforthcoming shortly.\nThe workaround will still require a full-graph scan but that is linear\nrather than\nexponential so is tolerable.\n\nA better solution which will not require a full-graph scan will be\ndelivered in a future\npatch.\n\nThanks for the report.\n\njon.\n"},{"id":"4702","messageId":"42A70E81.7090308@gorzow.mm.pl","threadId":"859","inReplyTo":"2cfc4032050608020215152887@mail.gmail.com","subject":"Re: git-rev-list --merge-order hangs","fromName":"Radoslaw Szkodzinski","fromEmail":"astralstorm@gorzow.mm.pl","sentAt":"2005-06-08T15:28:01Z","receivedAt":"2005-06-08T15:28:01Z","isPatch":false,"sender":{"key":"astralstorm@gorzow.mm.pl","avatar":null},"body":"Jon Seymour wrote:\n\n>Actually, one case that I may not have considered properly is a commit\n>near the head that has no parents.\n>\n>      git-rev-list --parents v2.6.12-rc6-astorm1 ^v2.6.12-rc6\n>\n>should tell you if this case exists. Ideally such a case should not\n>occur, but that isn't a logical certainity, so I should handle it\n>better than I currently do.\n>\n>Please let me know if this may explain your case. \n>  \n>\nThis just threw tons of SHA1 hashes at me without complaining.\nI've also tried git-rev-list HEAD >/dev/null without any chage whatsoever.\n\nThe tree is not secret, You can try (very slow) rsync at:\nrsync://astralstorm.servegame.com/linux-2.6-astorm\n\nJust update latest linux-2.6 with it to save time.\n(mine is up to commit 1d6757fbff5bc86e94e59ab0d7bdd7e71351d839)\n\nAstralStorm\n"}]}