aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG3
-rw-r--r--Command/Sync.hs2
-rw-r--r--doc/bugs/annex_sync___40__in_direct_mode_only__41___does_not_actually_update_local_branch__47__tree.mdwn2
-rw-r--r--doc/bugs/annex_sync___40__in_direct_mode_only__41___does_not_actually_update_local_branch__47__tree/comment_1_6fb5a4fec435eccc0528744c55b7468c._comment15
4 files changed, 21 insertions, 1 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 6246c46a1..d663815ac 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -30,6 +30,9 @@ git-annex (6.20180113) UNRELEASED; urgency=medium
can be used to disable automatic merge of git-annex branches.
* tips/automatically_adding_metadata/pre-commit-annex: Fix to not
silently skip filenames containing non-ascii characters.
+ * sync: Fix bug that prevented pulling changes into direct mode
+ repositories that were committed to remotes using git commit
+ rather than git-annex sync.
-- Joey Hess <id@joeyh.name> Wed, 24 Jan 2018 20:42:55 -0400
diff --git a/Command/Sync.hs b/Command/Sync.hs
index 75752f4ff..c2f0eebe7 100644
--- a/Command/Sync.hs
+++ b/Command/Sync.hs
@@ -434,7 +434,7 @@ mergeRemote remote currbranch mergeconfig resolvemergeoverride = ifM isBareRepo
(mapM (merge currbranch mergeconfig resolvemergeoverride Git.Branch.ManualCommit . remoteBranch remote) =<< getlist)
tomerge = filterM (changed remote)
branchlist Nothing = []
- branchlist (Just branch) = [branch, syncBranch branch]
+ branchlist (Just branch) = [fromDirectBranch (fromAdjustedBranch branch), syncBranch branch]
pushRemote :: SyncOptions -> Remote -> CurrBranch -> CommandStart
pushRemote _o _remote (Nothing, _) = stop
diff --git a/doc/bugs/annex_sync___40__in_direct_mode_only__41___does_not_actually_update_local_branch__47__tree.mdwn b/doc/bugs/annex_sync___40__in_direct_mode_only__41___does_not_actually_update_local_branch__47__tree.mdwn
index 33749a001..b768f030a 100644
--- a/doc/bugs/annex_sync___40__in_direct_mode_only__41___does_not_actually_update_local_branch__47__tree.mdwn
+++ b/doc/bugs/annex_sync___40__in_direct_mode_only__41___does_not_actually_update_local_branch__47__tree.mdwn
@@ -112,3 +112,5 @@ index 0000000..d00491f
6.20180206+gitg638032f3a-1~ndall+1
[[!meta author=yoh]]
+
+> [[fixed|done]] --[[Joey]]
diff --git a/doc/bugs/annex_sync___40__in_direct_mode_only__41___does_not_actually_update_local_branch__47__tree/comment_1_6fb5a4fec435eccc0528744c55b7468c._comment b/doc/bugs/annex_sync___40__in_direct_mode_only__41___does_not_actually_update_local_branch__47__tree/comment_1_6fb5a4fec435eccc0528744c55b7468c._comment
new file mode 100644
index 000000000..04b6d6202
--- /dev/null
+++ b/doc/bugs/annex_sync___40__in_direct_mode_only__41___does_not_actually_update_local_branch__47__tree/comment_1_6fb5a4fec435eccc0528744c55b7468c._comment
@@ -0,0 +1,15 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 1"""
+ date="2018-02-26T17:38:05Z"
+ content="""
+Seems that it's only merging from remotes/origin/synced/master, not
+remotes/origin/master. When `git annex sync` is used in the first
+repository, that works, but not when `git commit` is used.
+
+And it's due to being in direct mode because the annex/direct/master
+branch is checked out, so it tries to merge from
+remotes/origin/direct/master, which doesn't exist.
+
+This does not seem to be a reversion, but a long-ago oversight.
+"""]]