File: rsyncing_.git__47__annex__47__objects.mdwn

package info (click to toggle)
git-annex 5.20141125%2Bdeb8u1
  • links: PTS
  • area: main
  • in suites: jessie
  • size: 37,832 kB
  • sloc: haskell: 42,603; sh: 1,080; ansic: 498; makefile: 316; perl: 125
file content (24 lines) | stat: -rw-r--r-- 1,050 bytes parent folder | download | duplicates (11)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
In short: is it safe to rsync .git/annex/objects/ to other clones?

I'm in the process of migrating a lot of my files to a new backend.  Most them
still use the old non-file-size-tracking SHA1 backend from when WORM was the
default.  I have multiple clones that each use about 460 GB of their 500 GB
drives.

I've noticed that git-annex creates hardlinks to migrated content in
.git/annex/objects, so I'm able to migrate all content despite only having 40
GB of free space.  Excellent.

Now I'm planning to `rsync -a --hard-links .git/annex/objects/
${CLONE}/.git/annex/objects/` to recreate the hardlinks and save space on the
clones as well.  If I `fsck` afterwards, this should be fine, right?

I've tried this with a test repository and it works but I'd like to be extra
sure that I'm not missing something crucial.

The alternatives that I'm aware of are:

 * making space first: `git annex dropunused "1-20000"` and `git annex get .`
 * running `git annex migrate` in each clone.

I expect rsync to be safer and faster than these alternatives.