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 c835166a7c add git-union-merge
This is a new git subcommand, that does a generic union merge operation
between two refs, storing the result in a branch. It operates efficiently
without touching the working tree. It does need to write out a temporary
index file, and may need to write out some other temp files as well.

This could be useful for anything that stores data in a branch,
and needs to merge changes into that branch without actually checking the
branch out. Since conflict handling can't be done without a working copy,
the merge type is always a union merge, which is fine for data stored in
log format (as git-annex does), or in non-conflicting files
(as pristine-tar does).

This probably belongs in git proper, but it will live in git-annex for now.

---

Plan is to move .git-annex/ to a git-annex branch, and use git-union-merge
to handle merging changes when pulling from remotes.

Some preliminary benchmarking using real .git-annex/ data indicates
that it's quite fast, except for the "git add" call, which is as slow
as "git add" tends to be with a big index.
2011-06-20 21:37:18 -04:00
Backend Bugfix: Fix fsck to not think all SHAnE keys are bad. 2011-06-10 11:43:28 -04:00
Command get --from is the same as copy --from 2011-06-09 18:54:49 -04:00
debian add git-union-merge 2011-06-20 21:37:18 -04:00
doc add git-union-merge 2011-06-20 21:37:18 -04:00
Remote bigfix: stat parent dirs 2011-06-13 21:46:28 -04:00
testdata update unicode FilePath handling 2011-02-11 15:37:37 -04:00
Types rename modules for data types into Types/ directory 2011-06-01 21:56:04 -04:00
Upgrade rename modules for data types into Types/ directory 2011-06-01 21:56:04 -04:00
.gitattributes git-annex setup 2011-03-19 18:56:36 -04:00
.gitignore add git-union-merge 2011-06-20 21:37:18 -04:00
Annex.hs pointless golfing 2011-06-20 21:37:18 -04:00
AnnexQueue.hs Periodically flush git command queue, to avoid boating memory usage too much. 2011-04-07 13:59:31 -04:00
Backend.hs rename modules for data types into Types/ directory 2011-06-01 21:56:04 -04:00
BackendList.hs only enable SHA backends that configure finds support for 2011-03-02 13:47:45 -04:00
Base64.hs simplified a bunch of Maybe handling 2011-05-15 03:38:08 -04:00
CHANGELOG symlinks 2010-10-27 15:14:59 -04:00
CmdLine.hs tweak 2011-06-02 02:40:43 -04:00
Command.hs rename modules for data types into Types/ directory 2011-06-01 21:56:04 -04:00
Config.hs make encrypted remotes have slightly higher costs 2011-04-17 01:13:21 -04:00
configure.hs gpg recommended 2011-04-16 19:13:05 -04:00
Content.hs rename modules for data types into Types/ directory 2011-06-01 21:56:04 -04:00
CopyFile.hs add whenM and unlessM 2011-05-17 03:13:11 -04:00
Crypto.hs rename modules for data types into Types/ directory 2011-06-01 21:56:04 -04:00
DataUnits.hs tweak 2011-03-26 15:10:12 -04:00
Dot.hs simplified a bunch of Maybe handling 2011-05-15 03:38:08 -04:00
git-annex-shell.hs tweak 2011-06-02 02:40:43 -04:00
git-annex.hs put in utf8 forcing workaround 2011-03-08 18:05:20 -04:00
git-union-merge.hs add git-union-merge 2011-06-20 21:37:18 -04:00
GitAnnex.hs tweak 2011-06-02 02:40:43 -04:00
GitQueue.hs avoid list traverse on queue 2011-04-07 15:00:29 -04:00
GitRepo.hs add git-union-merge 2011-06-20 21:37:18 -04:00
GPL symlinks 2010-10-27 15:14:59 -04:00
INSTALL symlinks 2010-10-27 15:14:59 -04:00
LocationLog.hs more monadic operator use 2011-05-15 15:27:49 -04:00
Locations.hs rename modules for data types into Types/ directory 2011-06-01 21:56:04 -04:00
Makefile add git-union-merge 2011-06-20 21:37:18 -04:00
mdwn2man mwdn2man: Fix a bug in newline supression. Closes: #606578 2010-12-10 17:27:02 -04:00
Messages.hs Maybe reduction pass 2 2011-05-15 12:25:58 -04:00
Options.hs clarify 2011-05-22 19:07:20 -04:00
README add README 2011-05-13 19:20:54 -04:00
Remote.hs Allow --trust etc to specify a repository by name, for temporarily trusting repositories that are not configured remotes. 2011-06-13 22:19:44 -04:00
RsyncFile.hs Add --debug option. Closes: #627499 2011-05-21 11:52:13 -04:00
Ssh.hs refactor 2011-04-09 14:26:32 -04:00
StatFS.hsc kFreeBSD support 2011-03-23 13:10:20 -04:00
test.hs fix test suite 2011-06-13 21:51:52 -04:00
TestConfig.hs refactor 2011-04-08 00:18:09 -04:00
Touch.hsc found a few places I can use newtype 2011-05-21 11:07:08 -04:00
Trust.hs better types allowed breaking module dep loop 2011-06-01 19:11:27 -04:00
TrustLevel.hs Add --trust, --untrust, and --semitrust options. 2011-06-01 17:57:31 -04:00
Types.hs rename modules for data types into Types/ directory 2011-06-01 21:56:04 -04:00
Upgrade.hs No longer auto-upgrade to repository format 2, to avoid accidental upgrades, etc. Use git-annex upgrade when you're ready to run this version. 2011-03-19 18:33:39 -04:00
Utility.hs Add --debug option. Closes: #627499 2011-05-21 11:52:13 -04:00
UUID.hs rename modules for data types into Types/ directory 2011-06-01 21:56:04 -04:00
Version.hs some reorg and further remote generalization 2011-03-27 21:43: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 <http://git-annex.branchable.com/>