From: Elijah Newren Date: Fri, 12 Aug 2011 05:19:59 GMT Subject: [PATCHv2 26/56] merge-recursive: Split was_tracked() out of would_lose_untracked() Message-ID: <1313126429-17368-27-git-send-email-newren@gmail.com> In-Reply-To: <1313126429-17368-1-git-send-email-newren@gmail.com> 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 --- No changes since v1. merge-recursive.c | 11 ++++++++--- 1 files changed, 8 insertions(+), 3 deletions(-) diff --git a/merge-recursive.c b/merge-recursive.c index e1723d4..c12e4d5 100644 --- a/merge-recursive.c +++ b/merge-recursive.c @@ -623,7 +623,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)); @@ -640,11 +640,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) -- 1.7.6.100.gac5c1