From ba84ca76616683d08274770b07052e533dcafc73 Mon Sep 17 00:00:00 2001 From: "http://schnouki.net/" Date: Thu, 17 Apr 2014 11:50:35 +0000 Subject: [PATCH] --- .../sync_stages_deletions_on_remote.mdwn | 72 +++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 doc/forum/sync_stages_deletions_on_remote.mdwn diff --git a/doc/forum/sync_stages_deletions_on_remote.mdwn b/doc/forum/sync_stages_deletions_on_remote.mdwn new file mode 100644 index 0000000000..73a51d0b0a --- /dev/null +++ b/doc/forum/sync_stages_deletions_on_remote.mdwn @@ -0,0 +1,72 @@ +I'm having an issue with 2 repos: one on my laptop, the other on my NAS. Both are in indirect mode, running Arch Linux, and have the latest Git version. Laptop has git-annex 5.20140411-gda795e0, NAS has 5.20140319-g9aa31b7 (from prebuilt tarballs). + +The issue is quite simple. When I `git-annex add` new files on my laptop, commit them, and then `git-annex sync` them, they show up as staged for deletion on my NAS. + + laptop $ git annex add some-file + laptop $ git commit -m "Add some-file" + laptop $ git annex sync + commit ok + pull ds413j + ok + push ds413j + Counting objects: 133, done. + Delta compression using up to 8 threads. + Compressing objects: 100% (78/78), done. + Writing objects: 100% (80/80), 10.64 KiB | 0 bytes/s, done. + Total 80 (delta 12), reused 0 (delta 0) + To ssh://**/** + 1dcd188..8ef4249 git-annex -> synced/git-annex + c0f45a6..21711d6 master -> synced/master + ok + laptop $ ssh $NAS + nas $ git status + On branch master + Changes to be committed: + (use "git reset HEAD ..." to unstage) + + deleted: some-file + + nas $ + +If I run `git annex sync` on the NAS, it will create a new commit that deletes that file. So I have to play with `git reset`/`git checkout` by hand to make sure that the new file won't be deleted. + +I'm not sure when this started, but I think it was after I did some stupid mistake (`git checkout -B master synced/master`, kill a `git annex sync` with Ctrl+C, or something else that even resulted in my non-bare repo to have "bare=true" in .git/config...). And I haven't yet been able to fix this. + +Any idea what can have caused this, how to fix it, and how to prevent it from happening again in the future? + +.git/config on NAS: + + [core] + repositoryformatversion = 0 + filemode = true + logallrefupdates = true + [annex] + uuid = d54ae60a-1f59-403c-923f-32ea3bf2d00f + version = 5 + diskreserve = 1 megabyte + autoupgrade = ask + debug = false + +.git/config on laptop: + + [core] + repositoryformatversion = 0 + filemode = true + bare = false + logallrefupdates = true + [branch "master"] + [annex] + uuid = f20cb506-945d-4c78-af1a-0aa884bb899b + version = 5 + diskreserve = 20 gigabytes + autoupgrade = ask + debug = false + expireunused = 7d + genmetadata = true + [push] + default = matching + [remote "ds413j"] + url = ssh://**/** + fetch = +refs/heads/*:refs/remotes/ds413j/* + annex-uuid = d54ae60a-1f59-403c-923f-32ea3bf2d00f + annex-sync = true