web-dev-qa-db-fra.com

Comment ignorer plusieurs fichiers et répertoires avec grive?

Voici la section de la page de manuel de grive pour ignore.

--ignore <Perl_regexp>
              Ignore  files  with  relative  paths  matching this Perl Regular
              Expression.  Value is remembered for next runs.

Je ne sais pas comment utiliser les expressions rationnelles Perl, mais j'aimerais pouvoir ignorer plusieurs répertoires, de la même manière que grive --ignore ./irrelevant/file.txt && ./unnecesary/file.txt

2
Jason Basanese

Ignorer plusieurs répertoires peut être fait en utilisant une anticipation positive. Cette regex ignore les répertoires "non pertinent" et "inutile":

grive --ignore '(?=^irrelevant$)|(?=^unnecessary$)'

La commande sèche que j'ai utilisée pour tester:

grive --dry-run --verbose --ignore '(?=^irrelevant$)|(?=^unnecessary$)' > output.txt 2>&1

Les répertoires "non pertinent" et "inutile" ont été ignorés, alors que le fichier "non pertinent" 1 ne l'était pas. J'espère que cela fonctionne pour toi.

Mise à jour (à partir du 2017-04-01): La dernière version de grive2 a introduit. Griveignore, dont la syntaxe est proche de celle de .gitignore.

4
Florian-g

Vous pouvez trouver quelque chose de similaire à ce que vous recherchez sur Grive Fork (client Google Drive Linux) avec prise en charge de la synchronisation partielle [PPA] . Seulement, dans ce cas, vous dites à grive2 quoi synchroniser au lieu de ne pas synchroniser. Voici le paragraphe que vous devez regarder:

Grive2 est également livré avec des fonctionnalités avancées. Par exemple, comparé au Grive d'origine, le nouveau fork de Grive2 prend en charge la synchronisation partielle. Pour synchroniser un seul sous-dossier (un dossier de votre répertoire ~/grive) avec Google Drive, utilisez:

grive -s SUBFOLDER

(en remplaçant "SUBFOLDER" par le nom du sous-dossier que vous souhaitez synchroniser)

2
Edmonde