mirror of
https://github.com/git/git.git
synced 2024-11-28 04:23:30 +08:00
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: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
ee394bd376
commit
6c3d818154
18
revision.c
18
revision.c
@ -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)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user