8
votes

Quel est un moyen correct de déplacer des répertoires avec TortoiseSVN?

Si je déplace un répertoire à un autre endroit à l'intérieur du même référentiel en le faisant glisser vers le nouvel endroit à tortue, je ne peux pas révisions à la caisse avant le déménagement , car l'URL de ces anciennes révisions n'est pas plus valide.

Comment déplacez-vous un répertoire et peut toujours accéder aux révisions avant le déplacement?


Exemple : Si je déplace xxx

à xxx

alors je peux voir le dossier "source" maintenant sous le dossier2, et je peux Checkout La révision de la tête, ce qui signifie la révision qui a produit le déménagement.

Cependant, si j'essaie de vérifier une révision plus ancienne commise avant le déménagement, je reçois une erreur que l'URL n'existe pas. Je suppose que c'est parce que l'URL de la révision plus ancienne pointe toujours sur l'ancien chemin.

Mais il doit y avoir un moyen de résoudre ce problème, sinon un geste n'aurait pas de sens si vous perdez l'accès aux révisions plus anciennes. < / p>


0 commentaires

6 Réponses :


2
votes

au lieu de simplement glisser-déposer, faites le glisser-déposer avec le bouton droit de la souris et lorsque vous publiez, dans le menu contextuel qui apparaît Choisir "SVN Déplacer des fichiers Versioned ici ".


1 commentaires

S'il vous plaît voir mon commentaire à la réponse de Soviut.



4
votes

Vous pouvez déplacer des répertoires de plusieurs façons.

Le moyen le plus simple consiste à faire glisser le répertoire de la souris et à cliquer sur "SVN Déplacer des fichiers versionnés ici" lorsque vous déposez.

Vous pouvez utiliser la fonction de renommée pour renommer un fichier de "bla.js" à "myDirectory / bla.js".

Enfin, vous pouvez utiliser la fenêtre de validation et faire glisser les éléments dans votre présence avant de vous engager. Un petit point rouge apparaît à côté de la case à cocher lorsqu'un fichier est défini pour être déplacé.


4 commentaires

Se déplacer est facile, juste. Le problème est que vous ne pouvez plus vérifier les révisions avant le déménagement, car leur URL est maintenant invalide.


L'ancienne révision «vit» dans l'ancien répertoire, il n'a peut-être pas de sens de le vérifier sur le nouvel emplacement. Vous pouvez consulter le répertoire parent de l'ancien révision pour obtenir l'ancien révolu, mais ce sera dans l'ancien emplacement. Sinon, vous pouvez exporter le fichier vers n'importe quel endroit que vous le souhaitez.


Utilisez une série de déménagement et d'enregistrement (avec des messages appropriés) et vous maintiendrez l'historique complet tout en faisant la réassation.


Lorsque vous utilisez la bonne technique de la souris de la souris, Tortansevn ne montre pas "SVN Déplacer des fichiers versionnés ici" pour moi. Il ne montre que "SVN extrayez les fichiers versionnés ici" qui n'est pas ce que nous voulons. J'utilise tortuevn 1.7.11. Le discussion "Rename" fait cependant le travail bien.



1
votes

Ouvrez le navigateur de référentiel, puis faites glisser + Drop à l'aide du bouton droit de la souris (on se sent étrange la première fois que vous le faites) ou utilisez l'élément de menu 'Copier vers ...'.

Cela n'affectera pas votre copie de travail, vous pouvez ensuite mettre à jour votre WC pour obtenir le nouveau répertoire et supprimer + COMMITZ l'ancien répertoire de votre WC.


1 commentaires

S'il vous plaît voir mon commentaire à la réponse de Soviut.



-1
votes

iam pas sûr si je comprends votre problème correctement. À Mee, cela sonne un peu comme ceci:

en supposant que vous avez un dossier p> xxx pré>

et déplacez-le sur p>

/svn/trunk/


1 commentaires

J'ai ajouté un exemple, s'il vous plaît voir ci-dessus.



0
votes

problème était: J'ai essayé de vérifier une ancienne révision tout en regardant l'arborescence de la révision de la tête dans le navigateur de référentiel. Dans cette vue, j'ai essayé de vérifier le tronc / le dossier2 / source d'une révision plus ancienne, qui n'existait pas dans cette révision plus ancienne à cause du déménagement.

solution:

  • Vérifiez le journal de la révision dont vous avez besoin
  • commutateur le navigateur du référentiel complet à cette révision
  • Vous pouvez maintenant voir le dossier dont vous avez besoin dans son chemin original, où il était retour dans cette révision
  • Découvrez ce dossier

    Merci à tous pour les indices, ce qui m'a conduit dans la bonne direction.


1 commentaires

Au moins maintenant, TortoiseSVN Site a une page de documentation, expliquant exactement comment voir l'historique des fichiers et des répertoires de déplacement / suppression: tortoisisesvn.net/docs/release/tortoisisvn_fr/...



3
votes

Qu'est-ce qui n'a pas été mentionné dans les réponses précédentes était la fonctionnalité SVN appelée "PEG REVISION". Utilisez la révision de la PEG lorsque vous souhaitez vous référer à une structure de répertoires qui n'existe plus. Du livre SVN:

dans la version 1.1, subversion introduite un moyen pour vous de le dire exactement lequel Rue principale que vous vouliez dire. Ça s'appelle le révision de la cheville, et il est fourni à Subversion dans le seul but de identifier une ligne d'histoire unique. Parce que au plus, un objet versé peut occuper un chemin à tout moment temps ou, plus précisément, dans quiconque révision - la combinaison d'un chemin et Une révision de PEG est tout ce qui est nécessaire faire référence à une ligne spécifique de l'histoire. Les révisions de PEG sont spécifiées au client de la ligne de commande Subversion en utilisant la syntaxe, ainsi appelé parce que le La syntaxe implique l'ajout d'un "au signe" (@) et la révision de la cheville à la fin de le chemin avec lequel la révision est associé.

E.g.: http://svn.example.com/skinproj@148

Voir le livre SVN pour plus de détails: HTTP: // svnbook.red-bean.com/fr/1.5/svn.advanced.pegrevs.html


2 commentaires

Semble intéressant! Mais cela ne semble pas être intégré à Tortoisisesvn (encore).


Utilisez Tortoisesvn Mise à jour de la révision ... menu contextuel pour spécifier manuellement la révision. Vous pouvez laisser une révision sur svn: externes .