summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorGravatar Joey Hess <joeyh@joeyh.name>2015-08-14 13:49:55 -0400
committerGravatar Joey Hess <joeyh@joeyh.name>2015-08-14 13:49:55 -0400
commit84baaee08dba49a6f60fcd2a596338c8bc3c9f37 (patch)
tree3aa1edc3ee6b1a89fdc6abd5a9f430c60b2e49e0 /doc
parent6703c5b7241fafcec56f932e08212811157117ce (diff)
sync: Support --jobs
* sync: Support --jobs * sync --content: Avoid unnecessary second pull from remotes when no file transfers are made.
Diffstat (limited to 'doc')
-rw-r--r--doc/git-annex-sync.mdwn10
-rw-r--r--doc/todo/Support_--jobs_option_for___39__sync_--content__39__.mdwn15
2 files changed, 24 insertions, 1 deletions
diff --git a/doc/git-annex-sync.mdwn b/doc/git-annex-sync.mdwn
index 2f7180546..b4c23f843 100644
--- a/doc/git-annex-sync.mdwn
+++ b/doc/git-annex-sync.mdwn
@@ -65,6 +65,16 @@ by running "git annex sync" on the remote.
will only match the version of files currently in the work tree, but not
past versions of files.
+* `--jobs=N` `-JN`
+
+ Enables parallel syncing with up to the specified number of jobs
+ running at once. For example: `-J10`
+
+ When there are multiple git remotes, pushes will be made to them in
+ parallel. Pulls are not done in parallel because that tends to be
+ less efficient. When --content is synced, the files are processed
+ in parallel as well.
+
# SEE ALSO
[[git-annex]](1)
diff --git a/doc/todo/Support_--jobs_option_for___39__sync_--content__39__.mdwn b/doc/todo/Support_--jobs_option_for___39__sync_--content__39__.mdwn
index cabff5ffc..9923dcff6 100644
--- a/doc/todo/Support_--jobs_option_for___39__sync_--content__39__.mdwn
+++ b/doc/todo/Support_--jobs_option_for___39__sync_--content__39__.mdwn
@@ -1 +1,14 @@
-As the subject says. I mostly use `git annex sync --content` to transfer files between repositories, as its easier than running `git annex sync`, a bunch of `git annex copy`s and then a `git annex get` to make sure I have all the files I should have. It would be good if the shortcut could also work in parallel.
+As the subject says. I mostly use `git annex sync --content` to transfer
+files between repositories, as its easier than running `git annex sync`, a
+bunch of `git annex copy`s and then a `git annex get` to make sure I have
+all the files I should have. It would be good if the shortcut could also
+work in parallel.
+
+> It also can be faster to push concurrent. OTOH, concurrent pulls
+> can lead to the same git objects being downloaded redundantly, so best to
+> avoid those I think.
+>
+> I've implemented this. It suffers from the same
+> lack of support for displaying progress when running it parallel as
+> documented on [[parallel_get]]. Other than that wart, this is [[done]].
+> --[[Joey]]