зеркало из https://github.com/microsoft/git.git
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:
Родитель
ee394bd376
Коммит
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)
|
||||
{
|
||||
|
|
Загрузка…
Ссылка в новой задаче