diff options
author | Joey Hess <joeyh@joeyh.name> | 2017-06-01 12:46:36 -0400 |
---|---|---|
committer | Joey Hess <joeyh@joeyh.name> | 2017-06-01 12:51:01 -0400 |
commit | de8f6959d3cd4af348e7a72c45e6e1d6d3cd4cfa (patch) | |
tree | f63493430204d764d84a44a909f68b778b719716 /doc | |
parent | 5c058d99a26da3639afcbf855eb7b6ca3d628fb3 (diff) |
configuration to disable automatic merge conflict resolution
* Added annex.resolvemerge configuration, which can be set to false to
disable the usual automatic merge conflict resolution done by git-annex
sync and the assistant.
* sync: Added --no-resolvemerge option.
Note that disabling merge conflict resolution is probably not a good idea
in a direct mode repo or adjusted branch. Since updates to both are done
outside the usual work tree, if it fails the tree is not left in a
conflicted state, and it would be hard to manually resolve the conflict.
Still, made annex.resolvemerge be supported in those cases for consistency.
This commit was sponsored by Riku Voipio.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/forum/controlling_how___34__git_annex_sync__34___resolves_conflicts/comment_2_c091e5a668b15aca7b2faa955beab403._comment | 8 | ||||
-rw-r--r-- | doc/git-annex-config.mdwn | 6 | ||||
-rw-r--r-- | doc/git-annex-merge.mdwn | 3 | ||||
-rw-r--r-- | doc/git-annex-sync.mdwn | 17 | ||||
-rw-r--r-- | doc/git-annex.mdwn | 9 |
5 files changed, 38 insertions, 5 deletions
diff --git a/doc/forum/controlling_how___34__git_annex_sync__34___resolves_conflicts/comment_2_c091e5a668b15aca7b2faa955beab403._comment b/doc/forum/controlling_how___34__git_annex_sync__34___resolves_conflicts/comment_2_c091e5a668b15aca7b2faa955beab403._comment new file mode 100644 index 000000000..f254f6e7d --- /dev/null +++ b/doc/forum/controlling_how___34__git_annex_sync__34___resolves_conflicts/comment_2_c091e5a668b15aca7b2faa955beab403._comment @@ -0,0 +1,8 @@ +[[!comment format=mdwn + username="joey" + subject="""comment 2""" + date="2017-06-01T16:16:44Z" + content=""" +I've implemented the annex.automerge configuration setting, for the next +release. There's also a `git annex sync --no-resolvemerge` +"""]] diff --git a/doc/git-annex-config.mdwn b/doc/git-annex-config.mdwn index 8b505cde3..bf24251d8 100644 --- a/doc/git-annex-config.mdwn +++ b/doc/git-annex-config.mdwn @@ -32,6 +32,12 @@ These settings can be overridden on a per-repository basis using Set to false to prevent the git-annex assistant and git-annex sync from automatically committing changes to files in the repository. +* `annex.resolvemerge` + + Set to false to prevent merge conflicts being automatically resolved + by the git-annex assitant, git-annex sync, git-annex merge, + and the git-annex post-receive hook. + * `annex.synccontent` Set to true to make git-annex sync default to syncing content. diff --git a/doc/git-annex-merge.mdwn b/doc/git-annex-merge.mdwn index 3001e9bed..bb204d725 100644 --- a/doc/git-annex-merge.mdwn +++ b/doc/git-annex-merge.mdwn @@ -12,6 +12,9 @@ This performs the same merging (and merge conflict resolution) that is done by the sync command, but without pushing or pulling any data. +When annex.resolvemerge is set to false, merge conflict resolution +will not be done. + # SEE ALSO [[git-annex]](1) diff --git a/doc/git-annex-sync.mdwn b/doc/git-annex-sync.mdwn index a27d31565..2aa009cf8 100644 --- a/doc/git-annex-sync.mdwn +++ b/doc/git-annex-sync.mdwn @@ -21,11 +21,6 @@ worry about the details, you can use sync. The content of annexed objects is not synced by default, but the --content option (see below) can make that also be synchronized. -Merge conflicts are automatically handled by sync. When two conflicting -versions of a file have been committed, both will be added to the tree, -under different filenames. For example, file "foo" would be replaced -with "foo.somekey" and "foo.otherkey". - Note that syncing with a remote will not normally update the remote's working tree with changes made to the local repository. (Unless it's configured with receive.denyCurrentBranch=updateInstead.) However, those changes @@ -114,6 +109,18 @@ by running "git annex sync" on the remote. less efficient. When --content is synced, the files are processed in parallel as well. +* `--resolvemerge`, `--no-resolvemerge` + + By default, merge conflicts are automatically handled by sync. When two + conflicting versions of a file have been committed, both will be added + to the tree, under different filenames. For example, file "foo" + would be replaced with "foo.variant-A" and "foo.variant-B". (See + [[git-annex-resolvemerge]](1) for details.) + + Use `--no-resolvemerge` to disable this automatic merge conflict + resolution. It can also be disabled by setting annex.resolvemerge + to false. + # SEE ALSO [[git-annex]](1) diff --git a/doc/git-annex.mdwn b/doc/git-annex.mdwn index 8a841a941..99f6c9076 100644 --- a/doc/git-annex.mdwn +++ b/doc/git-annex.mdwn @@ -1040,6 +1040,15 @@ Here are all the supported configuration settings. To configure the behavior in all clones of the repository, this can be set in [[git-annex-config]]. +* `annex.resolvemerge` + + Set to false to prevent merge conflicts being automatically resolved + by the git-annex assitant, git-annex sync, git-annex merge, + and the git-annex post-receive hook. + + To configure the behavior in all clones of the repository, + this can be set in [[git-annex-config]]. + * `annex.synccontent` Set to true to make git-annex sync default to syncing content. |