From: Dominique Quatravaux Date: Fri, 09 Mar 2012 09:18:57 GMT Subject: Re: [PATCHv2 1/2] rebase -i: optimize the creation of the todo file Message-ID: In-Reply-To: On Fri, Mar 9, 2012 at 6:00 AM, David Barr wrote: > I do notice however that the output being fed to sed expands like so: > >  commit >634a5f265ad729b91266de65272e2b5a35d05b1c >  >634a5f265ad729b91266de65272e2b5a35d05b1c 634a5f2 INSTALL: warn [...] >  commit >828ea97de486c1693d6e4f2c7347acb50235a85d >  >828ea97de486c1693d6e4f2c7347acb50235a85d 828ea97 Git 1.7.9 > > Maybe the format spec and sed command could use a little tuning. Hmm, from rev-list.c it appears that "oneline" is the only format that has git rev-list output one line per commit: 102 if (revs->commit_format == CMIT_FMT_ONELINE) 103 putchar(' '); 104 else 105 putchar('\n'); [...] 362 if (revs.commit_format == CMIT_FMT_ONELINE) 363 info.header_prefix = ""; 364 else 365 info.header_prefix = "commit "; I could fix that by using "git log" instead (hence the erroneous log message for this patch, that I'll fix in the next attempt), but I don't know about the implications of that (semantic or performance-wise). On the other hand, I can't imagine how sed skipping every other "commit 12345abcdef" line could be a noticeable performance drain. Advice welcome. --   Dominique Quatravaux   +41 79 609 40 72