Existe-t-il un moyen de tarer directement la dernière version d'un dossier SVN sans les fichiers cachés SVN? Je voudrais créer une archive tar sans les fichiers SVN. Je sais que vous pouvez obtenir le dernier en date avec les fichiers de suivi SVN, mais existe-t-il une seule ligne qui enverra directement les informations à une archive?
14
Réponses:
Le moyen le plus simple de créer une copie de la dernière version d'un référentiel sans tous les dossiers .svn consiste à utiliser la
svn export
commande.Voici comment je ferais les archives:
Où URL est l'URL de votre référentiel svn et PATH est un chemin local approprié pour enregistrer une copie du référentiel exporté. Je ne sais pas comment le faire plus directement. Malheureusement, vous vous retrouvez avec la copie exportée, alors vous voudrez peut-être tout mettre dans un court script bash qui supprimera ensuite les fichiers temporaires.
EDIT: Bien que ce soit la méthode la plus simple et que je l’utilise aussi, je ferais attention. Dans mes recherches, j'ai trouvé ce http://narfation.org/2009/01/08/creating-recreatable-tar-gz-from-svn qui nous indique clairement le problème de la propriété de groupe / utilisateur préservée qui pose des problèmes lors du déploiement sur un autre système. J'ai essayé ce script avec des modifications personnelles en fonction de mes objectifs et vous pourriez également en bénéficier.
la source
Peut-être que la version 1.23 de tar vous permet d'exclure tous les fichiers de versioning de la ligne de commande mais ne fonctionne malheureusement pas avec ma version 1.20:
la source
Allez dans le répertoire de travail de subversion (checkout) et lancez ceci:
Si vous utilisez des utilitaires GNU, vous pouvez également exécuter:
Si possible, je recommanderais d'utiliser le format ustar (
-H ustar
).la source
Je vois aussi:
Merci tar.
la source
Si je comprends bien, vous souhaitez tarir les résultats d'une commande svn?
Donc, en pseudo-code, cela ressemblerait à ceci:
la source
Ceci est adapté d'un one-line que j'ai écrit. Cela suppose que vous avez un répertoire ~ / tmp. Vous devrez modifier les variables PROJ et URL dans les deux premières étapes. Le reste devrait marcher.
Pour une copie facile:
Pour une visualisation facile:
la source
Il s’agit pour moi d’essayer de créer une archive déterministe à partir d’un dépôt SVN.
Nécessite GNU tar 1.27 ou une version ultérieure.
Fonctionnalités:
pax
-tête étendugit archive
ferait.tar.gz
et.tar.xz
compressions. Pour gzip, vous pouvez optimiser davantage la compression en utilisant àadvdef
partir de AdvanceCOMP (advdef
utilise la bibliothèque zopfli).Par exemple, j'utilise subversion repo lui-même comme source pour le contrôle et la création de l'archive. Notez que ce n'est pas comme ça que SVN empaquete leurs archives et que je ne suis pas du tout lié au développement de SVN. Ce n'est qu'un exemple , après tout.
la source