diff options
| author | Elijah Newren <newren@gmail.com> | 2018-06-30 18:24:55 -0700 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2018-07-03 13:13:17 -0700 |
| commit | cffbfad50d1f37aea03520dd8d8ea983bc57da02 (patch) | |
| tree | 65a5527116f958266b3237e4e50519f5034ab41c | |
| parent | Git 2.17.1 (diff) | |
| download | git-cffbfad50d1f37aea03520dd8d8ea983bc57da02.tar.gz git-cffbfad50d1f37aea03520dd8d8ea983bc57da02.zip | |
read-cache.c: move index_has_changes() from merge.c
Since index_has_change() is an index-related function, move it to
read-cache.c, only modifying it to avoid uses of the active_cache and
active_nr macros.
Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
| -rw-r--r-- | merge.c | 31 | ||||
| -rw-r--r-- | read-cache.c | 33 |
2 files changed, 33 insertions, 31 deletions
@@ -17,37 +17,6 @@ static const char *merge_argument(struct commit *commit) return EMPTY_TREE_SHA1_HEX; } -int index_has_changes(struct strbuf *sb) -{ - struct object_id head; - int i; - - if (!get_oid_tree("HEAD", &head)) { - struct diff_options opt; - - diff_setup(&opt); - opt.flags.exit_with_status = 1; - if (!sb) - opt.flags.quick = 1; - do_diff_cache(&head, &opt); - diffcore_std(&opt); - for (i = 0; sb && i < diff_queued_diff.nr; i++) { - if (i) - strbuf_addch(sb, ' '); - strbuf_addstr(sb, diff_queued_diff.queue[i]->two->path); - } - diff_flush(&opt); - return opt.flags.has_changes != 0; - } else { - for (i = 0; sb && i < active_nr; i++) { - if (i) - strbuf_addch(sb, ' '); - strbuf_addstr(sb, active_cache[i]->name); - } - return !!active_nr; - } -} - int try_merge_command(const char *strategy, size_t xopts_nr, const char **xopts, struct commit_list *common, const char *head_arg, struct commit_list *remotes) diff --git a/read-cache.c b/read-cache.c index 4b35e87847..ba094fd485 100644 --- a/read-cache.c +++ b/read-cache.c @@ -6,6 +6,8 @@ #define NO_THE_INDEX_COMPATIBILITY_MACROS #include "cache.h" #include "config.h" +#include "diff.h" +#include "diffcore.h" #include "tempfile.h" #include "lockfile.h" #include "cache-tree.h" @@ -1984,6 +1986,37 @@ int unmerged_index(const struct index_state *istate) return 0; } +int index_has_changes(struct strbuf *sb) +{ + struct object_id head; + int i; + + if (!get_oid_tree("HEAD", &head)) { + struct diff_options opt; + + diff_setup(&opt); + opt.flags.exit_with_status = 1; + if (!sb) + opt.flags.quick = 1; + do_diff_cache(&head, &opt); + diffcore_std(&opt); + for (i = 0; sb && i < diff_queued_diff.nr; i++) { + if (i) + strbuf_addch(sb, ' '); + strbuf_addstr(sb, diff_queued_diff.queue[i]->two->path); + } + diff_flush(&opt); + return opt.flags.has_changes != 0; + } else { + for (i = 0; sb && i < the_index.cache_nr; i++) { + if (i) + strbuf_addch(sb, ' '); + strbuf_addstr(sb, the_index.cache[i]->name); + } + return !!the_index.cache_nr; + } +} + #define WRITE_BUFFER_SIZE 8192 static unsigned char write_buffer[WRITE_BUFFER_SIZE]; static unsigned long write_buffer_len; |
