Merge branch 'rs/pending'

* rs/pending:
  commit: factor out clear_commit_marks_for_object_array
  checkout: use leak_pending flag
  bundle: use leak_pending flag
  bisect: use leak_pending flag
  revision: add leak_pending flag
  checkout: use add_pending_{object,sha1} in orphan check
  revision: factor out add_pending_sha1
  checkout: check for "Previous HEAD" notice in t2020

Conflicts:
	builtin/checkout.c
	revision.c
This commit is contained in:
Junio C Hamano
2011-10-13 19:03:22 -07:00
8 changed files with 64 additions and 49 deletions

View File

@ -226,6 +226,13 @@ static struct object *get_reference(struct rev_info *revs, const char *name, con
return object;
}
void add_pending_sha1(struct rev_info *revs, const char *name,
const unsigned char *sha1, unsigned int flags)
{
struct object *object = get_reference(revs, name, sha1, flags);
add_pending_object(revs, object, name);
}
static struct commit *handle_commit(struct rev_info *revs, struct object *object, const char *name)
{
unsigned long flags = object->flags;
@ -897,7 +904,7 @@ static int handle_one_ref(const char *path, const unsigned char *sha1, int flag,
struct object *object = get_reference(cb->all_revs, path, sha1,
cb->all_flags);
add_rev_cmdline(cb->all_revs, object, path, REV_CMD_REF, cb->all_flags);
add_pending_object(cb->all_revs, object, path);
add_pending_sha1(cb->all_revs, path, sha1, cb->all_flags);
return 0;
}
@ -2050,7 +2057,8 @@ int prepare_revision_walk(struct rev_info *revs)
}
e++;
}
free(list);
if (!revs->leak_pending)
free(list);
if (revs->no_walk)
return 0;