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 675556fd9a
smudge: check for known annexed inodes before checking annex.largefiles
smudge: Fix a case where an unlocked annexed file that annex.largefiles
does not match could get its unchanged content checked into git, due to git
running the smudge filter unecessarily.

When the file has the same inodecache as an already annexed file,
we can assume that the user is not intending to change how it's stored in
git.

Note that checkunchangedgitfile already handled the inverse case, where the
file was added to git previously. That goes further and actually sha1
hashes the new file and checks if it's the same hash in the index.

It would be possible to generate a key for the file and see if it's the
same as the old key, however that could be considerably more expensive than
sha1 of a small file is, and it is not necessary for the case I have, at
least, where the file is not modified or touched, and so its inode will
match the cache.

git-annex add was changed, when adding a small file, to remove the inode
cache for it. This is necessary to keep the recipe in
doc/tips/largefiles.mdwn for converting from annex to git working.
It also avoids bugs/case_where_using_pathspec_with_git-commit_leaves_s.mdwn
which the earlier try at this change introduced.
2021-05-10 13:20:10 -04:00
Annex fileRef: make paths relative and simplified 2021-05-07 13:25:59 -04:00
Assistant comment typo 2021-04-08 13:08:01 -04:00
Backend use fastDebug everywhere it can be used 2021-04-06 15:41:24 -04:00
Build Windows: Correct the path to the html help file for 64 bit build. 2021-02-24 13:19:42 -04:00
CmdLine make remoteKeyToRemoteName safer 2021-04-23 13:29:21 -04:00
Command smudge: check for known annexed inodes before checking annex.largefiles 2021-05-10 13:20:10 -04:00
Config add: Significantly speed up adding lots of non-large files to git 2021-01-04 13:12:28 -04:00
Database smudge: check for known annexed inodes before checking annex.largefiles 2021-05-10 13:20:10 -04:00
debian Enable building with git-annex benchmark by default 2020-10-02 13:57:10 -04:00
doc comment 2021-05-10 12:44:53 -04:00
Git fileRef: make paths relative and simplified 2021-05-07 13:25:59 -04:00
Limit prep for fixing find --branch --unlocked 2021-03-02 13:39:31 -04:00
Logs fix build after merge 2021-04-23 13:26:10 -04:00
Messages simplify transferr protocol 2020-12-11 12:52:22 -04:00
P2P switch from hslogger to purpose-built Utility.Debug 2021-04-05 13:40:31 -04:00
Remote Avoid more than 1 gpg password prompt at the same time 2021-04-27 16:36:44 -04:00
RemoteDaemon switch from hslogger to purpose-built Utility.Debug 2021-04-05 13:40:31 -04:00
standalone bump filepath-bytestring dep 2020-11-11 11:49:19 -04:00
static Revert "remove newlines from static js and css" 2014-06-13 02:20:39 -04:00
templates cache the serialization of a Key 2019-11-22 17:49:16 -04:00
Test improve display of test failures 2020-11-24 17:17:09 -04:00
Types fromkey unlocked files support 2021-05-03 11:26:18 -04:00
Upgrade start implementing hidden git-annex repositories 2021-04-20 15:04:53 -04:00
Utility fileRef: make paths relative and simplified 2021-05-07 13:25:59 -04:00
.ghci avoid ghci warning on tabs 2019-01-21 12:35:44 -04:00
.gitattributes update changelog location 2016-08-22 23:54:11 -04:00
.gitignore stack.yaml: Updated to lts-16.10 2020-08-24 14:11:37 -04:00
.mailmap alias for Yaroslav @ yahoo to mailmap 2015-09-09 12:38:59 -04:00
Annex.hs Avoid more than 1 gpg password prompt at the same time 2021-04-27 16:36:44 -04:00
Assistant.hs switch from hslogger to purpose-built Utility.Debug 2021-04-05 13:40:31 -04:00
Backend.hs incremental checksum on download from ssh or p2p 2021-02-09 17:03:27 -04:00
bash-completion.bash bash completion fix 2018-11-12 13:23:05 -04:00
Benchmark.hs move global options handling closer to Command definitions 2021-02-02 15:55:45 -04:00
BuildFlags.hs Removed the S3 and WebDAV build flags 2020-09-08 12:42:59 -04:00
BuildInfo.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
CHANGELOG smudge: check for known annexed inodes before checking annex.largefiles 2021-05-10 13:20:10 -04:00
CmdLine.hs fix fastDebug to check if debugging is actually enabled 2021-04-06 16:28:37 -04:00
Command.hs addon commands 2021-02-02 16:32:49 -04:00
Common.hs finish fixing removeLink on windows 2020-11-24 13:20:44 -04:00
Config.hs more RawFilePath conversion 2020-10-29 10:50:29 -04:00
COPYRIGHT update year 2021-01-04 12:45:19 -04:00
Creds.hs avoid getting creds from environment during autoenable 2021-03-17 09:41:12 -04:00
Crypto.hs fix strictness issue 2020-06-16 17:09:34 -04:00
git-annex.cabal Cabal: Use -O0 for development builds 2021-05-05 07:53:52 +02:00
git-annex.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
git-union-merge.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Git.hs avoid crashing when there are remotes using unparseable urls 2021-01-18 14:59:08 -04:00
Key.hs use GIT keys for export of non-annexed files 2021-03-05 14:12:11 -04:00
Limit.hs prep for fixing find --branch --unlocked 2021-03-02 13:39:31 -04:00
Logs.hs forget: Preserve currently exported trees 2021-04-13 15:00:23 -04:00
Makefile remove now redundant -O0 2021-05-07 11:25:34 -04:00
Messages.hs remove webapp debug check box 2021-04-06 17:23:12 -04:00
NEWS fix dist in latest NEWS entry 2020-09-14 12:05:12 -04:00
README use https 2014-11-06 14:20:10 -04:00
Remote.hs Behavior change: --trust option no longer overrides trust 2021-01-07 10:34:57 -04:00
Setup.hs Added git-remote-tor-annex, which allows git pull and push to the tor hidden service. 2016-11-21 17:27:38 -04:00
stack.yaml update to lts-16.27 2020-12-29 13:51:08 -04:00
Test.hs fix test that broke due to fromkey improvements 2021-05-03 14:09:49 -04:00
Types.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Upgrade.hs propagate git-annex -c on to transferrer child process 2020-12-15 11:36:25 -04:00

git-annex allows managing files with git, without checking the file
contents into git. While that may seem paradoxical, it is useful when
dealing with files larger than git can currently easily handle, whether due
to limitations in memory, checksumming time, or disk space.

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