J'ai envisagé d'utiliser Git pour gérer ma bibliothèque iTunes et me permettre de la synchroniser entre ordinateurs.
Pouvez-vous penser à des raisons pour lesquelles ce serait une mauvaise idée ?
J'ai envisagé d'utiliser Git pour gérer ma bibliothèque iTunes et me permettre de la synchroniser entre ordinateurs.
Pouvez-vous penser à des raisons pour lesquelles ce serait une mauvaise idée ?
Les problèmes d'espace disque décrits ci-dessus sont certainement vrais. Mais il existe deux problèmes distincts. Le premier est que vous devez stocker le référentiel et les données, de sorte que chaque fichier est stocké deux fois. Le second problème est que chaque fois que vous modifiez vos métadonnées, une toute nouvelle copie de la musique est stockée, de sorte que vous finissez par stocker votre musique N fois, où N augmente continuellement. Le premier problème peut être résolu, le second est un véritable fardeau.
Il est donc intéressant de noter que si Git souffre du second problème, Subversion n'en souffre pas. Son algorithme diff fonctionne sur des fichiers binaires, donc vous ne stockez que ce qui change. C'est pourquoi j'utilise Subversion pour mes photos, très similaire à votre cas d'utilisation, et j'en suis très heureux.
Voici un journal qui illustre le problème. Notez que Subversion stocke réellement trois copies : une dans le référentiel, une dans les répertoires .svn de la copie de travail, et la copie de travail elle-même. Cependant, il n'utilise pas d'espace supplémentaire lorsque je change les métadonnées.
mat@Winter:~/temp$ git init repo
Initialized empty Git repository in /home/mat/temp/repo/.git/
mat@Winter:~/temp$ cp -r light_and_magic/ repo/
mat@Winter:~/temp$ cd repo/
mat@Winter:~/temp/repo$ du -hs .
101M .
mat@Winter:~/temp/repo$ git add light_and_magic/
mat@Winter:~/temp/repo$ git commit -m 'First commit'
...
mat@Winter:~/temp/repo$ du -hs .
191M .
mat@Winter:~/temp/repo$ id3v2 -a 'ladytron' light_and_magic/*.mp3
mat@Winter:~/temp/repo$ git commit -a -m 'changed metadata'
...
15 files changed, 0 insertions(+), 0 deletions(-)
mat@Winter:~/temp/repo$ du -hs .
282M .
mat@Winter:~/temp$ svnadmin create repo
mat@Winter:~/temp$ svn co file:///home/mat/temp/repo working
Checked out revision 0.
mat@Winter:~/temp$ cp -r light_and_magic/ working/
mat@Winter:~/temp$ svn add working/light_and_magic/
...
mat@Winter:~/temp$ svn commit -m 'First commit' working/
...
mat@Winter:~/temp$ du -hs repo
91M repo
mat@Winter:~/temp$ du -hs working/
201M working/
mat@Winter:~/temp$ id3v2 -a 'ladytron' working/light_and_magic/*.mp3
mat@Winter:~/temp$ svn commit -m 'changed metadata' working/
...
mat@Winter:~/temp$ du -hs repo/
91M repo/
mat@Winter:~/temp$ du -hs working/
201M working/
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.