2010-05-20 7 views
1

En fin d'après-midi, j'ai exporté mon référentiel de projet et ramené mon travail sur ma clé USB.Comment puis-je mettre à jour un référentiel SVN existant à partir d'une copie exportée?

J'ai ajouté de nombreuses modifications au projet exporté, et maintenant, étant retourné sur le lieu de travail, je veux mettre à jour le référentiel avec le projet que j'ai maintenant. Pour compliquer les choses, j'ai fait des mises à jour du projet dans le tronc principal et une branche - et j'aimerais mettre à jour le référentiel pour refléter tous ces changements.

Je suis nouveau à SVN et je me suis reposé sur TortoiseSVN, mais je suis un peu perdu maintenant.

Serais-je préférable de supprimer le référentiel et de le recréer à partir des copies/branches que j'ai maintenant?

Répondre

4

Avertissement: Je ne suis pas tout à fait sûr si c'est la solution optimale et s'il n'y a pas de désavantages. Je ne peux pas en voir, parce que les importants répertoires .svn ne sont pas touchés, mais je ne suis pas un gourou SVN. Je vous recommande de faire des sauvegardes (enfin, il faut le faire de toute façon) et de voir ce que les autres répondeurs ont à dire.

Si vous êtes sous Windows, je pense qu'il devrait être possible de faire ce qui suit:

  • Découvrez une copie de travail (par exemple en /myproject)
  • Prenez le dossier /myproject de la clé USB et copier + le coller sur le local /myproject checkout
  • Windows Explorer devrait maintenant intégrer les deux dossiers, en laissant les fichiers .svn invisibles (et essentiels) en place, mais en ajoutant tous les changements et les nouveaux fichiers de vos exportations.

  • Vous devriez maintenant être en mesure de faire une "vérification des modifications" dans Tortoise. Les fichiers modifiés devraient apparaître tels que modifiés; de nouveaux fichiers et répertoires devraient pouvoir être ajoutés. La seule chose que cette méthode sera pas couverture est les fichiers et répertoires que vous avez supprimés dans votre exportation.

Vous devrez le faire individuellement pour chaque branche, je pense - ou du moins je le ferais juste pour se assurer. Mais c'est probablement un inconvénient mineur.

+0

+1 pour noter que les fichiers/répertoires supprimés ne seront pas récupérés. Sinon, cette méthode est correcte. (Bien que le PO devrait avoir "vérifié" plutôt que "exporté" en premier lieu). – Vicky

+0

N'oubliez pas de vérifier les fichiers non versionnés qui sont nouveaux pour le repo provenant du bâton! –

+0

merci, j'ai donné votre idée, et j'ai trouvé qu'il était préférable de simplement supprimer le repo et de le recréer à partir de mon dernier projet. –

0

Je ne savais pas quoi de mieux, mais j'étais dans une situation similaire à la vôtre et la suppression et la recréation était la meilleure solution pour moi.

+0

Supprimer et recréer __what__? – sbi

2

Réponse courte: vous ne pouvez pas. Vous ne devriez pas avoir "exporté" votre dépôt, mais "vérifié".

Peut-être le moyen le plus simple (en fonction de la taille des changements) serait de vérifier le dépôt dans un autre répertoire, et de copier manuellement vos changements par-dessus. Puis validez tous les changements.

+0

également une réponse utile, merci pour l'aide! –

+0

Je ne suis pas d'accord. Doigt remuer n'est pas constructif et ne dit pas "tu ne peux pas" quand il y a clairement des options. La question est de savoir quoi faire quand les choses ne se font pas comme elles devraient l'être. –

Questions connexes