Skip to content

Commit

Permalink
revision traversal: retire BOUNDARY_SHOW
Browse files Browse the repository at this point in the history
This removes the flag internally used by revision traversal to
decide which commits are indeed boundaries and renames it to
CHILD_SHOWN.  builtin-bundle uses the symbol for its
verification, but I think the logic it uses it is wrong.  The
flag is still useful but it is local to the git-bundle, so it is
renamed to PREREQ_MARK.

Signed-off-by: Junio C Hamano <junkio@cox.net>
  • Loading branch information
Junio C Hamano committed Mar 6, 2007
1 parent 86ab490 commit 2b06469
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 5 deletions.
6 changes: 4 additions & 2 deletions builtin-bundle.c
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,8 @@ static int fork_with_pipe(const char **argv, int *in, int *out)
return pid;
}

#define PREREQ_MARK (1u<<16)

static int verify_bundle(struct bundle_header *header)
{
/*
Expand All @@ -179,7 +181,7 @@ static int verify_bundle(struct bundle_header *header)
struct ref_list_entry *e = p->list + i;
struct object *o = parse_object(e->sha1);
if (o) {
o->flags |= BOUNDARY_SHOW;
o->flags |= PREREQ_MARK;
add_pending_object(&revs, o, e->name);
continue;
}
Expand All @@ -202,7 +204,7 @@ static int verify_bundle(struct bundle_header *header)

i = req_nr;
while (i && (commit = get_revision(&revs)))
if (commit->object.flags & BOUNDARY_SHOW)
if (commit->object.flags & PREREQ_MARK)
i--;

for (i = 0; i < req_nr; i++)
Expand Down
9 changes: 8 additions & 1 deletion revision.c
Original file line number Diff line number Diff line change
Expand Up @@ -1285,17 +1285,21 @@ struct commit *get_revision(struct rev_info *revs)
commit_list_insert(c, &l);
revs->commits = l;
revs->reverse = 0;
c = NULL;
}

/*
* Now pick up what they want to give us
*/
c = get_revision_1(revs);
if (!(c = get_revision_1(revs)))
return NULL;
while (0 < revs->skip_count) {
revs->skip_count--;
c = get_revision_1(revs);
if (!c)
break;
/* Although we grabbed it, it is not shown. */
c->object.flags &= ~SHOWN;
}

/*
Expand All @@ -1305,6 +1309,9 @@ struct commit *get_revision(struct rev_info *revs)
case -1:
break;
case 0:
/* Although we grabbed it, it is not shown. */
if (c)
c->object.flags &= ~SHOWN;
c = NULL;
break;
default:
Expand Down
3 changes: 1 addition & 2 deletions revision.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,9 @@
#define SHOWN (1u<<3)
#define TMP_MARK (1u<<4) /* for isolated cases; clean after use */
#define BOUNDARY (1u<<5)
#define BOUNDARY_SHOW (1u<<6)
#define CHILD_SHOWN (1u<<6)
#define ADDED (1u<<7) /* Parents already parsed and added? */
#define SYMMETRIC_LEFT (1u<<8)
#define CHILD_SHOWN (1u<<9)

struct rev_info;
struct log_info;
Expand Down

0 comments on commit 2b06469

Please sign in to comment.