Bug#554682: [PATCH 3/8] bundle: give list_prerequisites() loop body its own function

2010-06-30 Thread Junio C Hamano
Jonathan Nieder jrnie...@gmail.com writes:

 No functional change intended.

 Signed-off-by: Jonathan Nieder jrnie...@gmail.com
 ---
  bundle.c |   57 +++--
  1 files changed, 31 insertions(+), 26 deletions(-)

 diff --git a/bundle.c b/bundle.c
 index 0dd2acb..e90b5c5 100644
 --- a/bundle.c
 +++ b/bundle.c
 @@ -193,6 +193,33 @@ static int is_tag_in_date_range(struct object *tag, 
 struct rev_info *revs)
   (revs-min_age == -1 || revs-min_age  date);
  }
  
 +static void list_prerequisite(int bundle_fd, struct rev_info *revs,
 + struct commit *rev)
 +{
 + struct strbuf buf = STRBUF_INIT;
 + struct pretty_print_context ctx = {0};
 + enum object_type type;
 + unsigned long size;
 +
 + /*
 +  * The commit buffer is needed
 +  * to pretty-print boundary commits.
 +  */
 + rev-buffer = read_sha1_file(rev-object.sha1, type, size);
 +
 + strbuf_addch(buf, '-');
 + strbuf_add(buf, sha1_to_hex(rev-object.sha1), 40);
 + strbuf_addch(buf, ' ');
 + pretty_print_commit(CMIT_FMT_ONELINE, rev, buf, ctx);
 + strbuf_addch(buf, '\n');
 +
 + write_or_die(bundle_fd, buf.buf, buf.len);
 +
 + rev-object.flags |= UNINTERESTING;
 + add_pending_object(revs, rev-object, buf.buf);
 + strbuf_release(buf);
 +}
 +
  static int list_prerequisites(int bundle_fd, struct rev_info *revs,
   int argc, const char * const *argv)
  {
 @@ -209,33 +236,11 @@ static int list_prerequisites(int bundle_fd, struct 
 rev_info *revs,
   if (prepare_revision_walk(boundary_revs))
   return error(revision walk setup failed);
  
 - while ((rev = get_revision(boundary_revs))) {
 - if (rev-object.flags  BOUNDARY) {
 -...
 - } else {
 + while ((rev = get_revision(revs))) {
 + if (rev-object.flags  BOUNDARY)
 + list_prerequisite(bundle_fd, revs, rev);
 + else
   rev-object.flags |= SHOWN;
 - }

You used to walk boundary_revs but now you walk revs that is given by the
caller, exhausting the revs.pending the caller wanted to use later to feed
pack_objects with?

Confused...



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#554682: [PATCH 3/8] bundle: give list_prerequisites() loop body its own function

2010-06-30 Thread Jonathan Nieder
Junio C Hamano wrote:
 Jonathan Nieder jrnie...@gmail.com writes:

 @@ -209,33 +236,11 @@ static int list_prerequisites(int bundle_fd, struct 
 rev_info *revs,
  if (prepare_revision_walk(boundary_revs))
  return error(revision walk setup failed);
  
 -while ((rev = get_revision(boundary_revs))) {
 -if (rev-object.flags  BOUNDARY) {
 -...
 -} else {
 +while ((rev = get_revision(revs))) {
 +if (rev-object.flags  BOUNDARY)
 +list_prerequisite(bundle_fd, revs, rev);
 +else
  rev-object.flags |= SHOWN;
 -}

 You used to walk boundary_revs but now you walk revs that is given by the
 caller

Agh!  Typo.  Thanks for catching it.



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#554682: [PATCH 3/8] bundle: give list_prerequisites() loop body its own function

2010-06-26 Thread Jonathan Nieder
No functional change intended.

Signed-off-by: Jonathan Nieder jrnie...@gmail.com
---
 bundle.c |   57 +++--
 1 files changed, 31 insertions(+), 26 deletions(-)

diff --git a/bundle.c b/bundle.c
index 0dd2acb..e90b5c5 100644
--- a/bundle.c
+++ b/bundle.c
@@ -193,6 +193,33 @@ static int is_tag_in_date_range(struct object *tag, struct 
rev_info *revs)
(revs-min_age == -1 || revs-min_age  date);
 }
 
+static void list_prerequisite(int bundle_fd, struct rev_info *revs,
+   struct commit *rev)
+{
+   struct strbuf buf = STRBUF_INIT;
+   struct pretty_print_context ctx = {0};
+   enum object_type type;
+   unsigned long size;
+
+   /*
+* The commit buffer is needed
+* to pretty-print boundary commits.
+*/
+   rev-buffer = read_sha1_file(rev-object.sha1, type, size);
+
+   strbuf_addch(buf, '-');
+   strbuf_add(buf, sha1_to_hex(rev-object.sha1), 40);
+   strbuf_addch(buf, ' ');
+   pretty_print_commit(CMIT_FMT_ONELINE, rev, buf, ctx);
+   strbuf_addch(buf, '\n');
+
+   write_or_die(bundle_fd, buf.buf, buf.len);
+
+   rev-object.flags |= UNINTERESTING;
+   add_pending_object(revs, rev-object, buf.buf);
+   strbuf_release(buf);
+}
+
 static int list_prerequisites(int bundle_fd, struct rev_info *revs,
int argc, const char * const *argv)
 {
@@ -209,33 +236,11 @@ static int list_prerequisites(int bundle_fd, struct 
rev_info *revs,
if (prepare_revision_walk(boundary_revs))
return error(revision walk setup failed);
 
-   while ((rev = get_revision(boundary_revs))) {
-   if (rev-object.flags  BOUNDARY) {
-   struct strbuf buf = STRBUF_INIT;
-   struct pretty_print_context ctx = {0};
-   enum object_type type;
-   unsigned long size;
-
-   /*
-* The commit buffer is needed
-* to pretty-print boundary commits.
-*/
-   rev-buffer = read_sha1_file(rev-object.sha1,
-   type, size);
-
-   strbuf_addch(buf, '-');
-   strbuf_add(buf, sha1_to_hex(rev-object.sha1), 40);
-   strbuf_addch(buf, ' ');
-   pretty_print_commit(CMIT_FMT_ONELINE, rev, buf, ctx);
-   strbuf_addch(buf, '\n');
-   write_or_die(bundle_fd, buf.buf, buf.len);
-
-   rev-object.flags |= UNINTERESTING;
-   add_pending_object(revs, rev-object, buf.buf);
-   strbuf_release(buf);
-   } else {
+   while ((rev = get_revision(revs))) {
+   if (rev-object.flags  BOUNDARY)
+   list_prerequisite(bundle_fd, revs, rev);
+   else
rev-object.flags |= SHOWN;
-   }
}
return 0;
 }
-- 
1.7.1.198.g8d802




-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org