CI to automate build of cargo lockfiles on different Alpine releases for git-annex aports https://gitlab.alpinelinux.org/alpine/aports/-/tree/master/community/git-annex
Find a file
Joey Hess a6bebe3c0f
make hashFile support paths with newlines
git hash-object --stdin-paths is a newline protocol so it cannot
support them. It would help to not use absPath, when the problem
is that the repository itself is in a path with a newline. But,
there's a reason it used absPath, which is that
git hash-object --stdin-paths actually chdirs to the top of the
repository on startup! That is not documented, and I think is a bug
in git.

I considered making the path relative to the top of the repo, but
then what if this is a git bug and gets fixed? git-annex would break
horribly.

So instead, keep the absPath, but when the path contains a newline,
fall back to running git hash-object once per file, which avoids
the problem with newlines and --stdin-paths. It will be slower,
but this is an edge case. (Similar slow code paths are already used
elsewhere when dealing with filenames with newlines and other parts
of git that use line-based protocols.)

Sponsored-by: Dartmouth College's Datalad project
2023-03-13 13:43:40 -04:00
Annex Windows: Support long filenames in more (possibly all) of the code 2023-03-01 15:55:58 -04:00
Assistant fix build on OSX 2023-03-03 13:20:49 -04:00
Backend Windows: Support long filenames in more (possibly all) of the code 2023-03-01 15:55:58 -04:00
Build added arm64-ancient build 2023-03-10 11:59:03 -04:00
CmdLine Windows: Support long filenames in more (possibly all) of the code 2023-03-01 15:55:58 -04:00
Command importfeed: Display feed title 2023-03-11 13:52:45 -04:00
Config use status --ignore-submodules in configureSmudgeFilter 2022-12-20 16:02:42 -04:00
Database Improve error message when unable to read a sqlite database due to permissions problem 2023-02-23 15:28:22 -04:00
debian add m68k to arch lists for webapp build deps 2023-02-23 14:26:20 -04:00
doc make hashFile support paths with newlines 2023-03-13 13:43:40 -04:00
Git make hashFile support paths with newlines 2023-03-13 13:43:40 -04:00
Limit new matching options --want-get-by and --want-drop-by 2022-07-28 13:26:03 -04:00
Logs understand adjusted view branch names 2023-02-27 14:57:58 -04:00
Messages factor out Utility.Aeson.textKey 2022-03-02 18:24:06 -04:00
P2P small RawFilePath optimisation 2023-03-02 10:53:12 -04:00
Remote fix build on windows 2023-03-03 12:58:39 -04:00
RemoteDaemon
standalone Revert "Removed the vendored git-lfs and the GitLfs build flag" 2023-01-04 17:33:29 -04:00
static
templates
Test Windows: Support long filenames in more (possibly all) of the code 2023-03-01 15:55:58 -04:00
Types add directory to views for files that lack specified metadata 2023-02-07 16:28:46 -04:00
Upgrade Windows: Support long filenames in more (possibly all) of the code 2023-03-01 15:55:58 -04:00
Utility fix OSx build better 2023-03-09 11:43:55 -04:00
.ghci turn of PackageImports in cabal file 2022-02-25 13:16:36 -04:00
.gitattributes
.gitignore ignore git-annex-build-deps files from dpkg-genbuilddeps 2023-01-29 11:29:51 -04:00
.mailmap
Annex.hs avoid flushing keys db queue after each Annex action 2022-10-12 14:12:23 -04:00
Assistant.hs
Backend.hs move several readonly values to AnnexRead 2022-06-28 15:40:19 -04:00
bash-completion.bash
Benchmark.hs
BuildFlags.hs show when build with Benchmark build flag 2022-08-29 14:55:58 -04:00
BuildInfo.hs
CHANGELOG importfeed: Display feed title 2023-03-11 13:52:45 -04:00
CmdLine.hs avoid flushing keys db queue after each Annex action 2022-10-12 14:12:23 -04:00
Command.hs add FIELD?=GLOB to git-annex view usage 2023-02-07 18:09:10 -04:00
Common.hs Windows: Support long filenames in more (possibly all) of the code 2023-03-01 15:55:58 -04:00
Config.hs added an optional cost= configuration to all special remotes 2023-01-12 13:42:28 -04:00
COPYRIGHT general copyright year bump 2023-01-09 15:05:27 -04:00
Creds.hs
Crypto.hs avoid setEnv while testing gpg 2022-05-18 16:05:11 -04:00
git-annex.cabal factor out convertToWindowsNativeNamespace into its own module 2023-03-01 13:28:39 -04:00
git-annex.hs
git-union-merge.hs
Git.hs use getSymbolicLinkStatus not getFileStatus to avoid crash on broken symlink 2022-09-05 13:46:32 -04:00
Key.hs
Limit.hs Windows: Support long filenames in more (possibly all) of the code 2023-03-01 15:55:58 -04:00
Logs.hs
Makefile Added libgcc_s.so.1 to the linux standalone build so pthread_cancel will work 2022-12-22 15:15:25 -04:00
Messages.hs
NEWS complete annex.skipunknown transition 2022-02-18 13:18:05 -04:00
README
Remote.hs better handling of multiple repositories with the same name 2023-02-13 14:31:09 -04:00
Setup.hs
stack.yaml Revert "stack.yaml: Update to lts-19.33 and aws-0.24" 2023-02-20 15:15:06 -04:00
Test.hs Windows: Support long filenames in more (possibly all) of the code 2023-03-01 15:55:58 -04:00
Types.hs
Upgrade.hs handle upgrading repositories initialized with --version=9 2022-09-26 12:59:51 -04:00

git-annex allows managing large files with git, without storing the file
contents in git. It can sync, backup, and archive your data, offline
and online. Checksums and encryption keep your data safe and secure. Bring
the power and distributed nature of git to bear on your large files with
git-annex.

For documentation, see doc/ or <https://git-annex.branchable.com/>