Added a comment: possible explanation
This commit is contained in:
parent
c4e7b2a4d4
commit
bd07d03451
1 changed files with 75 additions and 0 deletions
|
@ -0,0 +1,75 @@
|
|||
[[!comment format=mdwn
|
||||
username="https://www.google.com/accounts/o8/id?id=AItOawkJafmCf-sg9_OM0pynFYM3AO4WCgJiaMI"
|
||||
nickname="Michele"
|
||||
subject="possible explanation"
|
||||
date="2013-10-29T11:56:21Z"
|
||||
content="""
|
||||
now, i tried to understand what happens. Instead of issuing the *git annex sync*, I relied on *git pull origin, git merge origin/master*, (I red [[http://git-annex.branchable.com/forum/Help_Windows_walkthrough/]] and I assume that pull origin / merge origin/master would work similarly to the \"download\" part of sync, *except for losing all my direct content*) just to understand what was going on, with a clarifying result:
|
||||
|
||||
while git annex sync fails on push, git pull origin fails on pull:
|
||||
|
||||
M:\win>git pull origin
|
||||
Updating 5408d6f..c566a69
|
||||
error: Your local changes to the following files would be overwritten by merge:
|
||||
myfile
|
||||
Please, commit your changes or stash them before you can merge.
|
||||
Aborting
|
||||
|
||||
note that the file has not been modified locally (just got it through git annex get).
|
||||
issuing a git diff, reveals:
|
||||
|
||||
M:\win>git diff myfile
|
||||
diff --git a/myfile b/myfile
|
||||
index beaf3e8..dc5b4ff 120000
|
||||
--- a/myfile
|
||||
+++ b/myfile
|
||||
@@ -1 +1 @@
|
||||
-.git/annex/objects/z5/v7/SHA256E-s8--6090923ed0931dcc6699f32fb66fa4ba32c10924088b12c66fb4ce35a91ba98c/SHA256E-s8\ No newline at end of file
|
||||
+linux.1
|
||||
(END)
|
||||
|
||||
ok, i follow suggestion, and I perform a git stash. that still wouldn't suffice for git annex sync:
|
||||
|
||||
M:\win>git annex sync
|
||||
commit
|
||||
ok
|
||||
pull origin
|
||||
ok
|
||||
push origin
|
||||
To ssh://michele@home/home/michele/homebase
|
||||
! [rejected] master -> synced/master (non-fast-forward)
|
||||
error: failed to push some refs to 'ssh://michele@home/home/michele/homebase'
|
||||
hint: Updates were rejected because a pushed branch tip is behind its remote
|
||||
hint: counterpart. Check out this branch and merge the remote changes
|
||||
hint: (e.g. 'git pull') before pushing again.
|
||||
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
|
||||
failed
|
||||
git-annex: sync: 1 failed
|
||||
|
||||
now, i can perform instead a *git pull origin*, since I am confident my content is stashed.
|
||||
|
||||
M:\win>git pull origin
|
||||
Updating 5408d6f..c566a69
|
||||
Fast-forward
|
||||
myfile => myfile.renamed | 0
|
||||
1 file changed, 0 insertions(+), 0 deletions(-)
|
||||
rename myfile => myfile.renamed (100%)
|
||||
|
||||
merge is not doing anything more: at this stage content has gone (file is a direct-mode symlink nad it cannot be fixed by fsck).
|
||||
But i can recover it from stash (and I must do it unless I want to get the annex to think i still have content).
|
||||
|
||||
git stash apply
|
||||
|
||||
voilà: the content is there! and the repos seems in good order.
|
||||
this only adds up that this is possibily a bug in the fact that git reports direct content as modified when indeed it hasn't been modified: but this affects git annex sync only when merging renaming files.
|
||||
git annex sync now works perfectly .
|
||||
|
||||
to sum it up, I have two questions:
|
||||
|
||||
1) does using stash to circumvent the problem expose me to any risk ?
|
||||
2) would the behaviour on receiving renames in the abovementioned situation worth to be signaled as a bug ?
|
||||
|
||||
|
||||
|
||||
|
||||
"""]]
|
Loading…
Add table
Add a link
Reference in a new issue