syncing non-git trees with git-annex
Klaus Ethgen
Klaus+mlvcsh at Ethgen.de
Wed Dec 14 17:52:43 CET 2011
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
NotDashEscaped: You need GnuPG to verify this message
Am Mi den 14. Dez 2011 um 14:15 schrieb Adam Spiers:
> > find -name \*.avi -exec git annex add {} \;
>
> That's substantially less performant, because it forks a whole new
> tree of git / git-annex processes per file.
>
> If we're getting picky, we should also worry about spaces in
> filenames:
>
> find -name \*.avi -print0 | xargs -0 git annex add
>
> but it was only an example, and to be honest, I didn't even use the
> xargs variant myself; I used zsh's recursive globbing:
>
> git annex add **/*.avi
Well, the zsh syntax is fine as long as the matches are not too much. If
the result gets to big your command line would get too big.
On the other hand you can use find as the following:
find -name \*.avi -exec git annex add {} +
This will not spawn new process for every file but will also work with
more files a command line can hold. And it is even a bit more performant
as the xargs version.
Regards
Klaus
--
Klaus Ethgen http://www.ethgen.ch/
pub 4096R/4E20AF1C 2011-05-16 Klaus Ethgen <Klaus at Ethgen.de>
Fingerprint: 85D4 CA42 952C 949B 1753 62B3 79D0 B06F 4E20 AF1C
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
iQGcBAEBCgAGBQJO6NRaAAoJEKZ8CrGAGfassbYMAKZTTpHPsrtyOZWBE7V/FcFT
VacmPRHiKWEmA/ovHBXz+EQVo9M1BruYjVck5/WQIN+BCvkHywUQdVVDwuNwXRsD
Gd69+suQK+sPfdLtSkADR0Sgplf3bF4OhLQlAfmCfZEdMlLi8qVgXXA9J7r6EmjR
kTei6Pkf8t0L5fkj4vznJYfG++Xo58Jd/HMsjN1JxbN2/J3RLIEsLhjNjQGLwsKs
4HNj6L/vNyJ4FgvbKLB8117oo3l3cnNCL3hCNHKZZf2HHUHKZKee4+HPmuho14y5
thkGo5cLRZAy32VmO/sVC8b1680pMCzAdUEyNLHTJw376sAYp3ROWWkfaTI5/SL7
De5U+HDfqtje1AaPPCVuu9qFEzTn/jphkJG7GBTg8FDPrrZd2H23ATeMQajKm3hV
aZi2FomKBWg5RkEfioWYYUwsJQvTlu4eycj7IUeDquc2bDnEgmJd+Eeasz2yxXVI
vURUMqj91nXbGpkoKUTxfPUPUdpVk2NNvxMLzpfKCw==
=f0ez
-----END PGP SIGNATURE-----
More information about the vcs-home
mailing list