提交 6c3d8181 编写于 作者: N Nguyễn Thái Ngọc Duy 提交者: Junio C Hamano

revision.c: refactor add_index_objects_to_pending()

The core code is factored out and take 'struct index_state *' instead so
that we can reuse it to add objects from index files other than .git/index
in the next patch.
Signed-off-by: NNguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: NJunio C Hamano <gitster@pobox.com>
上级 ee394bd3
......@@ -1262,13 +1262,13 @@ static void add_cache_tree(struct cache_tree *it, struct rev_info *revs,
}
void add_index_objects_to_pending(struct rev_info *revs, unsigned flags)
static void do_add_index_objects_to_pending(struct rev_info *revs,
struct index_state *istate)
{
int i;
read_cache();
for (i = 0; i < active_nr; i++) {
struct cache_entry *ce = active_cache[i];
for (i = 0; i < istate->cache_nr; i++) {
struct cache_entry *ce = istate->cache[i];
struct blob *blob;
if (S_ISGITLINK(ce->ce_mode))
......@@ -1281,13 +1281,19 @@ void add_index_objects_to_pending(struct rev_info *revs, unsigned flags)
ce->ce_mode, ce->name);
}
if (active_cache_tree) {
if (istate->cache_tree) {
struct strbuf path = STRBUF_INIT;
add_cache_tree(active_cache_tree, revs, &path);
add_cache_tree(istate->cache_tree, revs, &path);
strbuf_release(&path);
}
}
void add_index_objects_to_pending(struct rev_info *revs, unsigned int flags)
{
read_cache();
do_add_index_objects_to_pending(revs, &the_index);
}
static int add_parents_only(struct rev_info *revs, const char *arg_, int flags,
int exclude_parent)
{
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册