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.)
This commit is contained in:
Joey Hess 2015-02-27 14:49:56 -04:00
parent 1082b1dbdb
commit 289881bdb8
3 changed files with 22 additions and 1 deletions

View file

@ -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

4
debian/changelog vendored
View file

@ -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 <id@joeyh.name> Thu, 19 Feb 2015 14:16:03 -0400

View file

@ -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]]