diff options
-rw-r--r-- | doc/sync/comment_2_2f06268709880ce09148e6465bda3fea._comment | 358 |
1 files changed, 358 insertions, 0 deletions
diff --git a/doc/sync/comment_2_2f06268709880ce09148e6465bda3fea._comment b/doc/sync/comment_2_2f06268709880ce09148e6465bda3fea._comment new file mode 100644 index 000000000..3a72108ad --- /dev/null +++ b/doc/sync/comment_2_2f06268709880ce09148e6465bda3fea._comment @@ -0,0 +1,358 @@ +[[!comment format=mdwn + username="https://www.google.com/accounts/o8/id?id=AItOawkS6aFVrEwOrDuQBTMXxtGHtueA69NS_jo" + nickname="Hans" + subject="error: unknown option `no-edit'" + date="2012-08-20T14:27:47Z" + content=""" +This might be a bug, or just me not understanding how to operate git-annex + +I'm on git-annex version: 3.20120629~bpo60+1 + + +Two computers will be used in the following hans-vita and ij + +At hans-vita + + mkdir test + cd test + git init + git annex init \"my laptop\" + echo \"some data\" > my.file + git annex add my.file + +At ij I now clone hans-vita + + git clone ssh://hans-vita/home/hans/test ~/test + Cloning into /home/hans/test... + remote: Counting objects: 10, done. + remote: Compressing objects: 100% (7/7), done. + remote: Total 10 (delta 1), reused 0 (delta 0) + Receiving objects: 100% (10/10), done. + Resolving deltas: 100% (1/1), done. + warning: remote HEAD refers to nonexistent ref, unable to checkout. + +Should I worry about that warning? + +Continuing, inspite of the warning, at ij + + cd ~/test + git annex init \"my desktop\" + init my desktop ok + (Recording state in git...) + +The contents of .git/config at ij is now + + cat .git/config + [core] + repositoryformatversion = 0 + filemode = true + bare = false + logallrefupdates = true + [remote \"origin\"] + fetch = +refs/heads/*:refs/remotes/origin/* + url = ssh://hans-vita/home/hans/test + [annex] + uuid = 415c56ba-eac9-11e1-b0a2-27785ae2fd77 + version = 3 + +hans-vita needs to be informed about ij, so it has something to sync against + + git remote add ij ssh://ij/home/hans/test + +Which makes .git/config at hans-vita look as: + + [core] + repositoryformatversion = 0 + filemode = true + bare = false + logallrefupdates = true + [annex] + uuid = 76804bf4-eac8-11e1-8c9b-078f858a8817 + version = 3 + [remote \"ij\"] + url = ssh://ij/home/hans/test + fetch = +refs/heads/*:refs/remotes/ij/* + +git-annex status on hans-vita says + + git-annex status + supported backends: SHA256 SHA1 SHA512 SHA224 SHA384 SHA256E SHA1E SHA512E SHA224E SHA384E WORM URL + supported remote types: git bup directory rsync web hook + trusted repositories: (merging origin/git-annex into git-annex...) + 0 + semitrusted repositories: 3 + 00000000-0000-0000-0000-000000000001 -- web + 415c56ba-eac9-11e1-b0a2-27785ae2fd77 -- here (my desktop) + 76804bf4-eac8-11e1-8c9b-078f858a8817 -- origin (my laptop) + untrusted repositories: 0 + dead repositories: 0 + available local disk space: 369 gigabytes (+1 megabyte reserved) + local annex keys: 0 + local annex size: 0 bytes + known annex keys: 0 + known annex size: 0 bytes + backend usage: + +And on ij, it says + + git-annex status + supported backends: SHA256 SHA1 SHA512 SHA224 SHA384 SHA256E SHA1E SHA512E SHA224E SHA384E WORM URL + supported remote types: git bup directory rsync web hook + trusted repositories: (merging origin/git-annex into git-annex...) + 0 + semitrusted repositories: 3 + 00000000-0000-0000-0000-000000000001 -- web + 415c56ba-eac9-11e1-b0a2-27785ae2fd77 -- here (my desktop) + 76804bf4-eac8-11e1-8c9b-078f858a8817 -- origin (my laptop) + untrusted repositories: 0 + dead repositories: 0 + available local disk space: 369 gigabytes (+1 megabyte reserved) + local annex keys: 0 + local annex size: 0 bytes + known annex keys: 0 + known annex size: 0 bytes + backend usage: + +OK, let's try to sync, start at hans-vita + + git-annex sync + commit + fatal: No HEAD commit to compare with (yet) + fatal: No HEAD commit to compare with (yet) + [master (root-commit) 6fdc775] git-annex automatic sync + 1 files changed, 1 insertions(+), 0 deletions(-) + create mode 120000 my.file + ok + pull ij + remote: Counting objects: 10, done. + remote: Compressing objects: 100% (6/6), done. + remote: Total 8 (delta 2), reused 1 (delta 0) + Unpacking objects: 100% (8/8), done. + From ssh://ij/home/hans/test + * [new branch] git-annex -> ij/git-annex + ok + (merging ij/git-annex into git-annex...) + push ij + Counting objects: 3, done. + Delta compression using up to 2 threads. + Compressing objects: 100% (2/2), done. + Writing objects: 100% (3/3), 319 bytes, done. + Total 3 (delta 0), reused 0 (delta 0) + To ssh://ij/home/hans/test + * [new branch] master -> synced/master + ok + +Got two errors, but I guess that is because ij never have run git-annex sync, so there are missing branches. + +Try, for the first time ever, git-annex sync from ij: + + git-annex sync + commit + fatal: No HEAD commit to compare with (yet) + fatal: No HEAD commit to compare with (yet) + # On branch master + # + # Initial commit + # + nothing to commit (create/copy files and use \"git add\" to track) + ok + fatal: ambiguous argument 'refs/heads/master..refs/heads/synced/master': unknown revision or path not in the working tree. + Use '--' to separate paths from revisions + pull origin + From ssh://hans-vita/home/hans/test + bd89f87..9c983a5 git-annex -> origin/git-annex + * [new branch] master -> origin/master + * [new branch] synced/master -> origin/synced/master + fatal: ambiguous argument 'refs/heads/master..refs/remotes/origin/master': unknown revision or path not in the working tree. + Use '--' to separate paths from revisions + ok + fatal: Not a valid object name: 'master'. + git-annex: failed to update refs/heads/synced/master + +No joy. + +What is missing? Some branch? hans-vita has + + git branch + git-annex + * master + synced/master + + git branch + git-annex + synced/master + +Does ij need a master of its own? The walkthrough was not enough here for me to understand the requirement, but <http://git-annex.branchable.com/forum/git_pull_remote_git-annex/#comment-e024054af990df6130f9f0a42a6de27a> made me believe that + +I need to do this from ij: + + git fetch + git merge/master + +So I did that, and tried again with git-annex sync from ij + + git-annex sync + commit + # On branch master + nothing to commit (working directory clean) + ok + pull origin + ok + +Great, now, what happens when hans-vita tries to sync? + + git-annex sync + commit + # On branch master + nothing to commit (working directory clean) + ok + pull ij + From ssh://ij/home/hans/test + * [new branch] master -> ij/master + ok + +It picks up the new branch at ij, good. + +But after I add a file at ij, hans-vita will not sync again. First, here is how I add the file from ij: + + cp ../qog.tex . + git-annex add . + add qog.tex (checksum...) ok + (Recording state in git...) + git-annex sync + commit + [master 25e00c5] git-annex automatic sync + Committer: Hans Ekbrand <hans@my.domain> + 1 files changed, 1 insertions(+), 0 deletions(-) + create mode 120000 qog.tex + ok + pull origin + ok + push origin + Counting objects: 10, done. + Delta compression using up to 2 threads. + Compressing objects: 100% (7/7), done. + Writing objects: 100% (8/8), 868 bytes, done. + Total 8 (delta 0), reused 0 (delta 0) + To ssh://hans-vita/home/hans/test + 9c983a5..19b0a0c git-annex -> git-annex + 6fdc775..25e00c5 master -> synced/master + ok + +Now, from hans-vita I try git-annex sync + + git-annex sync + commit + # On branch master + nothing to commit (working directory clean) + ok + merge synced/master + error: unknown option `no-edit' + usage: git merge [options] <remote>... + or: git merge [options] <msg> HEAD <remote> + + -n do not show a diffstat at the end of the merge + --stat show a diffstat at the end of the merge + --summary (synonym to --stat) + --log add list of one-line log to merge commit message + --squash create a single commit instead of doing a merge + --commit perform a commit if the merge succeeds (default) + --ff allow fast-forward (default) + --ff-only abort if fast-forward is not possible + --rerere-autoupdate update the index with reused conflict resolution if possible + -s, --strategy <strategy> + merge strategy to use + -X, --strategy-option <option=value> + option for selected merge strategy + -m, --message <message> + message to be used for the merge commit (if any) + -v, --verbose be more verbose + -q, --quiet be more quiet + + # On branch master + nothing to commit (working directory clean) + ok + pull ij + From ssh://ij/home/hans/test + 9c983a5..19b0a0c git-annex -> ij/git-annex + 6fdc775..25e00c5 master -> ij/master + 6fdc775..25e00c5 synced/master -> ij/synced/master + + error: unknown option `no-edit' + usage: git merge [options] <remote>... + or: git merge [options] <msg> HEAD <remote> + + -n do not show a diffstat at the end of the merge + --stat show a diffstat at the end of the merge + --summary (synonym to --stat) + --log add list of one-line log to merge commit message + --squash create a single commit instead of doing a merge + --commit perform a commit if the merge succeeds (default) + --ff allow fast-forward (default) + --ff-only abort if fast-forward is not possible + --rerere-autoupdate update the index with reused conflict resolution if possible + -s, --strategy <strategy> + merge strategy to use + -X, --strategy-option <option=value> + option for selected merge strategy + -m, --message <message> + message to be used for the merge commit (if any) + -v, --verbose be more verbose + -q, --quiet be more quiet + + # On branch master + nothing to commit (working directory clean) + ok + +I can get the change with pure git, though: + + git fetch ij + git merge ij/master + Updating 6fdc775..25e00c5 + Fast-forward + qog.tex | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + create mode 120000 qog.tex + +but git-annex sync no longer works from hans-vita + + git-annex sync + commit + # On branch master + nothing to commit (working directory clean) + ok + pull ij + + error: unknown option `no-edit' + usage: git merge [options] <remote>... + or: git merge [options] <msg> HEAD <remote> + + -n do not show a diffstat at the end of the merge + --stat show a diffstat at the end of the merge + --summary (synonym to --stat) + --log add list of one-line log to merge commit message + --squash create a single commit instead of doing a merge + --commit perform a commit if the merge succeeds (default) + --ff allow fast-forward (default) + --ff-only abort if fast-forward is not possible + --rerere-autoupdate update the index with reused conflict resolution if possible + -s, --strategy <strategy> + merge strategy to use + -X, --strategy-option <option=value> + option for selected merge strategy + -m, --message <message> + message to be used for the merge commit (if any) + -v, --verbose be more verbose + -q, --quiet be more quiet + + # On branch master + nothing to commit (working directory clean) + ok + +What did I do wrong? + + + + + +"""]] |