88 votes

Comment ajouter un dossier existant avec des fichiers à SVN ?

Comment ajouter un dossier sans contrôle de version à un emplacement SVN spécifique ? Je commence souvent à écrire du code et ce n'est qu'après avoir créé quelques dossiers contenant des fichiers de code que je les ajoute à SVN.

Ce que je fais habituellement, c'est

  1. svn co le répertoire parent dans lequel je veux créer un nouveau dossier pour stocker mon code.
  2. svn mkdir pour créer le répertoire dans lequel je veux placer mon code.
  3. Copiez et collez mon code.
  4. svn commit .
  5. Supprimer mon répertoire de travail actuel.
  6. Recréer mon répertoire de travail en utilisant svn co .

147voto

qbolec Points 389

Disons que j'ai du code dans le répertoire ~/local_dir/myNewApp et je veux le mettre sous la rubrique https://svn.host/existing_path/myNewApp (tout en pouvant ignorer certains binaires, bibliothèques de fournisseurs, etc.)

  1. Créer un dossier vide dans le référentiel svn mkdir https://svn.host/existing_path/myNewApp
  2. Allez dans le répertoire parent du projet, cd ~/local_dir
  3. Vérifiez le répertoire vide dans votre dossier local. N'ayez pas peur : les fichiers que vous avez localement ne seront pas supprimés. svn co https://svn.host/existing_path/myNewApp . Si votre dossier a un nom local différent de celui du référentiel, vous devez le spécifier en tant qu'argument supplémentaire.
  4. Vous pouvez constater que svn st affichera désormais tous vos fichiers sous la forme ? ce qui signifie qu'ils ne sont pas actuellement sous contrôle de révision
  5. Exécuter svn add sur les fichiers que vous souhaitez ajouter au référentiel, et en ajouter d'autres à svn:ignore . Vous pouvez trouver des options utiles avec svn help add Par exemple --parents o --depth empty lorsque vous souhaitez ajouter de manière sélective certains fichiers/dossiers seulement.
  6. S'engager avec svn ci

55voto

pmod Points 4401

Si j'ai bien compris votre cas d'utilisation, je vous suggère d'essayer d'utiliser svn add pour placer le nouveau dossier sous la version, voir aquí . Ce qui suit ajoutera le nouveau dossier avec les fichiers récursivement sous contrôle de version (si vous êtes dans une copie de travail valide) :

svn add new_folder
svn commit -m "Add New folder to the project"

Si vous ne disposez pas d'une copie de travail, créez-la avec svn checkout copiez-y le dossier new_folder et suivez les étapes ci-dessus.

OU

Pruebe importation svn , voir aquí ; ce qui suit créera un nouveau dossier et téléchargera les fichiers dans le référentiel :

svn import -m "Import new folder to the project" new_folder \
        http://SVN_REPO/repos/trunk/new_folder

A noter également que :

Après l'importation des données, notez que l'arbre original n'est pas sous la version version. Pour commencer à travailler, vous devez toujours faire un checkout svn d'une nouvelle copie de travail de l'arbre. nouvelle copie de travail de l'arbre

9voto

vapcguy Points 48

Je n'utilise pas de commande. Vous devriez pouvoir le faire en utilisant l'interface graphique :

  • Faites un clic droit sur un espace vide dans votre dossier Mes Documents, sélectionnez TortoiseSVN > Repo-browser.
  • Entrer http://subversion ... (le chemin URL de votre serveur Subversion/répertoire dans lequel vous allez enregistrer) comme chemin d'accès et sélectionnez OK.
  • Cliquez avec le bouton droit de la souris sur le répertoire Root dans Repo et sélectionnez Ajouter un dossier . Donnez-lui le nom de votre projet et créez-le.
  • Cliquez avec le bouton droit de la souris sur le dossier du projet dans le Repo-browser et sélectionnez Sortie de caisse . Le répertoire de la caisse sera votre Visual Studio\Projects\{your project} dossier. Sélectionnez OK.
  • Vous recevrez un avertissement indiquant que le dossier n'est pas vide. Dites Oui pour extraire/exporter vers ce dossier - il n'écrasera pas les fichiers de votre projet.
  • Ouvrez votre dossier de projet. Vous verrez des points d'interrogation sur les dossiers qui sont associés à votre projet VS et qui n'ont pas encore été ajoutés à Subversion. Sélectionnez ces dossiers en utilisant Ctrl + Clic, puis cliquez avec le bouton droit de la souris sur l'un des éléments sélectionnés et sélectionnez TortoiseSVN > Ajouter
  • Sélectionnez OK à l'invite
  • Vos fichiers devraient ajouter. Sélectionnez OK dans la boîte de dialogue Ajouter terminé !
  • Cliquez avec le bouton droit de la souris dans une zone vide du dossier et sélectionnez Actualiser. Vous verrez des icônes "+" sur les dossiers/fichiers.
  • Cliquez à nouveau avec le bouton droit de la souris sur une zone vide du dossier et sélectionnez Engagement SVN
  • Ajoutez un message concernant ce que vous êtes en train d'engager et cliquez sur OK

2voto

Fernando68 Points 365

C'est ce que j'ai fait sous Windows 7 :

  1. Avez-vous installé SVN et Tortoise SVN ? Si ce n'est pas le cas, recherchez-les sur Google et faites-le maintenant.
  2. Allez dans votre dossier SVN où vous avez peut-être d'autres dépôts (abréviation de repository) (ou si vous en créez un à partir de zéro, choisissez un emplacement : lecteur C, lecteur D, etc. ou un chemin réseau).
  3. Créez un nouveau dossier pour stocker votre nouveau référentiel. Donnez-lui le même nom que le titre de votre projet
  4. Faites un clic droit sur le dossier et choisissez Tortoise SVN -> Créer un dépôt ici.
  5. Dites oui à l'option Créer une structure de dossiers
  6. Cliquez sur OK. Vous devriez voir une nouvelle icône ressemblant à une "vague" à côté de votre nouveau dossier/répo.
  7. Cliquez avec le bouton droit sur le nouveau repo et choisissez SVN Repo Browser.
  8. Cliquez avec le bouton droit de la souris sur "tronc".
  9. Choisissez ADD Folder... et pointez sur la structure du dossier de votre projet en cours de développement.
  10. Cliquez sur OK et SVN ajoutera votre structure de dossiers. Soyez patient ! On dirait que SVN a planté/gelé. Ne vous inquiétez pas. Il fait son travail.

C'est fait !

1voto

Purushothaman Points 319

Si l'intention est d'ajouter la copie locale/de travail au SVN, j'avais l'habitude de procéder de la manière suivante.

Note : J'utilise le TortoiseSVN et ces étapes supposent que vous avez déjà installé le client TortoiseSVN.

  1. J'ai un projet (Test-4.2.2) dans mon local. Je veux l'ajouter à un dépôt SVN.
  2. En utilisant le repo-browser de TortoiseSVN, j'ai créé un répertoire vide, "Test-4.2.2"
  3. Dans mon local, j'ai renommé le répertoire "Test-4.2.2" existant en "Test-4.2.2.1" (temporaire).
  4. Extraire le fichier vide "Test-4.2.2" du SVN vers votre local
  5. Copier tous les sous-répertoires sous 4.2.2.1 dans ce répertoire de sortie 4.2.2
  6. Maintenant, faites un clic droit sur "Test-4.2.2" et validez.
  7. Supprimer le dossier temporaire "Test-4.2.2.1".

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X