From 3cf9bb36bf3ab826a7ea358132423ed2bf3bc7db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlo=20Marcelo=20Arenas=20Bel=C3=B3n?= Date: Fri, 13 Aug 2021 02:13:49 -0700 Subject: [PATCH 1/5] ci: use upload-artifacts v1 for dockerized jobs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit e9f79acb28 (ci: upgrade to using actions/{up,down}load-artifacts v2, 2021-06-23) changed all calls to that action from v1 to v2, but there is still an open bug[1] that affects all nodejs actions and prevents its use in 32-bit linux (as used by the Linux32 container) move all dockerized jobs to use v1 that was built in C# and therefore doesn't have this problem, which will otherwise manifest with confusing messages like: /usr/bin/docker exec 0285adacc4536b7cd962079c46f85fa05a71e66d7905b5e4b9b1a0e8b305722a sh -c "cat /etc/*release | grep ^ID" OCI runtime exec failed: exec failed: container_linux.go:380: starting container process caused: no such file or directory: unknown [1] https://github.com/actions/runner/issues/1011 Signed-off-by: Carlo Marcelo Arenas Belón Acked-by: Johannes Schindelin Signed-off-by: Junio C Hamano --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 47876a4f02e2cb..68596f25927570 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -271,7 +271,7 @@ jobs: if: failure() - name: Upload failed tests' directories if: failure() && env.FAILED_TEST_ARTIFACTS != '' - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v1 with: name: failed-tests-${{matrix.vector.jobname}} path: ${{env.FAILED_TEST_ARTIFACTS}} From d629921dbe2dd6d293f967b03636e2c886748491 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Mon, 23 Aug 2021 14:38:55 +0200 Subject: [PATCH 2/5] fixup! clean: do not traverse mount points This compile error fix was inadvertently squashed into 379fe49ce4c (clean: remove mount points when possible, 2018-12-11), but actually belongs into an earlier patch. Signed-off-by: Johannes Schindelin --- builtin/clean.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/builtin/clean.c b/builtin/clean.c index 6a221c03e7712a..35e7e300955226 100644 --- a/builtin/clean.c +++ b/builtin/clean.c @@ -175,7 +175,7 @@ static int remove_dirs(struct strbuf *path, const char *prefix, int force_flag, if (is_mount_point(path)) { if (!quiet) { - quote_path_relative(path->buf, prefix, "ed); + quote_path(path->buf, prefix, "ed, 0); printf(dry_run ? _(msg_would_skip_mount_point) : _(msg_skip_mount_point), quoted.buf); From 7b052e6d209cd0d600287a8addbe28e57419400c Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Mon, 23 Aug 2021 15:24:06 +0200 Subject: [PATCH 3/5] fixup! mingw: ignore HOMEDRIVE/HOMEPATH if it points to Windows' system directory The long-paths support comes later in Git for Windows' branch thicket... Signed-off-by: Johannes Schindelin --- compat/mingw.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/compat/mingw.c b/compat/mingw.c index 67afc2ed9d1f65..66cf93754d8a10 100644 --- a/compat/mingw.c +++ b/compat/mingw.c @@ -2612,9 +2612,9 @@ static size_t append_system_bin_dirs(char *path, size_t size) static int is_system32_path(const char *path) { - WCHAR system32[MAX_LONG_PATH], wpath[MAX_LONG_PATH]; + WCHAR system32[MAX_PATH], wpath[MAX_PATH]; - if (xutftowcs_long_path(wpath, path) < 0 || + if (xutftowcs_path(wpath, path) < 0 || !GetSystemDirectoryW(system32, ARRAY_SIZE(system32)) || _wcsicmp(system32, wpath)) return 0; From 72648d9205110fb8d3dd26d542f448345f81d9c7 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Mon, 23 Aug 2021 15:10:36 +0200 Subject: [PATCH 4/5] fixup! mingw: implement a platform-specific `strbuf_realpath()` This is needed to let the code compile without error. Signed-off-by: Johannes Schindelin --- compat/mingw.h | 1 + 1 file changed, 1 insertion(+) diff --git a/compat/mingw.h b/compat/mingw.h index 2286c4758189c5..171c15acb64ea7 100644 --- a/compat/mingw.h +++ b/compat/mingw.h @@ -446,6 +446,7 @@ static inline void convert_slashes(char *path) #define PATH_SEP ';' char *mingw_query_user_email(void); #define query_user_email mingw_query_user_email +struct strbuf; char *mingw_strbuf_realpath(struct strbuf *resolved, const char *path); #define platform_strbuf_realpath mingw_strbuf_realpath #if !defined(__MINGW64_VERSION_MAJOR) && (!defined(_MSC_VER) || _MSC_VER < 1800) From 8735530946cced809cc6cc4c2ca3b078cdb3dfc8 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Mon, 23 Aug 2021 15:24:59 +0200 Subject: [PATCH 5/5] fixup! mingw: support long paths This change was inadvertently kept in a patch that precedes the `core.longPaths` support. Signed-off-by: Johannes Schindelin --- compat/mingw.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/compat/mingw.c b/compat/mingw.c index ceb499f55b9bff..cd046da97afa02 100644 --- a/compat/mingw.c +++ b/compat/mingw.c @@ -3316,9 +3316,9 @@ static size_t append_system_bin_dirs(char *path, size_t size) static int is_system32_path(const char *path) { - WCHAR system32[MAX_PATH], wpath[MAX_PATH]; + WCHAR system32[MAX_LONG_PATH], wpath[MAX_LONG_PATH]; - if (xutftowcs_path(wpath, path) < 0 || + if (xutftowcs_long_path(wpath, path) < 0 || !GetSystemDirectoryW(system32, ARRAY_SIZE(system32)) || _wcsicmp(system32, wpath)) return 0;