git-annex/Command
Joey Hess b6ba0bd556 sync --content: New option that makes the content of annexed files be transferred.
Similar to the assistant, this honors any configured preferred content
expressions.

I am not entirely happpy with the implementation. It would be nicer if
the seek function returned a list of actions which included the individual
file gets and copies and drops, rather than the current list of calls to
syncContent. This would allow getting rid of the somewhat reundant display
of "sync file [ok|failed]" after the get/put display.

But, do that, withFilesInGit would need to somehow be able to construct
such a mixed action list. And it would be less efficient than the current
implementation, which is able to reuse several values between eg get and
drop.

Note that currently this does not try to satisfy numcopies when
getting/putting files (numcopies are of course checked when dropping
files!) This makes it like the assistant, and unlike get --auto
and copy --auto, which do duplicate files when numcopies is not yet
satisfied. I don't know if this is the right decision; it only seemed to
make sense to have this parallel the assistant as far as possible to start
with, since I know the assistant works.

This commit was sponsored by Øyvind Andersen Holm.
2014-01-19 17:49:54 -04:00
..
Add.hs add: Fix rollback when disk is completely full. 2014-01-05 14:09:57 -04:00
AddUnused.hs add, import, assistant: Better preserve the mtime of symlinks, when when adding content that gets deduplicated. 2013-09-25 16:07:11 -04:00
AddUrl.hs also check diskreserve for quvi downloads 2014-01-04 15:38:59 -04:00
Assistant.hs make "git annex help options" work outside a git repo 2013-11-30 15:18:40 -04:00
Commit.hs add section metadata to all commands 2013-03-24 18:28:21 -04:00
ConfigList.hs git-annex-shell: Added support for operating inside gcrypt repositories. 2013-09-24 17:25:47 -04:00
Copy.hs mirror: New command, makes two repositories contain the same set of files. 2013-08-20 15:46:35 -04:00
Dead.hs make dead output consistent with other trust setting commands 2013-06-18 15:41:19 -04:00
Describe.hs add section metadata to all commands 2013-03-24 18:28:21 -04:00
Direct.hs Auto-upgrade v3 indirect repos to v5 with no changes. This also fixes a problem when a direct mode repo was somehow set to v3 rather than v4, and so the automatic direct mode upgrade to v5 was not done. 2013-12-29 13:06:23 -04:00
Drop.hs mirror: Support --all (and --unused). 2014-01-01 17:39:33 -04:00
DropKey.hs add section metadata to all commands 2013-03-24 18:28:21 -04:00
DropUnused.hs dropunused behavior change: Now refuses to drop the last copy of a file, unless you use the --force. 2013-07-25 19:50:44 -04:00
EnableRemote.hs improve output when there are no known special remotes 2014-01-18 13:21:12 -04:00
ExamineKey.hs Remove --json option from commands not supporting it. 2014-01-18 11:54:43 -04:00
Find.hs Remove --json option from commands not supporting it. 2014-01-18 11:54:43 -04:00
Fix.hs avoid using Utility.Touch without WITH_CLIBS 2013-11-12 21:05:04 -04:00
Forget.hs avoid double commit during transition 2013-09-03 16:33:15 -04:00
FromKey.hs fix permission damage (thanks, Windows) 2013-05-11 23:54:25 -04:00
Fsck.hs pull in Win32-extras, to be able to get current process id in Windows 2013-12-11 00:15:10 -04:00
FuzzTest.hs reduce the amount of subdirectories created by the fuzz tester to saner limit 2013-05-26 16:15:25 -04:00
GCryptSetup.hs Fix enabling of gcrypt repository accessed over ssh; git-annex-shell gcryptsetup had a bug that caused it to fail with permission denied. 2013-11-02 20:15:40 -04:00
Get.hs sync --content: New option that makes the content of annexed files be transferred. 2014-01-19 17:49:54 -04:00
Group.hs content: New command line way to view and configure a repository's preferred content settings. 2013-05-25 12:44:58 -04:00
Help.hs make "git annex help options" work outside a git repo 2013-11-30 15:18:40 -04:00
Import.hs better handling of overwriting an existing file/directory/broken link when importing 2013-12-09 13:43:47 -04:00
ImportFeed.hs fix form of quvi url 2014-01-05 13:35:14 -04:00
InAnnex.hs add section metadata to all commands 2013-03-24 18:28:21 -04:00
Indirect.hs Auto-upgrade v3 indirect repos to v5 with no changes. This also fixes a problem when a direct mode repo was somehow set to v3 rather than v4, and so the automatic direct mode upgrade to v5 was not done. 2013-12-29 13:06:23 -04:00
Info.hs improve matcher data type to allow matching Keys, instead of just files (no behavior changes) 2014-01-18 14:51:55 -04:00
Init.hs add section metadata to all commands 2013-03-24 18:28:21 -04:00
InitRemote.hs partially complete gcrypt remote (local send done; rest not) 2013-09-07 18:38:00 -04:00
List.hs list: Fix specifying of files to list. 2014-01-18 13:25:06 -04:00
Lock.hs lock: Require --force. 2013-12-05 16:05:07 -04:00
Log.hs refactor git-annex branch log filename code into central location 2013-08-29 19:13:00 -04:00
LookupKey.hs Add plumbing-level lookupkey examinekey command. 2013-12-15 14:52:09 -04:00
Map.hs map: Fix display of v5 direct mode repos. 2014-01-13 15:36:02 -04:00
Merge.hs sync: Work even when the local git repository is new and empty, with no master branch. 2013-11-02 15:29:38 -04:00
Migrate.hs migrate: Detect if a file gets corrupted while it's being migrated. 2013-05-13 14:27:39 -04:00
Mirror.hs mirror: Support --all (and --unused). 2014-01-01 17:39:33 -04:00
Move.hs copy --from, get --from: When --force is used, ignore the location log and always try to get the file from the remote. 2013-12-02 15:41:20 -04:00
PreCommit.hs Avoid using git commit in direct mode, since in some situations it will read the full contents of files in the tree. 2013-12-01 13:59:45 -04:00
RecvKey.hs fix transferring to gcrypt repo from direct mode repo 2013-10-01 14:19:24 -04:00
Reinject.hs reinject: Allow to be used in direct mode. 2013-11-26 16:15:49 -04:00
ReKey.hs add, import, assistant: Better preserve the mtime of symlinks, when when adding content that gets deduplicated. 2013-09-25 16:07:11 -04:00
Repair.hs repair: better messages when nuking .git/annex/index 2014-01-13 16:47:18 -04:00
RmUrl.hs rmurl: New command, removes one of the recorded urls for a file. 2013-04-22 17:18:53 -04:00
Schedule.hs wanted, schedule: Avoid printing "ok" after requested value. 2014-01-03 14:51:32 -04:00
Semitrust.hs add section metadata to all commands 2013-03-24 18:28:21 -04:00
SendKey.hs merge with git-repair 2013-11-19 17:08:57 -04:00
Status.hs status: Support --json. 2014-01-18 12:05:10 -04:00
Sync.hs sync --content: New option that makes the content of annexed files be transferred. 2014-01-19 17:49:54 -04:00
Test.hs Really fix FTBFS on mipsel and sparc due to test suite not being available on those architectures. 2014-01-17 14:48:56 -04:00
TransferInfo.hs hlint 2013-09-25 03:09:06 -04:00
TransferKey.hs update comment 2013-12-19 16:48:55 -04:00
TransferKeys.hs port transferkeys to windows; make stopping in progress transfers work too (probably) 2013-12-10 23:19:18 -04:00
Trust.hs add section metadata to all commands 2013-03-24 18:28:21 -04:00
Unannex.hs unannex: New, much slower, but more safe behavior 2013-10-28 16:56:01 -04:00
Ungroup.hs add section metadata to all commands 2013-03-24 18:28:21 -04:00
Uninit.hs prune unused import 2013-11-01 11:37:58 -04:00
Unlock.hs 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
Untrust.hs add section metadata to all commands 2013-03-24 18:28:21 -04:00
Unused.hs avoid trying to find minimum element of empty map 2014-01-18 11:38:01 -04:00
Upgrade.hs make "git annex help options" work outside a git repo 2013-11-30 15:18:40 -04:00
Version.hs Auto-upgrade v3 indirect repos to v5 with no changes. This also fixes a problem when a direct mode repo was somehow set to v3 rather than v4, and so the automatic direct mode upgrade to v5 was not done. 2013-12-29 13:06:23 -04:00
Vicfg.hs add schedule command 2013-10-13 15:40:38 -04:00
Wanted.hs wanted, schedule: Avoid printing "ok" after requested value. 2014-01-03 14:51:32 -04:00
Watch.hs webapp: Check annex.version. 2013-11-17 14:58:35 -04:00
WebApp.hs make "git annex help options" work outside a git repo 2013-11-30 15:18:40 -04:00
Whereis.hs whereis supports --json, add option 2014-01-18 13:05:56 -04:00
XMPPGit.hs make "git annex help options" work outside a git repo 2013-11-30 15:18:40 -04:00