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 3802f2f270 work around lack of receive.denyCurrentBranch in direct mode
Now that direct mode sets core.bare=true, git's normal prohibition about
pushing into the currently checked out branch doesn't work.

A simple fix for this would be an update hook which blocks the pushes..
but git hooks must be executable, and git-annex needs to be usable on eg,
FAT, which lacks x bits.

Instead, enabling direct mode switches the branch (eg master) to a special
purpose branch (eg annex/direct/master). This branch is not pushed when
syncing; instead any changes that git annex sync commits get written to
master, and it's pushed (along with synced/master) to the remote.

Note that initialization has been changed to always call setDirect,
even if it's just setDirect False for indirect mode. This is needed because
if the user has just cloned a direct mode repo, that nothing has synced
with before, it may have no master branch, and only a annex/direct/master.
Resulting in that branch being checked out locally too. Calling setDirect False
for indirect mode moves back out of this branch, to a new master branch,
and ensures that a manual "git push" doesn't push changes directly to
the annex/direct/master of the remote. (It's possible that the user
makes a commit w/o using git-annex and pushes it, but nothing I can do
about that really.)

This commit was sponsored by Jonathan Harrington.
2013-11-05 21:08:31 -04:00
Annex work around lack of receive.denyCurrentBranch in direct mode 2013-11-05 21:08:31 -04:00
Assistant v5 for direct mode, with automatic upgrade 2013-11-05 17:05:03 -04:00
Backend Better sanitization of problem characters when generating URL and WORM keys. 2013-10-05 15:01:49 -04:00
Build avoid using "gcrypt" for git-remote-gcrypt; there's also a library by that name 2013-10-21 18:45:19 -04:00
Command work around lack of receive.denyCurrentBranch in direct mode 2013-11-05 21:08:31 -04:00
Common Use lower case hash directories for storing files on crippled filesystems, same as is already done for bare repositories. 2013-04-04 15:46:33 -04:00
Config hlint 2013-09-25 03:09:06 -04:00
debian v5 for direct mode, with automatic upgrade 2013-11-05 17:05:03 -04:00
doc work around lack of receive.denyCurrentBranch in direct mode 2013-11-05 21:08:31 -04:00
Git work around lack of receive.denyCurrentBranch in direct mode 2013-11-05 21:08:31 -04:00
GitAnnex pass -c option on to all git commands run 2013-11-05 13:38:37 -04:00
Limit add --want-get and --want-drop options 2013-10-28 14:50:17 -04:00
Logs refactor 2013-10-28 14:05:55 -04:00
Messages hlint 2013-04-03 03:52:41 -04:00
Remote map: Work when there are gcrypt remotes. 2013-11-04 14:14:44 -04:00
standalone refresh patches to current hackage versions 2013-10-18 22:44:06 -04:00
static animate syncing and other activity icons 2013-04-08 22:54:02 -04:00
templates get some users out of a corner of the UI they should not have ventured into 2013-11-02 21:06:17 -04:00
Types webapp: remind user when using repositories that lack consistency checks 2013-10-29 16:50:38 -04:00
Upgrade v5 for direct mode, with automatic upgrade 2013-11-05 17:05:03 -04:00
Utility fix quickcheck range 2013-11-01 11:54:26 -04:00
.ghci workaround for ghci fragility in reusing objects compiled with ghc 2012-10-20 16:20:42 -04:00
.gitattributes decruft 2011-06-22 18:56:08 -04:00
.gitignore git-recover-repository 1/2 done 2013-10-20 17:50:51 -04:00
Annex.hs automatically set and unset core.bare when switching to/from direct mode 2013-11-05 15:41:24 -04:00
Assistant.hs webapp: remind user when using repositories that lack consistency checks 2013-10-29 16:50:38 -04:00
Backend.hs Added SKEIN256 and SKEIN512 backends 2013-10-01 20:34:36 -04:00
BuildFlags.hs allow building w/o cryptohash 2013-10-03 12:33:38 -04:00
CHANGELOG symlinks 2010-10-27 15:14:59 -04:00
Checks.hs direct, indirect: Refuse to do anything when the assistant or git-annex watch daemon is running. 2013-04-22 16:41:46 -04:00
CmdLine.hs missed some __WINDOWS__ defines 2013-08-04 13:07:55 -04:00
Command.hs status: In local mode, displays information about variance from configured numcopies levels. 2013-09-15 19:10:38 -04:00
Common.hs clean up some ugly code 2013-09-27 19:52:36 -04:00
Config.hs v5 for direct mode, with automatic upgrade 2013-11-05 17:05:03 -04:00
configure.hs Rewrote free disk space checking code 2012-03-22 17:32:47 -04:00
COPYRIGHT Add link COPYRIGHT -> debian/copyright; add COPYRIGHT to sdist. 2012-06-11 23:27:00 -07:00
Creds.hs fix windows build 2013-10-02 20:33:13 -04:00
Crypto.hs remove *>=> and >=*> ; use <$$> instead 2013-09-27 19:58:48 -04:00
Fields.hs safe recv-key in direct mode 2013-01-11 16:03:45 -04:00
ghci brought back fast ghci 2013-02-27 21:38:01 -04:00
git-annex.cabal prep release 2013-11-01 11:57:47 -04:00
git-annex.hs try building test suite on windows 2013-05-17 16:45:44 -04:00
git-recover-repository.hs minor 2013-10-23 13:19:37 -04:00
git-union-merge.hs factor out nukeFile 2012-06-06 13:13:13 -04:00
Git.hs squash compiler warnings on Windows 2013-08-04 13:18:05 -04:00
GitAnnex.hs The "git annex content" command is renamed to "git annex wanted". 2013-10-28 14:08:38 -04:00
GitAnnexShell.hs git-annex-shell gcryptsetup command 2013-10-01 17:20:51 -04:00
Init.hs work around lack of receive.denyCurrentBranch in direct mode 2013-11-05 21:08:31 -04:00
INSTALL symlinks 2010-10-27 15:14:59 -04:00
Limit.hs refactor 2013-10-28 14:05:55 -04:00
Locations.hs add git fsck to cronner, and UI for repository repair (not yet wired up) 2013-10-22 16:02:52 -04:00
Logs.hs add a log file for scheduled activities 2013-10-07 16:06:34 -04:00
Makefile git-recover-repository 1/2 done 2013-10-20 17:50:51 -04:00
Messages.hs annex.debug can now be set to enable debug logging by default. The webapp's debugging check box does this. 2013-06-17 20:41:27 -04:00
NEWS update NEWS 2012-01-19 15:27:39 -04:00
Option.hs annex.debug can now be set to enable debug logging by default. The webapp's debugging check box does this. 2013-06-17 20:41:27 -04:00
README add README 2011-05-13 19:20:54 -04:00
Remote.hs automatically launch git repository repair 2013-10-27 16:42:13 -04:00
Seek.hs add: Fix reversion in 4.20130827 when adding unlocked files that have not yet been committed. 2013-10-28 13:46:26 -04:00
Setup.hs split out library 2013-04-17 12:02:44 -04:00
Test.hs uninit now leaves behind copies of the files, due to unannex behavior change 2013-11-01 12:18:16 -04:00
Types.hs moved AssociatedFile definition 2013-07-04 02:36:02 -04:00
Upgrade.hs v5 for direct mode, with automatic upgrade 2013-11-05 17:05:03 -04:00
Usage.hs content: New command line way to view and configure a repository's preferred content settings. 2013-05-25 12:44:58 -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/>