
* webapp: Detect when upgrades are available, and upgrade if the user desires. (Only when git-annex is installed using the prebuilt binaries from git-annex upstream, not from eg Debian.) * assistant: Detect when the git-annex binary is modified or replaced, and either prompt the user to restart the program, or automatically restart it. * annex.autoupgrade configures both the above upgrade behaviors. * Added support for quvi 0.9. Slightly suboptimal due to limitations in its interface compared with the old version. * Bug fix: annex.version did not get set on automatic upgrade to v5 direct mode repo, so the upgrade was performed repeatedly, slowing commands down. * webapp: Fix bug that broke switching between local repositories that use the new guarded direct mode. * Android: Fix stripping of the git-annex binary. * Android: Make terminal app show git-annex version number. * Android: Re-enable XMPP support. * reinject: Allow to be used in direct mode. * Futher improvements to git repo repair. Has now been tested in tens of thousands of intentionally damaged repos, and successfully repaired them all. * Allow use of --unused in bare repository. # imported from the archive
21 lines
797 B
Markdown
21 lines
797 B
Markdown
Maybe you had a lot of files scattered around on different drives, and you
|
|
added them all into a single git-annex repository. Some of the files are
|
|
surely duplicates of others.
|
|
|
|
While git-annex stores the file contents efficiently, it would still
|
|
help in cleaning up this mess if you could find, and perhaps remove
|
|
the duplicate files.
|
|
|
|
Here's a command line that will show duplicate sets of files grouped together:
|
|
|
|
git annex find --include '*' --format='${file} ${escaped_key}\n' | \
|
|
sort -k2 | uniq --all-repeated=separate -f1 | \
|
|
sed 's/ [^ ]*$//'
|
|
|
|
Here's a command line that will remove one of each duplicate set of files:
|
|
|
|
git annex find --include '*' --format='${file} ${escaped_key}\n' | \
|
|
sort -k2 | uniq --repeated -f1 | sed 's/ [^ ]*$//' | \
|
|
xargs -d '\n' git rm
|
|
|
|
--[[Joey]]
|