GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
git-annex-smudge(1) FreeBSD General Commands Manual git-annex-smudge(1)

git-annex-smudge - git filter driver for git-annex

git annex smudge [--clean] file

git annex smudge --update

This command lets git-annex be used as a git filter driver which lets annexed files in the git repository to be unlocked, instead of being symlinks, and lets git add store files in the annex.

When adding a file with git add, the annex.largefiles config is consulted to decide if a given file should be added to git as-is, or if its content are large enough to need to use git-annex. The annex.gitaddtoannex setting overrides that; setting it to false prevents git add from adding files to the annex.

However, if git-annex can tell that a file was annexed before, it will still be added to the annex even when those configs would normally prevent it. Two examples of this are adding a modified version of an annexed file, and moving an annexed file to a new filename and adding that.

The git configuration to use this command as a filter driver is as follows. This is normally set up for you by git-annex init, so you should not need to configure it manually.

[filter "annex"] smudge = git-annex smudge %f clean = git-annex smudge --clean %f

To make git use that filter driver, it needs to be configured in the .gitattributes file or in .git/info/attributes. The latter is normally configured when a repository is initialized, with the following contents:

* filter=annex .* !filter

The smudge filter does not provide git with the content of annexed files, because that would be slow and triggers memory leaks in git. Instead, it records which worktree files need to be updated, and git annex smudge --update later updates the work tree to contain the content. That is run by several git hooks, including post-checkout and post-merge. However, a few git commands, notably git stash and git cherry-pick, do not run any hooks, so after using those commands you can manually run git annex smudge --update to update the working tree.

The git-annex-common-options(1) can be used.

git-annex(1)

Joey Hess <id@joeyh.name>

Search for    or go to Top of page |  Section 1 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.