sync: Fix git sync with local git remotes even when they don't have an annex.uuid set.

Catch an exception when ensureInitialized is run in a non-initted
repository. In this case, just read the git config, so that the Git.Repo
object is not LocalUnknown, which is what is used to represent remotes
on eg, drives that are not connected.

The assistant already got this right, and like with the assistant, this
causes an implicit git-annex init of the local remote on the second sync,
once the git-annex branch has been pushed to it.
See this comment for more analysis:
http://git-annex.branchable.com/todo/Recovering_from_a_bad_sync/#comment-64e469a2c1969829ee149cbb41b1c138

This commit was sponsored by jscit.
This commit is contained in:
Joey Hess 2014-07-15 14:27:43 -04:00
parent a3d73a2cb3
commit 522a0922b8
4 changed files with 19 additions and 15 deletions

2
debian/changelog vendored
View file

@ -15,6 +15,8 @@ git-annex (5.20140710) UNRELEASED; urgency=medium
resolution leave behind old files.
* Windows: Fix locking issue that prevented the webapp starting
(since 5.20140707).
* sync: Fix git sync with local git remotes even when they don't have an
annex.uuid set. (The assistant already did so.)
-- Joey Hess <joeyh@debian.org> Wed, 09 Jul 2014 23:29:21 -0400