git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Junio C Hamano <junkio@cox.net>
To: Linus Torvalds <torvalds@osdl.org>
Cc: Git Mailing List <git@vger.kernel.org>
Subject: Re: [PATCH] First cut at libifying revlist generation
Date: Sun, 26 Feb 2006 19:11:02 -0800	[thread overview]
Message-ID: <7vpsl93395.fsf@assigned-by-dhcp.cox.net> (raw)
In-Reply-To: <Pine.LNX.4.64.0602251608160.22647@g5.osdl.org> (Linus Torvalds's message of "Sat, 25 Feb 2006 16:19:46 -0800 (PST)")

Linus Torvalds <torvalds@osdl.org> writes:

> Comments? I think this is safe to apply, because I've done a diff of the 
> old non-split rev-list.c against both the new rev-list.c and revision.c, 
> and all the changes _look_ like just moving things around and taking the 
> new "struct rev_info" into account.

I think you would need something the attached patch, at least.

I have a suspicion that this was your easter egg to see how
careful I am reading what I apply -- and I failed.  Johannes
gets a test-pilot star for this.  This also means we need a bit
better set of tests.

The diff between old rev-list.c and new split files would not
have caught the static variable gotcha.

I am clueless about the "limited = (list && list->next)" part,
but there is only one commit involved hence the test is false
with my testcase "git-rev-list --objects v1.0.0^0..v1.0.0"; I
think the old code said dotdot is a limited case.

---
diff --git a/rev-list.c b/rev-list.c
index d1c52a6..630626e 100644
--- a/rev-list.c
+++ b/rev-list.c
@@ -214,8 +214,6 @@ static struct object_list **process_tree
 	return p;
 }
 
-static struct object_list *pending_objects = NULL;
-
 static void show_commit_list(struct commit_list *list)
 {
 	struct object_list *objects = NULL, **p = &objects, *pending;
@@ -226,7 +224,7 @@ static void show_commit_list(struct comm
 		if (process_commit(commit) == STOP)
 			break;
 	}
-	for (pending = pending_objects; pending; pending = pending->next) {
+	for (pending = revs.pending_objects; pending; pending = pending->next) {
 		struct object *obj = pending->item;
 		const char *name = pending->name;
 		if (obj->flags & (UNINTERESTING | SEEN))
@@ -675,7 +673,7 @@ int main(int argc, const char **argv)
 	}
 
 	list = revs.commits;
-	if (list && list->next)
+	if (list)
 		limited = 1;
 
 	if (revs.topo_order)
@@ -689,7 +687,7 @@ int main(int argc, const char **argv)
 		limited = 1;
 		diff_tree_setup_paths(revs.paths);
 	}
-	if (revs.max_age || revs.min_age)
+	if (revs.max_age != -1 || revs.min_age != -1)
 		limited = 1;
 
 	save_commit_buffer = verbose_header;

  parent reply	other threads:[~2006-02-27  3:11 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-02-26  0:19 [PATCH] First cut at libifying revlist generation Linus Torvalds
2006-02-26  3:40 ` Junio C Hamano
2006-02-27  1:57 ` Johannes Schindelin
2006-02-27  3:05   ` Linus Torvalds
2006-02-27  3:11 ` Junio C Hamano [this message]
2006-02-27  3:19   ` Linus Torvalds
2006-02-27  5:09     ` Junio C Hamano
2006-02-27  5:20       ` Linus Torvalds
2006-02-27 16:54         ` Linus Torvalds
2006-02-27 23:55           ` Junio C Hamano
2006-02-27  9:00   ` Johannes Schindelin
2006-02-28  1:13     ` Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7vpsl93395.fsf@assigned-by-dhcp.cox.net \
    --to=junkio@cox.net \
    --cc=git@vger.kernel.org \
    --cc=torvalds@osdl.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).