Question

Mon processus de travail normal pour créer un nouveau référentiel avec subversion consiste à créer un nouveau dépôt, à effectuer un contrôle de la racine du dépôt, à créer mes balises de branches et mes dossiers de coffre et à placer dans le coffre mes fichiers initiaux. Ensuite, j'effectue une validation de cette "importation initiale", supprime les dépôts extraits de mon disque dur et effectue une extraction du coffre. Ensuite, je pourrai commencer à travailler.

Toutefois, lorsqu’il s’agit d’une importation volumineuse, pensez à des centaines de Mo et à un hébergement de contrôle de version hors site (basé sur http), cette importation initiale peut prendre un certain temps à valider. Pire encore, je dois tout recommencer à la caisse de cet énorme coffre.

Existe-t-il un moyen avec Subversion d’utiliser la copie locale de la ligne sans refaire le contrôle des données déjà présentes?

Était-ce utile?

La solution

Il existe - cela s'appelle une "importation sur place" et il est couvert dans la FAQ de Subversion ici:

http://subversion.tigris.org/faq.html#in -place-import

Ce que vous faites réellement consiste à créer un nouveau projet vide dans le référentiel, à extraire le projet vide de votre dossier local - qui transforme votre dossier en copie de travail - puis à ajouter tous vos fichiers (existants) à ce dossier "vide". 'project, ils sont donc ajoutés au référentiel quand vous faites un svn commit.

Autres conseils

Je suis d'accord sur l'importation " sur place " procédure et en utilisant également un script pour la structure TTB (les deux votés).

Juste un petit indice:

Vous ne devez pas importer un énorme nombre de fichiers dans un même commit, si vous utilisez http (s), car l'heure d'affichage de l'historique des versions est redimensionnée par le nombre d'entrées ajoutées . La raison de ce comportement est qu’apache doit authentifier tous les chemins ajoutés contre le fichier svnaccess (bien sûr, uniquement si vous avez activé l’autorisation basée sur le chemin). Cela peut rendre votre référentiel inutilisable, car tous les fichiers devront attendre un journal svn pour ce grand tour.

Vous devez diviser les importations importantes au niveau des répertoires

J'utilise généralement "svn mkdir". pour créer les lignes / balises / branches directement sur le serveur immédiatement après la création du référentiel. Ensuite, je peux extraire le coffre vide, déplacer mes fichiers initiaux dans ce répertoire, les ajouter et les valider, puis commencer à travailler.

svn checkout --force vous permet de récupérer une copie de travail sur un chemin existant. Il conserve vos anciens fichiers et ajoute des fichiers uniquement dans votre référentiel.

Pour créer votre référentiel: Vous pouvez exécuter plusieurs commandes mkdir sur un référentiel en une seule validation à l'aide de la commande 'svnmucc' disponible dans la plupart des distributions Subversion (par exemple, SlikSVN ).

Tapez svnmucc sans arguments pour obtenir de l'aide.

Si vous avez extrait un seul dossier et y avez copié vos fichiers, exécutez svn add et svn commit ; vous ne devriez pas avoir besoin de supprimer les fichiers et de revérifier.

Utilisez les fichiers en place: une fois qu'ils ont été validés comme vous le décrivez, ils sont prêts à être traités.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top