2015-03-23 19:36:10 +00:00
|
|
|
# NAME
|
|
|
|
|
2019-08-09 17:21:15 +00:00
|
|
|
git-annex merge - merge changes from remotes
|
2015-03-23 19:36:10 +00:00
|
|
|
|
|
|
|
# SYNOPSIS
|
|
|
|
|
2019-08-09 17:21:15 +00:00
|
|
|
git annex merge [branch]
|
2015-03-23 19:36:10 +00:00
|
|
|
|
|
|
|
# DESCRIPTION
|
|
|
|
|
2019-08-09 17:21:15 +00:00
|
|
|
When run without any parameters, this performs the same merging (and merge
|
git-annex pull and push
Split out two new commands, git-annex pull and git-annex push. Those plus a
git commit are equivilant to git-annex sync.
In a sense, git-annex sync conflates 3 things, and it would have been
better to have push and pull from the beginning and not sync. Although
note that git-annex sync --content is faster than a pull followed by a
push, because it only has to walk the tree once, look at preferred
content once, etc. So there is some value in git-annex sync in speed, as
well as user convenience.
And it would be hard to split out pull and push from sync, as far as the
implementaton goes. The implementation inside sync was easy, just adjust
SyncOptions so it does the right thing.
Note that the new commands default to syncing content, unless
annex.synccontent is explicitly set to false. I'd like sync to also do
that, but that's a hard transition to make. As a start to that
transition, I added a note to git-annex-sync.mdwn that it may start to
do so in a future version of git-annex. But a real transition would
necessarily involve displaying warnings when sync is used without
--content, and time.
Sponsored-by: Kevin Mueller on Patreon
2023-05-16 20:37:30 +00:00
|
|
|
conflict resolution) that is done by the `git-annex pull` and `git-annex sync`
|
|
|
|
commands, but without uploading or downloading any data.
|
2019-08-09 17:21:15 +00:00
|
|
|
|
|
|
|
When a branch to merge is specified, this merges it, using the same merge
|
git-annex pull and push
Split out two new commands, git-annex pull and git-annex push. Those plus a
git commit are equivilant to git-annex sync.
In a sense, git-annex sync conflates 3 things, and it would have been
better to have push and pull from the beginning and not sync. Although
note that git-annex sync --content is faster than a pull followed by a
push, because it only has to walk the tree once, look at preferred
content once, etc. So there is some value in git-annex sync in speed, as
well as user convenience.
And it would be hard to split out pull and push from sync, as far as the
implementaton goes. The implementation inside sync was easy, just adjust
SyncOptions so it does the right thing.
Note that the new commands default to syncing content, unless
annex.synccontent is explicitly set to false. I'd like sync to also do
that, but that's a hard transition to make. As a start to that
transition, I added a note to git-annex-sync.mdwn that it may start to
do so in a future version of git-annex. But a real transition would
necessarily involve displaying warnings when sync is used without
--content, and time.
Sponsored-by: Kevin Mueller on Patreon
2023-05-16 20:37:30 +00:00
|
|
|
conflict resolution as the `git-annex pull` command. This is especially useful on
|
2019-08-09 17:21:15 +00:00
|
|
|
an adjusted branch, because it applies the same adjustment to the
|
|
|
|
branch before merging it.
|
2015-03-23 19:36:10 +00:00
|
|
|
|
2017-06-01 16:46:36 +00:00
|
|
|
When annex.resolvemerge is set to false, merge conflict resolution
|
|
|
|
will not be done.
|
|
|
|
|
2021-05-10 19:00:13 +00:00
|
|
|
# OPTIONS
|
|
|
|
|
2021-07-19 16:08:24 +00:00
|
|
|
* `--allow-unrelated-histories`, `--no-allow-unrelated-histories`
|
|
|
|
|
|
|
|
Passed on to `git merge`, to control whether or not to merge
|
|
|
|
histories that do not share a common ancestor.
|
|
|
|
|
2023-05-10 16:32:00 +00:00
|
|
|
* `--json`
|
|
|
|
|
|
|
|
Enable JSON output. This is intended to be parsed by programs that use
|
|
|
|
git-annex. Each line of output is a JSON object.
|
|
|
|
|
|
|
|
* `--json-error-messages`
|
|
|
|
|
|
|
|
Messages that would normally be output to standard error are included in
|
|
|
|
the JSON instead.
|
|
|
|
|
2021-07-19 16:08:24 +00:00
|
|
|
* Also, the [[git-annex-common-options]](1) can be used.
|
2021-05-10 19:00:13 +00:00
|
|
|
|
2015-03-23 19:36:10 +00:00
|
|
|
# SEE ALSO
|
|
|
|
|
|
|
|
[[git-annex]](1)
|
|
|
|
|
git-annex pull and push
Split out two new commands, git-annex pull and git-annex push. Those plus a
git commit are equivilant to git-annex sync.
In a sense, git-annex sync conflates 3 things, and it would have been
better to have push and pull from the beginning and not sync. Although
note that git-annex sync --content is faster than a pull followed by a
push, because it only has to walk the tree once, look at preferred
content once, etc. So there is some value in git-annex sync in speed, as
well as user convenience.
And it would be hard to split out pull and push from sync, as far as the
implementaton goes. The implementation inside sync was easy, just adjust
SyncOptions so it does the right thing.
Note that the new commands default to syncing content, unless
annex.synccontent is explicitly set to false. I'd like sync to also do
that, but that's a hard transition to make. As a start to that
transition, I added a note to git-annex-sync.mdwn that it may start to
do so in a future version of git-annex. But a real transition would
necessarily involve displaying warnings when sync is used without
--content, and time.
Sponsored-by: Kevin Mueller on Patreon
2023-05-16 20:37:30 +00:00
|
|
|
[[git-annex-pull]](1)
|
|
|
|
|
2015-05-29 16:12:55 +00:00
|
|
|
[[git-annex-sync]](1)
|
|
|
|
|
2019-08-09 17:21:15 +00:00
|
|
|
[[git-annex-adjust]](1)
|
|
|
|
|
2015-03-23 19:36:10 +00:00
|
|
|
# AUTHOR
|
|
|
|
|
|
|
|
Joey Hess <id@joeyh.name>
|
|
|
|
|
|
|
|
Warning: Automatically converted into a man page by mdwn2man. Edit with care.
|