GNU/Linux >> Tutoriels Linux >  >> Linux

Suivre les modifications de Crontab avec Git ?

Je voudrais utiliser git pour suivre les modifications dans crontab .

J'ai initialisé un nouveau dépôt git dans /var/spool/cron/crontabs/

Maintenant, le problème est que lorsque crontab est enregistré, la deuxième ligne de l'en-tête change car elle contient l'horodatage.

# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (/tmp/crontab.ubNueW/crontab installed on Thu Aug  1 06:29:24 2019)

Quel serait le moyen le plus simple d'ignorer ces modifications non pertinentes ?

La question en double possible ne répond pas au point principal de ma question :comment ignorer les 2 premières lignes non pertinentes de crontab. Au lieu de cela, il aborde d'autres questions que je n'ai pas posées, telles que certaines accroches.

Réponse acceptée :

Vous pouvez utiliser un filtre :

git config filter.dropSecondLine.clean "sed '2d'"

Modifiez/créez .git/info/attributes et ajoutez :

* filter=dropSecondLine

Si vous ne voulez pas que le filtre agisse sur tous les fichiers du référentiel, modifiez le * pour qu'il corresponde à un modèle ou à un nom de fichier approprié.

L'effet sera que le répertoire de travail restera le même, mais les blobs de dépôt n'auront pas la deuxième ligne dans les fichiers. Donc, si vous le tirez ailleurs, la deuxième ligne n'apparaîtra pas (le résultat du sed 'd2'). Et si vous modifiez la deuxième ligne de votre fichier journal, vous pourrez l'ajouter, mais pas le valider, car la modification du blob se produit lors de l'ajout, auquel cas ce sera le même fichier que celui du dépôt.


Linux
  1. Soyez trié avec sort en ligne de commande

  2. Manipulation de texte en ligne de commande avec sed

  3. Compter les caractères de chaque ligne avec Wc ?

  4. Dupliquer, avec quelques petites modifications, quelques lignes dans un fichier texte ?

  5. sed insérer une ligne avec des espaces sur une ligne spécifique

Premiers pas avec GIT sous Linux

Commande Diff sous Linux avec exemples

Suivi du temps avec Timewarrior en ligne de commande

Comprendre Crontab sous Linux avec des exemples

Installation et premiers pas avec Git

Comment contrôler la version avec Git sur la ligne de commande