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 ec08b66bda
shouldAnnex: check isInodeKnown
Renamed unlocked files are now detected, and will always be
annexed, unless annex.largefiles disallows it.

This allows for git add's behavior to later be changed to otherwise
not annex files (whether by default or as a config option), without
worrying about the rename case.

This is not a major behavior change; annexing is still the default. But
there is one case where the behavior is changed, I think for the better:

	touch f
	git -c annex.largefiles=nothing add f
	git add bigfile
	git commit -m ...
	mv bigfile f
	git add f

Before, git-annex would see that f was previously not annexed,
and so the renamed bigfile content gets added to git. Now, it notices
that the inode is the one that bigfile used, and so it annexes it.

This potentially slows down git add a lot in some repositories because
of the poor performance of isInodeKnown when there are a lot of unlocked
files. Configuring annex.largefiles avoids the speed hit.
2019-10-23 14:49:45 -04:00
Annex remove unused function 2019-10-23 12:01:34 -04:00
Assistant Merge branch 'master' into sameas 2019-10-11 15:56:00 -04:00
Backend storing objects in git-lfs is working 2019-08-02 13:56:55 -04:00
Build copy the content linked to 2019-10-17 12:41:02 -04:00
CmdLine add --sameas option, not yet used 2019-10-01 12:36:25 -04:00
Command shouldAnnex: check isInodeKnown 2019-10-23 14:49:45 -04:00
Config update uninit to handle all the v7 stuff 2019-10-08 14:34:00 -04:00
Database horrible impementation of isInodeKnown 2019-10-23 14:37:29 -04:00
debian Removed support for git versions older than 2.1 2019-09-11 16:14:43 -04:00
doc horrible impementation of isInodeKnown 2019-10-23 14:37:29 -04:00
Git sync: Fix crash when there are submodules and an adjusted branch is checked out 2019-10-23 11:52:56 -04:00
Limit update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Logs make DropDead transition minimize remote.log for dead sameas remotes 2019-10-15 11:39:25 -04:00
Messages remove many old version ifdefs 2019-07-05 15:09:37 -04:00
P2P minor typos 2019-03-27 11:15:20 -04:00
Remote add RemoteStateHandle 2019-10-14 13:51:42 -04:00
RemoteDaemon update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
standalone git-annex-standalone.rpm: Fix the git-annex-shell symlink 2019-10-08 14:43:28 -04:00
static
templates
Test use #if not #ifdef 2019-09-24 17:32:33 -04:00
Types add RemoteStateHandle 2019-10-14 13:51:42 -04:00
Upgrade Refuse to upgrade direct mode repositories when git is older than 2.22 2019-08-29 15:24:41 -04:00
Utility horrible impementation of isInodeKnown 2019-10-23 14:37:29 -04:00
.ghci
.gitattributes
.gitignore
.mailmap
Annex.hs Removed support for git versions older than 2.1 2019-09-11 16:14:43 -04:00
Assistant.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Backend.hs plumb MeterUpdate into getKey 2019-06-25 11:43:24 -04:00
bash-completion.bash
Benchmark.hs
build.bat
BuildFlags.hs Drop support for building with aws older than 0.14. 2019-04-19 14:27:59 -04:00
BuildInfo.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
CHANGELOG sync: Fix crash when there are submodules and an adjusted branch is checked out 2019-10-23 11:52:56 -04:00
CmdLine.hs get rid of implicitMessages state 2019-06-12 14:01:41 -04:00
Command.hs remove most remnants of direct mode 2019-08-26 16:27:48 -04:00
Common.hs
Config.hs set annex-config-uuid when RemoteConfig contains a sameas-uuid 2019-10-10 12:58:59 -04:00
COPYRIGHT add entry for special remote example scripts which are GPL-3+ 2019-09-27 11:14:48 -04:00
Creds.hs rename RemoteConfigKey to RemoteConfigField 2019-10-10 15:44:05 -04:00
Crypto.hs inherit other fields 2019-10-10 16:11:21 -04:00
ghci
git-annex.cabal releasing package git-annex version 7.20191017 2019-10-17 18:19:47 -04: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 update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Jenkinsfile
Key.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Limit.hs fix annex.largefiles largerthan/smallerthan bug 2019-09-30 17:15:08 -04:00
Logs.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Makefile deal with flakey hdiutil 2019-10-17 16:28:48 -04:00
Messages.hs Fix find --json to output json once more. 2019-07-05 09:58:37 -04:00
NEWS releasing package git-annex version 7.20190912 2019-09-13 12:53:40 -04:00
README
Remote.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Setup.hs
stack-lts-12.14.yaml add stack-lts-12.14.yaml 2019-07-09 11:31:43 -04:00
stack.yaml Build with silently-1.2.5.1 on Windows; the old one used "NUL" which is not supported with recent versions of ghc. 2019-08-07 17:42:16 -04:00
Test.hs v7 for all repositories 2019-08-30 14:09:14 -04:00
Types.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Upgrade.hs fix build 2019-09-01 16:44:07 -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/>