git-annex 10.20240701

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. Even without file content tracking, being able to manage files with git, move files around and delete files with versioned directory trees, and use branches and distributed clones, are all very handy reasons to use git. And annexed files can co-exist in the same git repository with regularly versioned files, which is convenient for maintaining documents, Makefiles, etc that are associated with annexed files but that benefit from full revision control. When a file is annexed, its content is moved into a key-value store, and a symlink is made that points to the content. These symlinks are checked into git and versioned like regular files. You can move them around, delete them, and so on. Pushing to another git repository will make git-annex there aware of the annexed file, and it can be used to retrieve its content from the key-value store.

Tags git archive haskell
License Mixed
State stable

Recent Releases

10.2024070103 Jul 2024 02:45 minor bugfix: Git-annex remotes can now act as proxies that provide access to. Their remotes. Configure this with And the git-annex update proxy command. Clusters are now supported. These are collections of nodes that can be accessed as a single entity, accessed by one or more gateway. Repositories. Added git-annex initcluster, updatecluster, and extendcluster commands. a where interrupting git-annex while it is updating the. Git-annex branch for an export could later lead to git fsck Complaining about missing tree objects. Tab completion of options like --from now includes special remotes, as well as proxied remotes and clusters. Tab completion of many commands like info and trust now includes. Remotes. P2P protocol version 2. Windows build with Win32 2.13.4+ Thanks, Oleg Tolmatcev. When --defilter or annex.defilter is set, avoid propigating. Deoutput from git-annex-shell, since it cannot be filtered. -- Joey Hess Mon, 01 Jul 2024 15:11:48 -0400.
10.2024053131 May 2024 18:05 minor feature: Git-remote-annex: New program which allows pushing a git repo to a. Git-annex special remote, and cloning from a special remote. (Based on Michael Hanke's git-remote-datalad-annex.). Initremote, enableremote: Added --with-url to enable using. Git-remote-annex. When building an adjusted unlocked branch, make pointer files. Executable when the annex object file is executable. Group: Added --list option. Fsck: recent reversion that made it say it was checksumming files. Whose content is not present. Avoid the --fast option preventing checksumming in some cases it. Was not supposed to. Testremote: Really fsck downloaded objects. Typo. Thanks, Yaroslav Halchenko. -- Joey Hess Thu, 30 May 2024 17:53:13 -0400.
10.2024043002 May 2024 06:05 minor feature: : While redundant concurrent transfers were already. Prevented in most cases, it failed to prevent the case where Two different repositories were sending the same content to The same repository. Addurl, importfeed: Added --verifiable option, which improves. The safety of --fast or --relaxed by letting the content of Annexed files be verified with a checksum that is calculated on a later download from the web. This will become the default later. Added rclone special remote, which can be used without needing to install the git-annex-remote-rclone program. This needs a forthcoming version of rclone (1.67.0), which supports. "rclone gitannex". Sync, assist, import: Allow -m option to be specified multiple. Times, to provide additional paragraphs for the commit message. Reregisterurl: New command that can change an url from being. Used by a special remote to being used by the web remote. Annex.maxextensions configuration controls how many filename. Extensions to preserve. Find: --help for --copies. Thanks, Gergely Risko. Windows: escaping output to terminal when using old. Versions of MinTTY. Added dependency on unbounded-delays. -- Joey Hess Tue, 30 Apr 2024 15:26:32 -0400.
10.2024022728 Feb 2024 10:25 minor feature: Importfeed: Added --scrape option, which uses yt-dlp to screen scrape. The equivilant of an RSS feed. Importfeed --force: Don't treat it as a failure when an already. Downloaded file exists. (a behavior change introduced in 10.20230626.). Importfeed --force: Avoid creating duplicates of existing. Already downloaded files when yt-dlp or a special remote was used. Addurl, importfeed: Added --raw-except option. Stack.yaml: Update to lts-22.9 and use crypton. Assistant, undo: When committing, let the usual git commit. Hooks run. Added annex.commitmessage-command config. Pre-commit: Avoid committing the git-annex branch. (except when a commit is made in a view, which changes metadata). Pass --no-warnings to yt-dlp. -- Joey Hess Tue, 27 Feb 2024 12:58:30 -0400.
10.2024012931 Jan 2024 02:05 minor feature: Info: Added "annex sizes of repositories" table to the overall display. Import: Sped up import from special remotes. Import: Added --message/-m option. Support using commands that implement the Stateless OpenPGP command line. Interface, as an alternative to gpg. Currently only supported for encryption=shared special remotes. When annex.shared-sop-command is configured. Test: Test a specified Stateless OpenPGP command when. Run with eg --test-git-config annex.shared-sop-command=sqop Improve disk free space checking when transferring unsized keys to. Local git remotes. Added configs annex.stalldetection-download, annex.stalldetection-upload. Annex.bwlimit-download, annex.bwlimit-upload, And similar per-remote configs. Improve annex.stalldetection to handle remotes that update progress. Less frequently than the configured time period. External: Monitor file size when getting content from external. Special remotes and use that to update the progress meter, in case the external special remote program does not report progress. Added --expected-present file matching option. Webapp: Added --port option, and annex.port config. Assistant: When generating a gpg secret key, avoid hardcoding the. Key algorithm and size. -- Joey Hess Mon, 29 Jan 2024 13:12:00 -0400.
10.2023122710 Jan 2024 17:50 minor feature: * migrate: Support distributed migrations by recording each migration, and adding a --update option that updates the local repository incrementally, hard linking annex objects to their new keys. * pull, sync: When operating on content, automatically handle distributed migrations. * Added annex.syncmigrations config that can be set to false to prevent pull and sync from migrating object content. * migrate: Added --apply option that (re)applies all recorded distributed migrations to the objects in repository. * migrate: Support adding size to URL keys that were added with --relaxed, by running eg: git-annex migrate --backend=URL foo * When importing from a special remote, support preferred content expressions that use terms that match on keys (eg "present", "copies=1"). Such terms are ignored when importing, since the key is not known yet. Before, such expressions caused the import to fail. * Support git-annex copy/move --from-anywhere --to remote. * Make git-annex get/copy/move --from foo override configuration of, as documented. * Lower precision of timestamps in git-annex branch, which can reduce the size of the branch by up to 8 . * sync: Fix locking problems during merge when annex.pidlock is set. * Avoid a problem with temp file names ending in "." on certian filesystems that have problems with such filenames. * sync, push: Avoid trying to send individual files to special remotes configured with importtree=yes exporttree=no, which would always fail. * Fix a crash opening sqlite databases when run in a non-unicode locale. (Needs persistent-sqlite 2.13.3.)
7.2019100917 Oct 2019 17:39 minor feature: