{"thread":{"id":"3761","subject":"Possible --boundary bug","startedAt":"2006-03-30T18:34:19Z","lastAt":"2006-03-31T16:39:47Z","messageCount":4,"participants":["Marco Costalba","Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"18154","messageId":"e5bfff550603301034r58b38500ie5897ed06fce6e9a@mail.gmail.com","threadId":"3761","inReplyTo":null,"subject":"Possible --boundary bug","fromName":"Marco Costalba","fromEmail":"mcostalba@gmail.com","sentAt":"2006-03-30T18:34:19Z","receivedAt":"2006-03-30T18:34:19Z","isPatch":false,"sender":{"key":"mcostalba@gmail.com","avatar":null},"body":"Trying to convert qgit to use the new and cool --boundary option I\nfound this one:\n\n>From git tree\n\n$ git-rev-list --boundary --topo-order --parents 5aa44d5..ab57c8d |\ngrep eb38cc689e8\n-e646de0d14bac20ef6e156c1742b9e62fb0b9020\neb38cc689e84a8fd01c1856e889fe8d3b4f1bfb4\n4b953cdc04fec8783e2c654a671005492fda9b01\n5ca5396c9ecba947c8faac7673195d309a6ba2ea\neb38cc689e84a8fd01c1856e889fe8d3b4f1bfb4\n\nand also\n\n$ git-rev-list --boundary --topo-order --parents 5aa44d5..ab57c8d |\ngrep c64965750\n8c0db2f5193153ea8a51bb45b0512c5a3889023b\n21a02335f821c89a989cf0b533d2ae0adb6da16e\nc649657501bada28794a30102d9c13cc28ca0e5e\n\nBut perhaps correct output should be:\n\n$ git-rev-list --boundary --topo-order --parents 5aa44d5..ab57c8d |\ngrep eb38cc689e8\n-e646de0d14bac20ef6e156c1742b9e62fb0b9020\neb38cc689e84a8fd01c1856e889fe8d3b4f1bfb4\n-4b953cdc04fec8783e2c654a671005492fda9b01\n5ca5396c9ecba947c8faac7673195d309a6ba2ea\neb38cc689e84a8fd01c1856e889fe8d3b4f1bfb4\n\nand\n\n$ git-rev-list --boundary --topo-order --parents 5aa44d5..ab57c8d |\ngrep c64965750\n-8c0db2f5193153ea8a51bb45b0512c5a3889023b\n21a02335f821c89a989cf0b533d2ae0adb6da16e\nc649657501bada28794a30102d9c13cc28ca0e5e\n\nIt seems the '-' flag is mistakenly missing because of boundary  revs:\n\nc649657501bada28794a30102d9c13cc28ca0e5e and\neb38cc689e84a8fd01c1856e889fe8d3b4f1bfb4\n\n\nMarco\n"},{"id":"18156","messageId":"e5bfff550603301255j52c68963v4b8eebea697eeecf@mail.gmail.com","threadId":"3761","inReplyTo":"e5bfff550603301034r58b38500ie5897ed06fce6e9a@mail.gmail.com","subject":"Re: Possible --boundary bug","fromName":"Marco Costalba","fromEmail":"mcostalba@gmail.com","sentAt":"2006-03-30T20:55:44Z","receivedAt":"2006-03-30T20:55:44Z","isPatch":false,"sender":{"key":"mcostalba@gmail.com","avatar":null},"body":"Sorry, the good description is below, please ignore the wrong previous one.\n\nOn 3/30/06, Marco Costalba <mcostalba@gmail.com> wrote:\n> Trying to convert qgit to use the new and cool --boundary option I\n> found this one:\n>\n> From git tree\n>\n> $ git-rev-list --boundary --topo-order --parents 5aa44d5..ab57c8d |\n> grep eb38cc689e8\n> -e646de0d14bac20ef6e156c1742b9e62fb0b9020\n> eb38cc689e84a8fd01c1856e889fe8d3b4f1bfb4\n> 4b953cdc04fec8783e2c654a671005492fda9b01\n> 5ca5396c9ecba947c8faac7673195d309a6ba2ea\n> eb38cc689e84a8fd01c1856e889fe8d3b4f1bfb4\n>\n> and also\n>\n> $ git-rev-list --boundary --topo-order --parents 5aa44d5..ab57c8d |\n> grep c64965750\n> 8c0db2f5193153ea8a51bb45b0512c5a3889023b\n> 21a02335f821c89a989cf0b533d2ae0adb6da16e\n> c649657501bada28794a30102d9c13cc28ca0e5e\n>\n\nIt seems the lines:\n-c649657501bada28794a30102d9c13cc28ca0e5e  .......\n\nand\n\n-eb38cc689e84a8fd01c1856e889fe8d3b4f1bfb4 ......\n\nare missing though the two revs are boundary revs.\n\n\nMarco\n\n P.S: Sorry for lengthy output but  --abbrev option:\n\n git-rev-list --boundary --topo-order --abbrev=8 --parents  5aa44d5..ab57c8d\n\n does seems to work only for prettyprinted parent names, I guess this\nfrom patches log messages because is not documented.\n"},{"id":"18173","messageId":"7v64lvvyev.fsf@assigned-by-dhcp.cox.net","threadId":"3761","inReplyTo":"e5bfff550603301255j52c68963v4b8eebea697eeecf@mail.gmail.com","subject":"Re: Possible --boundary bug","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2006-03-31T07:58:00Z","receivedAt":"2006-03-31T07:58:00Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Marco Costalba\" <mcostalba@gmail.com> writes:\n\n> Sorry, the good description is below, please ignore the wrong previous one.\n\nI think this patch should fix it.\n\n-- >8 --\nrev-list --boundary: fix re-injecting boundary commits.\n\nMarco reported that\n\n\t$ git rev-list --boundary --topo-order --parents 5aa44d5..ab57c8d\n\nmisses these two boundary commits.\n\n        c649657501bada28794a30102d9c13cc28ca0e5e\n        eb38cc689e84a8fd01c1856e889fe8d3b4f1bfb4\n\nIndeed, we can see that gitk shows these two commits at the\nbottom, because the --boundary code failed to output them.\n\nThe code did not check to avoid pushing the same uninteresting\ncommit twice to the result list.  I am not sure why this fixes\nthe reported problem, but this seems to fix it.\n\nSigned-off-by: Junio C Hamano <junkio@cox.net>\n---\ndiff --git a/revision.c b/revision.c\nindex abc8745..c2a95aa 100644\n--- a/revision.c\n+++ b/revision.c\n@@ -420,24 +420,33 @@ static void limit_list(struct rev_info *\n \t\tp = &commit_list_insert(commit, p)->next;\n \t}\n \tif (revs->boundary) {\n-\t\tlist = newlist;\n-\t\twhile (list) {\n+\t\t/* mark the ones that are on the result list first */\n+\t\tfor (list = newlist; list; list = list->next) {\n \t\t\tstruct commit *commit = list->item;\n+\t\t\tcommit->object.flags |= TMP_MARK;\n+\t\t}\n+\t\tfor (list = newlist; list; list = list->next) {\n+\t\t\tstruct commit *commit = list->item;\n \t\t\tstruct object *obj = &commit->object;\n-\t\t\tstruct commit_list *parent = commit->parents;\n-\t\t\tif (obj->flags & (UNINTERESTING|BOUNDARY)) {\n-\t\t\t\tlist = list->next;\n-\t\t\t\tcontinue;\n-\t\t\t}\n-\t\t\twhile (parent) {\n+\t\t\tstruct commit_list *parent;\n+\t\t\tif (obj->flags & UNINTERESTING)\n+\t\t\t\tcontinue;\n+\t\t\tfor (parent = commit->parents;\n+\t\t\t     parent;\n+\t\t\t     parent = parent->next) {\n \t\t\t\tstruct commit *pcommit = parent->item;\n-\t\t\t\tparent = parent->next;\n \t\t\t\tif (!(pcommit->object.flags & UNINTERESTING))\n \t\t\t\t\tcontinue;\n \t\t\t\tpcommit->object.flags |= BOUNDARY;\n+\t\t\t\tif (pcommit->object.flags & TMP_MARK)\n+\t\t\t\t\tcontinue;\n+\t\t\t\tpcommit->object.flags |= TMP_MARK;\n \t\t\t\tp = &commit_list_insert(pcommit, p)->next;\n \t\t\t}\n-\t\t\tlist = list->next;\n+\t\t}\n+\t\tfor (list = newlist; list; list = list->next) {\n+\t\t\tstruct commit *commit = list->item;\n+\t\t\tcommit->object.flags &= ~TMP_MARK;\n \t\t}\n \t}\n \trevs->commits = newlist;\n"},{"id":"18178","messageId":"e5bfff550603310839u115eb06fj795ebc5cdf5bec24@mail.gmail.com","threadId":"3761","inReplyTo":"7v64lvvyev.fsf@assigned-by-dhcp.cox.net","subject":"Re: Possible --boundary bug","fromName":"Marco Costalba","fromEmail":"mcostalba@gmail.com","sentAt":"2006-03-31T16:39:47Z","receivedAt":"2006-03-31T16:39:47Z","isPatch":false,"sender":{"key":"mcostalba@gmail.com","avatar":null},"body":"On 3/31/06, Junio C Hamano <junkio@cox.net> wrote:\n> \"Marco Costalba\" <mcostalba@gmail.com> writes:\n>\n> > Sorry, the good description is below, please ignore the wrong previous one.\n>\n> I think this patch should fix it.\n>\n\nYes. It works for me.\n\nThanks\nMarco\n"}]}