Merge branch 'master' of ssh://git-annex.branchable.com

This commit is contained in:
Joey Hess 2020-05-28 15:56:07 -04:00
commit ba11fad102
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
2 changed files with 29 additions and 0 deletions

View file

@ -0,0 +1,11 @@
I'm using git annex sync to keep the `master` branch of various remotes in sync. Predictably, while the `synced/master` branch gets synced fine, the machine running git annex sync fails to push to the remote's `master` branch, since it's currently checked out:
ok
push indian
Everything up-to-date
remote: error: refusing to update checked out branch: refs/heads/master
To ssh://indian-wired/home/adam/org
! [remote rejected] master -> master (branch is currently checked out)
error: failed to push some refs to 'ssh://adam@indian-wired/home/adam/org'
Is there a way to get annex sync to only try to push to the remote's `synced/master` and not `master`? I see the `--no-push` option, but presumably this would prevent pushing to both, which is obviously not what I want.

View file

@ -0,0 +1,18 @@
[[!comment format=mdwn
username="kyle"
avatar="http://cdn.libravatar.org/avatar/7d6e85cde1422ad60607c87fa87c63f3"
subject="comment 1"
date="2020-05-28T17:55:10Z"
content="""
I don't think there's a way to do that. I think your main options are
* set `receive.denyCurrentBranch` to \"updateInstead\" or
* handle the pushing and fetching yourself. Follow up with a `git
annex merge` or with a `git annex sync` invocation that prevents
it from pushing/pulling.
I haven't used it myself, but my understanding is that `sync`s
recently added `--only-annex` is intended to support this case and
frees you from worrying about managing git-annex branches.
"""]]