diff options
| author | ruki <[email protected]> | 2024-03-31 22:27:29 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2024-03-31 22:27:44 +0800 |
| commit | c30d3a61ddf08e691ca1f4d2dc17bfe0dc33d85e (patch) | |
| tree | 4a05b9e88f200b1a3cc7be05fb2609b745e17d56 /xmake/modules/private/action/require/impl/actions/download.lua | |
| parent | 479ebb1da2792c84758dea5d6b9a025fba47a9fc (diff) | |
enable longpaths for submodule/reset #4905
Diffstat (limited to 'xmake/modules/private/action/require/impl/actions/download.lua')
| -rw-r--r-- | xmake/modules/private/action/require/impl/actions/download.lua | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/xmake/modules/private/action/require/impl/actions/download.lua b/xmake/modules/private/action/require/impl/actions/download.lua index 0556e9f6a..988461e36 100644 --- a/xmake/modules/private/action/require/impl/actions/download.lua +++ b/xmake/modules/private/action/require/impl/actions/download.lua @@ -38,6 +38,9 @@ import("utils.archive") function _checkout(package, url, sourcedir, opt) opt = opt or {} + -- we need to enable longpaths on windows + local longpaths = package:policy("platform.longpaths") + -- use previous source directory if exists local packagedir = path.join(sourcedir, package:name()) if os.isdir(path.join(packagedir, ".git")) and @@ -50,7 +53,7 @@ function _checkout(package, url, sourcedir, opt) -- clean and reset submodules if os.isfile(path.join(packagedir, ".gitmodules")) then git.submodule.clean({repodir = packagedir, force = true, all = true}) - git.submodule.reset({repodir = packagedir, hard = true}) + git.submodule.reset({repodir = packagedir, hard = true, longpaths = longpaths}) end tty.erase_line_to_start().cr() return @@ -71,7 +74,7 @@ function _checkout(package, url, sourcedir, opt) git.reset({repodir = localdir, hard = true}) if os.isfile(path.join(localdir, ".gitmodules")) then git.submodule.clean({repodir = localdir, force = true, all = true}) - git.submodule.reset({repodir = localdir, hard = true}) + git.submodule.reset({repodir = localdir, hard = true, longpaths = longpaths}) end os.cp(localdir, packagedir) tty.erase_line_to_start().cr() @@ -81,9 +84,6 @@ function _checkout(package, url, sourcedir, opt) -- remove temporary directory os.rm(sourcedir .. ".tmp") - -- we need to enable longpaths on windows - local longpaths = package:policy("platform.longpaths") - -- download package from branches? packagedir = path.join(sourcedir .. ".tmp", package:name()) local branch = package:branch() |
