22 Commits

Author SHA1 Message Date
Michael Cho
13be3c3073
unpack_strategy/directory: use mv for nested unpack
`mv` should preserve hardlinks and allow faster unpack on the same
filesystem. A secondary pass is done with `cp` to copy over attributes
onto any existing directories.

We only run this for nested unpacks as most direct Directory strategy
usage is for repositories where moving files breaks existing code.

This uses `cp -pR` for non-move as some potential user reported issues
could be due to Apple's `cp -l` on specific macOS versions. Can
consider re-adding `cp -l` with better handling for older macOS.
2024-10-20 11:29:30 -04:00
Michael Cho
cfb8ebb5d8
unpack_strategy/directory: try preserving hardlinks
Try running `cp -al` to preserve hardlinks on both macOS and Linux.

If that fails, fall back on `cp -a` which can preserve hardlinks on
Linux (but not macOS) assuming target filesystem supports them.
2024-10-03 20:30:41 -04:00
Markus Reiter
caf87c0336
Warn about undocumented non-private APIs. 2024-05-01 11:35:20 +02:00
Douglas Eichelberger
ab8f5702ac
git grep -l '^shared_examples' | xargs gsed -i 's|^shared_examples|RSpec.shared_examples|g' 2024-02-19 13:57:28 +00:00
Douglas Eichelberger
26eda5a303
git grep -l '^describe' | xargs gsed -i 's|^describe|RSpec.describe|g' 2024-02-19 13:57:27 +00:00
Douglas Eichelberger
9075cbae62 brew style --fix 2023-04-21 09:58:50 -07:00
Douglas Eichelberger
ac1e6ded9a git grep -l '# typed: false' | xargs gsed -i 's|# typed: false||g' 2023-04-21 09:57:47 -07:00
Issy Long
3a83b5492c
rubocop: Clean up Style/BlockDelimiters excludes and autofix offenses
- The defaults of using "do ... end" for multi-line blocks everywhere is
  good, better than switching everything to braces everywhere.
2023-03-08 23:54:22 +00:00
Shaun Jackman
aa5f6a7ccd
Fix test/unpack_strategy/zstd for Ubuntu 22.04 2022-09-06 14:16:17 +01:00
Alexander Bayandin
fe9a039774
unpack_strategy: add zstd 2021-09-20 14:12:30 +01:00
Markus Reiter
24ae318a3d Move type annotations into files. 2020-10-10 14:59:39 +02:00
Mike McQuaid
6a33959888
test/subversion: fix subversion paths/detection. 2019-11-06 14:58:33 +00:00
Mike McQuaid
69c1b4fcf9
subversion_spec: fix svnadmin calls on Linux.
Ensure that we only use `xcrun` on Catalina or newer.
2019-10-10 10:45:22 +01:00
Mike McQuaid
8a8fc68264
Ruby 2.6.3 brew tests fixes 2019-10-08 17:39:31 +01:00
Christian Moritz
3bb0f8c665 fix copying top level symlinks to folders in directory unpack_strategy 2019-05-17 00:54:34 +02:00
Mike McQuaid
36dbad3922
Add frozen_string_literal to all files. 2019-04-20 13:27:36 +09:00
Mike McQuaid
78eba5b815
Autofix RuboCop RSpec failures 2018-09-20 13:36:42 +01:00
Shaun Jackman
879f514e28 test/unpack_strategy: Handle svn unzip unavailable
Skip those tests that require svn or unzip.
2018-08-13 14:41:00 -07:00
Markus Reiter
d14f5dae7e Add spec for SVN directory name containing @. 2018-07-30 20:13:29 +02:00
Markus Reiter
83a1e8dd97 Refactor UnpackStrategy::Dmg. 2018-07-24 16:44:27 +02:00
Markus Reiter
eccd20e276 Merge Hbc::Container classes into UnpackStrategy. 2018-07-24 16:44:27 +02:00
Markus Reiter
b6e54a06e0 Refactor unpack strategies into separate files. 2018-07-23 20:59:28 +02:00