git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 3/3] show: turn on rename progress

From
Jeff King <peff@peff.net>
Date
Mar 25, 2011, 06:17 UTC
Message-ID
<20110325061744.GA6261@sigill.intra.peff.net>
In-Reply-To
<7vzkok6qie.fsf@alter.siamese.dyndns.org>
On Thu, Mar 24, 2011 at 04:03:16PM -0700, Junio C Hamano wrote:
Show 6 quoted lines
> >   [1/4]: pager: save the original stderr when redirecting to pager
> >   [2/4]: progress: use pager's original_stderr if available
> >   [3/4]: show: turn on rename detection progress reporting
> >   [4/4]: diff: turn on rename detection progress reporting
> 
> Thanks, but why does it affect t0101 and many others...?

Because I'm an idiot who, despite manually testing the option-parsing part of the code a million times, didn't actually run the full suite.

Show 5 quoted lines
> >  	while ((commit = get_revision(rev)) != NULL) {
> > -		if (!log_tree_commit(rev, commit) &&
> > +		int showed = log_tree_commit(rev, commit);
> > +		if (showed &&
> >  		    rev->max_count >= 0)
Ugh. Of course, it should be:
diff --git a/builtin/log.c b/builtin/log.c
index 4d52e99..b19e10d 100644
--- a/builtin/log.c
+++ b/builtin/log.c
@@ -275,7 +275,7 @@ static int cmd_log_walk(struct rev_info *rev)
 	 */
 	while ((commit = get_revision(rev)) != NULL) {
 		int showed = log_tree_commit(rev, commit);
-		if (showed &&
+		if (!showed &&
 		    rev->max_count >= 0)
 			/*
 			 * We decremented max_count in get_revision,

on top.

> After looking at the implementation of log_tree_commit(), shouldn't this
> part be more like this?
> 
> 	int shown = log_tree_commit(rev, commit);
>         if (!shown && rev->max_count >=0)
>         	rev->max_count++;
> 	if (shown)
>         	rev->diffopt.show_rename_progress = 0;

Yes. You shouldn't even need to look at log_tree_commit; you can see in
the hunk of my patch that I accidentally inverted the unrelated
max_count conditional while factoring out the call.

I'll go find a brown paper bag now.

-Peff

PS I assume you can squash in the above, or take your version (I don't
care about the verb tense we use, but re-indenting the max_count
conditional as you did is good style).
Previous: Junio C HamanoNext: Jeff King
Message 20 of 24 in “builtin/diff.c: remove duplicated call to diff_result_code()”
  1. builtin/diff.c: remove duplicated call to diff_result_code()Junio C Hamano, Mar 22, 2011
  2. 1/3 diffcore-rename: refactor "too many candidates" logicJunio C Hamano, Mar 22, 2011
  3. 2/3 diffcore-rename: record filepair for rename srcJunio C Hamano, Mar 22, 2011
  4. 3/3 diffcore-rename: fall back to -C when -C -C busts the rename limitJunio C Hamano, Mar 22, 2011
  5. Jeff KingMar 23, 2011
  6. Junio C HamanoMar 23, 2011
  7. Jeff KingMar 23, 2011
  8. Jeff KingMar 23, 2011
  9. 1/3 pager: save the original stderr when redirecting to pagerJeff King, Mar 23, 2011
  10. 2/3 progress: use pager's original_stderr if availableJeff King, Mar 23, 2011
  11. 3/3 show: turn on rename progressJeff King, Mar 23, 2011
  12. Junio C HamanoMar 23, 2011
  13. Jeff KingMar 24, 2011
  14. Junio C HamanoMar 24, 2011
  15. Jeff KingMar 24, 2011
  16. 1/4 pager: save the original stderr when redirecting to pagerJeff King, Mar 24, 2011
  17. 2/4 progress: use pager's original_stderr if availableJeff King, Mar 24, 2011
  18. 3/4 show: turn on rename detection progress reportingJeff King, Mar 24, 2011
  19. Junio C HamanoMar 24, 2011
  20. Jeff KingMar 25, 2011
  21. 4/4 diff: turn on rename detection progress reportingJeff King, Mar 24, 2011
  22. Johannes SixtMar 25, 2011
  23. Jeff KingMar 25, 2011
  24. Junio C HamanoMar 24, 2011

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.