Skip to content

Commit 2376cd2

Browse files
authored
Merge pull request libgit2#5151 from pks-t/pks/w32-unlink-symlink
w32: fix unlinking of directory symlinks
2 parents 1f44079 + 6be5ac2 commit 2376cd2

File tree

137 files changed

+288
-186
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

137 files changed

+288
-186
lines changed

fuzzers/standalone_driver.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
#include <stdio.h>
99

1010
#include "git2.h"
11-
#include "fileops.h"
11+
#include "futils.h"
1212
#include "path.h"
1313

1414
extern int LLVMFuzzerTestOneInput(const unsigned char *data, size_t size);

src/apply.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
#include "git2/repository.h"
1919
#include "array.h"
2020
#include "patch.h"
21-
#include "fileops.h"
21+
#include "futils.h"
2222
#include "delta.h"
2323
#include "zstream.h"
2424
#include "reader.h"

src/attr_file.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
#include "vector.h"
1515
#include "pool.h"
1616
#include "buffer.h"
17-
#include "fileops.h"
17+
#include "futils.h"
1818

1919
#define GIT_ATTR_FILE ".gitattributes"
2020
#define GIT_ATTR_FILE_INREPO "attributes"

src/blob.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
#include "git2/blob.h"
1313
#include "repository.h"
1414
#include "odb.h"
15-
#include "fileops.h"
15+
#include "futils.h"
1616

1717
struct git_blob {
1818
git_object object;

src/checkout.c

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1893,11 +1893,18 @@ static int checkout_create_the_new(
18931893
return error;
18941894
}
18951895

1896-
if (actions[i] & CHECKOUT_ACTION__UPDATE_BLOB) {
1897-
error = checkout_blob(data, &delta->new_file);
1898-
if (error < 0)
1896+
if (actions[i] & CHECKOUT_ACTION__UPDATE_BLOB && !S_ISLNK(delta->new_file.mode)) {
1897+
if ((error = checkout_blob(data, &delta->new_file)) < 0)
18991898
return error;
1899+
data->completed_steps++;
1900+
report_progress(data, delta->new_file.path);
1901+
}
1902+
}
19001903

1904+
git_vector_foreach(&data->diff->deltas, i, delta) {
1905+
if (actions[i] & CHECKOUT_ACTION__UPDATE_BLOB && S_ISLNK(delta->new_file.mode)) {
1906+
if ((error = checkout_blob(data, &delta->new_file)) < 0)
1907+
return error;
19011908
data->completed_steps++;
19021909
report_progress(data, delta->new_file.path);
19031910
}

src/clone.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
#include "git2/tree.h"
2020

2121
#include "remote.h"
22-
#include "fileops.h"
22+
#include "futils.h"
2323
#include "refs.h"
2424
#include "path.h"
2525
#include "repository.h"

src/config_cache.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
#include "common.h"
99

10-
#include "fileops.h"
10+
#include "futils.h"
1111
#include "repository.h"
1212
#include "config.h"
1313
#include "git2/config.h"

src/config_parse.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
#include "common.h"
1111

1212
#include "array.h"
13-
#include "fileops.h"
13+
#include "futils.h"
1414
#include "oid.h"
1515
#include "parse.h"
1616

src/crlf.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
#include "git2/index.h"
1313
#include "git2/sys/filter.h"
1414

15-
#include "fileops.h"
15+
#include "futils.h"
1616
#include "hash.h"
1717
#include "filter.h"
1818
#include "buf_text.h"

src/diff_file.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
#include "diff.h"
1313
#include "diff_generate.h"
1414
#include "odb.h"
15-
#include "fileops.h"
15+
#include "futils.h"
1616
#include "filter.h"
1717

1818
#define DIFF_MAX_FILESIZE 0x20000000

0 commit comments

Comments
 (0)