summaryrefslogtreecommitdiff
path: root/src/checkout.c
diff options
context:
space:
mode:
authorEdward Thomson <ethomson@microsoft.com>2013-05-03 18:39:44 -0500
committerEdward Thomson <ethomson@microsoft.com>2013-05-03 18:54:47 -0500
commite09d18eed66d0239bea73af51e586f6ae651fe49 (patch)
tree6bd02e603cc2ca5d0a2220537265f6d3883f218c /src/checkout.c
parentdfec726bbae0e699b78db8f1b63372134c8467a6 (diff)
downloadlibgit2-e09d18eed66d0239bea73af51e586f6ae651fe49.tar.gz
allow checkout to proceed when a dir to be removed is in use (win32)
Diffstat (limited to 'src/checkout.c')
-rw-r--r--src/checkout.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/checkout.c b/src/checkout.c
index 21f32d89a..e9ec2bdab 100644
--- a/src/checkout.c
+++ b/src/checkout.c
@@ -955,6 +955,9 @@ static int checkout_remove_the_old(
uint32_t flg = GIT_RMDIR_EMPTY_PARENTS |
GIT_RMDIR_REMOVE_FILES | GIT_RMDIR_REMOVE_BLOCKERS;
+ if (data->opts.checkout_strategy & GIT_CHECKOUT_SKIP_LOCKED_DIRECTORIES)
+ flg |= GIT_RMDIR_SKIP_NONEMPTY;
+
git_buf_truncate(&data->path, data->workdir_len);
git_vector_foreach(&data->diff->deltas, i, delta) {