Added a comment
This commit is contained in:
parent
07e160e589
commit
e848679d37
1 changed files with 66 additions and 0 deletions
|
@ -0,0 +1,66 @@
|
||||||
|
[[!comment format=mdwn
|
||||||
|
username="username"
|
||||||
|
avatar="http://cdn.libravatar.org/avatar/3c17ce77d299219a458fc2eff973239a"
|
||||||
|
subject="comment 14"
|
||||||
|
date="2021-09-28T22:56:16Z"
|
||||||
|
content="""
|
||||||
|
Inspired by the OP I devised a slightly modified method for cataloguing my optical media library.
|
||||||
|
|
||||||
|
The goal is having a main git-annex repo tracking what's on HDD, while adding the optical media as one-time remotes for location tracking and easy future inspection of their contents without having to physically insert the disc in the drive and mounting it.
|
||||||
|
|
||||||
|
The current contents of the HDD and the contents of the total set of the optical discs are not a 1:1 match, both have files not present in the other.
|
||||||
|
|
||||||
|
Current plan:
|
||||||
|
|
||||||
|
1. copy already burnt discs to a directory on disk and create a git-annex repo with the same configuration as the main catalogue repo, using the disc label as description:
|
||||||
|
```
|
||||||
|
git annex init disc_label && git annex config --set annex.dotfiles true && git config annex.backend MD5 && git config annex.gitaddtoannex false
|
||||||
|
```
|
||||||
|
|
||||||
|
2. add the optical disc repo as remote in the main repo:
|
||||||
|
```
|
||||||
|
git remote add CD1 /mnt/CD1/ && git annex sync --no-push -jobs=cpus && git annex sync --cleanup && git remote remove CD1
|
||||||
|
```
|
||||||
|
|
||||||
|
3. create a branch for easily \"mounting\" each disc with git checkout without needing to
|
||||||
|
```git log --oneline | grep disc_label```
|
||||||
|
for finding the relevant commit hash:
|
||||||
|
```
|
||||||
|
git branch CD1 XXXXXXXXXX
|
||||||
|
```
|
||||||
|
|
||||||
|
4. edit working tree as desired, then override git-annex sync's automatic commit:
|
||||||
|
```
|
||||||
|
git add . && git commit --quiet --amend --message=\"add CD1\"
|
||||||
|
```
|
||||||
|
|
||||||
|
5. repeat for other discs
|
||||||
|
|
||||||
|
|
||||||
|
The main repo should end up looking like so, each optical disc \"dangling\" from the main branch that tracks the HDD contents:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ git log --graph --oneline
|
||||||
|
* XXXXXXXXXX (HEAD -> master) add DVD1
|
||||||
|
|\
|
||||||
|
| * XXXXXXXXXX (DVD1) DVD1
|
||||||
|
* XXXXXXXXXX add CD1
|
||||||
|
|\
|
||||||
|
| * XXXXXXXXXX (CD1) CD1
|
||||||
|
* XXXXXXXXXX init
|
||||||
|
```
|
||||||
|
|
||||||
|
and any file given as argument to ```git annex whereis``` should be easily traceable:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ git-annex whereis file
|
||||||
|
whereis file (4 copies)
|
||||||
|
XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX -- HDD [here]
|
||||||
|
XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX -- CD1
|
||||||
|
XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX -- DVD1
|
||||||
|
XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX -- BD1
|
||||||
|
ok
|
||||||
|
```
|
||||||
|
|
||||||
|
Seems good enough for me but considering I can barely wrap my head around all that git and git-annex are capable of I'm posting here hoping for a sanity check that this solution does work as expected and/or suggestions for improvements before fully committing to it.
|
||||||
|
"""]]
|
Loading…
Add table
Add a link
Reference in a new issue