[PATCH 25/48] merge-recursive: Split was_tracked() out of would_lose_untracked()
- From
Elijah Newren <newren@gmail.com>
- Date
- Jun 8, 2011, 07:30 UTC
- Message-ID
- <1307518278-23814-26-git-send-email-newren@gmail.com>
- In-Reply-To
- <1307518278-23814-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 <newren@gmail.com> --- merge-recursive.c | 11 ++++++++--- 1 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/merge-recursive.c b/merge-recursive.c index e59eec0..d19c519 100644 --- a/merge-recursive.c +++ b/merge-recursive.c @@ -622,7 +622,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)); @@ -639,11 +639,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.rc0.62.g2d69f