1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171
|
I'm hoping to use git-annex in a project to manage large image files and maintain archived copies of them on removable USB drives. But I can't get this to work the way it's described in the walkthrough and in the "git-annex/tips/offline archive drives" example. Here's what I did:
marshal@home[~]> git-annex version
git-annex version: 5.20140412ubuntu1
build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV Inotify DBus DesktopNotify XMPP DNS Feeds Quvi TDFA CryptoHash
key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 WORM URL
remote types: git gcrypt S3 bup directory rsync web webdav tahoe glacier hook external
Create the local repo:
marshal@home[~]> mkdir ~/annex
marshal@home[~]> cd ~/annex
marshal@home[~/annex]> git init
Initialized empty Git repository in /home/marshal/annex/.git/
marshal@home[~/annex]> git annex init "my laptop"
init my laptop ok
(Recording state in git...)
Create the remote repo (assume the warning can be ignored?)
marshal@home[~/annex]> cd /media/marshal/Sony\ USB/
marshal@home[/media/marshal/Sony USB]> git clone ~/annex
Cloning into 'annex'...
done.
warning: remote HEAD refers to nonexistent ref, unable to checkout.
marshal@home[/media/marshal/Sony USB]> cd annex
marshal@home[/media/marshal/Sony USB/annex]> git annex init "usbdrive"
init usbdrive ok
(Recording state in git...)
Make them remotes of each other
marshal@home[/media/marshal/Sony USB/annex]> git remote add laptop ~/annex
marshal@home[/media/marshal/Sony USB/annex]> cd ~/annex
marshal@home[~/annex]> git remote add usbdrive /media/marshal/Sony\ USB/annex/
Add some files into the local repo
marshal@home[~/annex]> cp ~/Desktop/file* .
marshal@home[~/annex]> git annex add .
add file1.m3u ok
add file2.sh ok
add file3.pdf ok
(Recording state in git...)
marshal@home[~/annex]> git commit -a -m "added files"
[master (root-commit) 4ea3be7] added files
3 files changed, 3 insertions(+)
create mode 120000 file1.m3u
create mode 120000 file2.sh
create mode 120000 file3.pdf
Change the preferred content settings
marshal@home[~/annex]> git annex group usbdrive archive
group usbdrive ok
(Recording state in git...)
marshal@home[~/annex]> git annex wanted usbdrive standard
wanted usbdrive ok
(Recording state in git...)
Sync to the usbdrive repo
marshal@home[~/annex]> git annex sync usbdrive
commit ok
pull usbdrive
remote: Counting objects: 7, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 5 (delta 1), reused 0 (delta 0)
Unpacking objects: 100% (5/5), done.
From /media/marshal/Sony USB/annex
* [new branch] git-annex -> usbdrive/git-annex
ok
(merging usbdrive/git-annex into git-annex...)
(Recording state in git...)
push usbdrive
Counting objects: 29, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (22/22), done.
Writing objects: 100% (25/25), 2.44 KiB | 0 bytes/s, done.
Total 25 (delta 3), reused 0 (delta 0)
To /media/marshal/Sony USB/annex/
* [new branch] git-annex -> synced/git-annex
* [new branch] master -> synced/master
ok
Copy eveything to the usbdrive repo
marshal@home[~/annex]> git-annex copy --auto --to usbdrive
copy file1.m3u (to usbdrive...)
SHA256E-s64061--c388e2c927cb4c88c11b1b5a8e166c4d8080dc528d53954dad1ee6d4933ce3c7.m3u
64,061 100% 29.84MB/s 0:00:00 (xfr#1, to-chk=0/1)
ok
copy file2.sh (to usbdrive...)
SHA256E-s318--b8729560cc759d2256903feaa4ba65994ccbac94f30515d52a39083ad52e1bad.sh
318 100% 0.00kB/s 0:00:00 (xfr#1, to-chk=0/1)
ok
copy file3.pdf (to usbdrive...)
SHA256E-s32239--9b051067d5ef9f0cb4a01750901bf6bee3f9348e5b10138c8ef416ac8d51e5df.pdf
32,239 100% 0.00kB/s 0:00:00 (xfr#1, to-chk=0/1)
ok
(Recording state in git...)
Check to see where git-annex "thinks" the files are
marshal@home[~/annex]> git-annex whereis file1.m3u
whereis file1.m3u (2 copies)
80fa5a68-3843-4e25-b4c9-53a8c51ba9ff -- here (my laptop)
d642b276-5f9b-4a5c-a42e-ea29cd9540b5 -- usbdrive
ok
Check the filesystem results
marshal@home[~/annex]> ls -la ~/annex
total 48
drwxrwxr-x 3 marshal marshal 4096 Jul 19 14:59 .
drwxr-xr-x 99 marshal marshal 24576 Jul 19 14:55 ..
lrwxrwxrwx 1 marshal marshal 194 Jul 19 14:59 file1.m3u -> .git/annex/objects/jq/MW/SHA256E-s64061--c388e2c927cb4c88c11b1b5a8e166c4d8080dc528d53954dad1ee6d4933ce3c7.m3u/SHA256E-s64061--c388e2c927cb4c88c11b1b5a8e166c4d8080dc528d53954dad1ee6d4933ce3c7.m3u
lrwxrwxrwx 1 marshal marshal 188 Jul 19 14:59 file2.sh -> .git/annex/objects/1J/2K/SHA256E-s318--b8729560cc759d2256903feaa4ba65994ccbac94f30515d52a39083ad52e1bad.sh/SHA256E- s318--b8729560cc759d2256903feaa4ba65994ccbac94f30515d52a39083ad52e1bad.sh
lrwxrwxrwx 1 marshal marshal 194 Jul 19 14:59 file3.pdf -> .git/annex/objects/77/Wj/SHA256E-s32239--9b051067d5ef9f0cb4a01750901bf6bee3f9348e5b10138c8ef416ac8d51e5df.pdf/SHA256E-s32239--9b051067d5ef9f0cb4a01750901bf6bee3f9348e5b10138c8ef416ac8d51e5df.pdf
drwxrwxr-x 9 marshal marshal 4096 Jul 19 15:04 .git
marshal@home[~/annex]> ls -la /media/marshal/Sony\ USB/annex/
total 4
drwx------ 1 marshal marshal 144 Jul 19 14:56 .
drwx------ 1 marshal marshal 4096 Jul 19 14:56 ..
drwx------ 1 marshal marshal 448 Jul 19 14:57 .git
Why is there nothing in the usbdrive repo? And worse, why is the whereis command saying there are 2 copies?
But if I sync from the usbdrive repo, the files are copied
marshal@home[~/annex]> cd /media/marshal/Sony\ USB/annex/
marshal@home[/media/marshal/Sony USB/annex]> git-annex sync laptop
(merging synced/git-annex origin/git-annex into git-annex...)
(Recording state in git...)
commit ok
pull laptop
remote: Counting objects: 23, done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 11 (delta 3), reused 0 (delta 0)
Unpacking objects: 100% (11/11), done.
From /home/marshal/annex
* [new branch] git-annex -> laptop/git-annex
* [new branch] master -> laptop/master
* [new branch] synced/master -> laptop/synced/master
Already up-to-date.
ok
(merging laptop/git-annex into git-annex...)
(Recording state in git...)
push laptop
Counting objects: 56, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (24/24), done.
Writing objects: 100% (33/33), 2.34 KiB | 0 bytes/s, done.
Total 33 (delta 15), reused 0 (delta 0)
To /home/marshal/annex
* [new branch] git-annex -> synced/git-annex
ok
marshal@home[/media/marshal/Sony USB/annex]> ls -la /media/marshal/Sony\ USB/annex/
total 6
drwx------ 1 marshal marshal 456 Jul 19 15:07 .
drwx------ 1 marshal marshal 4096 Jul 19 14:56 ..
lrwxrwxrwx 1 marshal marshal 396 Jul 19 15:07 file1.m3u -> .git/annex/objects/jq/MW/SHA256E-s64061--c388e2c927cb4c88c11b1b5a8e166c4d8080dc528d53954dad1ee6d4933ce3c7.m3u/SHA256E-s64061--c388e2c927cb4c88c11b1b5a8e166c4d8080dc528d53954dad1ee6d4933ce3c7.m3u
lrwxrwxrwx 1 marshal marshal 384 Jul 19 15:07 file2.sh -> .git/annex/objects/1J/2K/SHA256E-s318--b8729560cc759d2256903feaa4ba65994ccbac94f30515d52a39083ad52e1bad.sh/SHA256E-s318--b8729560cc759d2256903feaa4ba65994ccbac94f30515d52a39083ad52e1bad.sh
lrwxrwxrwx 1 marshal marshal 396 Jul 19 15:07 file3.pdf -> .git/annex/objects/77/Wj/SHA256E-s32239--9b051067d5ef9f0cb4a01750901bf6bee3f9348e5b10138c8ef416ac8d51e5df.pdf/SHA256E-s32239--9b051067d5ef9f0cb4a01750901bf6bee3f9348e5b10138c8ef416ac8d51e5df.pdf
drwx------ 1 marshal marshal 448 Jul 19 15:07 .git
Why did I have to sync from the usbdrive? I expected the repo setup and the --auto option to copy the files. What am I missing?
Any help much appreciated.
|