From: Elijah Newren Date: Fri, 12 Aug 2011 05:19:59 +0000 (-0600) Subject: merge-recursive: Split was_tracked() out of would_lose_untracked() X-Git-Tag: v1.7.7-rc1~28^2~31 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/aacb82de3ff8ae7b0a9e4cfec16c1807b6c315ef merge-recursive: Split was_tracked() out of would_lose_untracked() Checking whether a filename was part of stage 0 or stage 2 is code that we would like to be able to call from a few other places without also lstat()-ing the file to see if it exists in the working copy. Signed-off-by: Elijah Newren Signed-off-by: Junio C Hamano --- diff --git a/merge-recursive.c b/merge-recursive.c index 99c38d5514..a30e5a4449 100644 --- a/merge-recursive.c +++ b/merge-recursive.c @@ -621,7 +621,7 @@ static int dir_in_way(const char *path, int check_working_copy) return check_working_copy && !lstat(path, &st) && S_ISDIR(st.st_mode); } -static int would_lose_untracked(const char *path) +static int was_tracked(const char *path) { int pos = cache_name_pos(path, strlen(path)); @@ -638,11 +638,16 @@ static int would_lose_untracked(const char *path) switch (ce_stage(active_cache[pos])) { case 0: case 2: - return 0; + return 1; } pos++; } - return file_exists(path); + return 0; +} + +static int would_lose_untracked(const char *path) +{ + return !was_tracked(path) && file_exists(path); } static int make_room_for_path(const char *path)