From 289881bdb8d0eb36c4ce272a5ceab4a5624b2579 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Fri, 27 Feb 2015 14:49:56 -0400 Subject: [PATCH] sync: As well as the synced/git-annex push, attempt a git-annex:git-annex push, as long as the remote branch is an ancestor of the local branch, to better support bare git repos. See my comment in the bug report for analysis; basically this is safe because it's a non-forced push, so won't lose history. Even if it was a forced push or somehow races, things will eventually become consistent and no git-annex branch info will be lost. (This used to be done, but it forgot to do it since version 4.20130909.) --- Command/Sync.hs | 4 +++- debian/changelog | 4 ++++ ..._47__downloads_has_wrong_git-annex_branch.mdwn | 15 +++++++++++++++ 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/Command/Sync.hs b/Command/Sync.hs index 16932b87c0..b69b9a020b 100644 --- a/Command/Sync.hs +++ b/Command/Sync.hs @@ -315,7 +315,9 @@ pushBranch remote branch g = tryIO (directpush g) `after` syncpush g , refspec branch ] directpush = Git.Command.runQuiet $ pushparams - [Git.fromRef $ Git.Ref.base $ fromDirectBranch branch] + [ Git.fromRef $ Git.Ref.base $ Annex.Branch.name + , Git.fromRef $ Git.Ref.base $ fromDirectBranch branch + ] pushparams branches = [ Param "push" , Param $ Remote.name remote diff --git a/debian/changelog b/debian/changelog index 55fed8d0b7..758a8d8163 100644 --- a/debian/changelog +++ b/debian/changelog @@ -15,6 +15,10 @@ git-annex (5.2015022) UNRELEASED; urgency=medium https://ghc.haskell.org/trac/ghc/ticket/7695 This prevents localization from working, but git-annex is not localized anyway. + * sync: As well as the synced/git-annex push, attempt a + git-annex:git-annex push, as long as the remote branch + is an ancestor of the local branch, to better support bare git repos. + (This used to be done, but it forgot to do it since version 4.20130909.) -- Joey Hess Thu, 19 Feb 2015 14:16:03 -0400 diff --git a/doc/bugs/git.kitenet.net__47__downloads_has_wrong_git-annex_branch.mdwn b/doc/bugs/git.kitenet.net__47__downloads_has_wrong_git-annex_branch.mdwn index c48c5201e0..ee1875e7e3 100644 --- a/doc/bugs/git.kitenet.net__47__downloads_has_wrong_git-annex_branch.mdwn +++ b/doc/bugs/git.kitenet.net__47__downloads_has_wrong_git-annex_branch.mdwn @@ -41,3 +41,18 @@ requête HTTP transmise, en attente de la réponse… 200 OK 5.20141125 on debian jessie. Sorry for the noise in that other bug report! I really thought it was the same issue .... --[[anarcat]] + +> The repository has a synced/git-annex that is newer, so it will be +> available if using git-annex sync. +> +> It looks like git-annex sync has not pushed git-annex:git-annex since +> [[!commit 6cdac3a003b6850fd96a60d94320d084d8651096]]. I think that commit might +> have removed that accidentially; I can't tell for sure. +> +> Adding git-annex:git-annex +> to the direct push would avoid this problem. Long as that push is not +> forced, there's no risk of overwriting other changes to the git-annex +> branch. (Even if it does get overwritten, there's no data loss; things +> will get into sync eventually.) +> +> So, I've added back the git-annex:git-annex push. [[done]] --[[Joey]]