2010-05-18 2 views
6

Je suis dans une situation stupide: J'ai fait quelques changements dans une copie de travail du TRUNK. Puisque les changements n'ont pas été testés, j'aimerais transférer tous les changements à une branche. Selon le manuel de Tortoise, Switch perdra toutes mes modifications. Est-il possible de conserver mes modifications dans la copie de travail et de les enregistrer dans une branche du référentiel.Créer une branche SVN à partir de changements dans le tronc

Répondre

0

Pas directement. Mais vous pouvez créer un patch, puis changer et perdre vos modifications, puis appliquer le patch à votre branche. Cliquez avec le bouton droit de la souris sur votre dossier de copie de travail, sélectionnez Tortoise SVN> Créer un correctif. Choisissez les fichiers à inclure (généralement tous les changements) et enregistrez-le quelque part.

Puis basculez. Ensuite, cliquez à nouveau sur la copie de travail (qui pointe maintenant vers la branche), puis choisissez Tortoise SVN> Appliquer le correctif. Vous obtiendrez un menu où vous pouvez cliquer avec le bouton droit de la souris et choisir de tout appliquer. Enregistrez les changements et vous devriez être bon pour aller.

+0

Merci, je vais essayer ma main avec cette méthode. – John

+0

Il semble que cette réponse a été downvoted (bien qu'il ait un score de 0, je peux le voir dans mes paramètres de réputation). Quelqu'un peut-il me dire pourquoi? – Peter

13

Créez une branche à partir de votre copie de travail au lieu du référentiel. De cette façon, vous ne perdrez rien

+0

Voulez-vous dire Branche/Étiquette? Mais comment le lien par défaut à la copie de travail peut-il être changé? – John

+0

Vous pouvez changer après cela. Vos modifications seront validées dans la nouvelle branche et il n'y a aucun problème avec switch. Vous perdrez noithing – Midhat

+3

Dans TortoiseSVN, cliquez sur Branch/Tag, puis, au lieu de sélectionner la HEAD ou une révision spécifique, choisissez le bouton radio copy working. C'est ce dont parle Midhat. –

8

Si je comprends bien le problème, vous travaillez sur une copie que vous avez extraite TRUNK, mais vous n'avez pas encore validé les modifications.

Dans ce cas, il est facile de résoudre ce problème:

  1. Créer une bifurquent TRUNK: svn cp <base URL> <new branch URL>
  2. Passer à la nouvelle branche (spécifiée par <new branch URL> ci-dessus)
  3. maintenant votre copie de travail devrait le point à la <new branch URL>
  4. vos changements

Puisque vous avez commis quoi que ce soit à TRUNK, la version TRUNK du projet est laissé non modifiée

+0

Belle explication claire! (2) pourrait utiliser un exemple de commande "svn switch " –

0

Créer un patch des modifications et appliquer ensuite à une succursale ou une copie de travail que vous aimez.

+0

Cela ne fournit pas de réponse à la question. Pour critiquer ou demander des éclaircissements à un auteur, laissez un commentaire en dessous de son message - vous pouvez toujours commenter vos propres messages, et une fois que vous aurez suffisamment de [réputation] (http://stackoverflow.com/faq#reputation) vous pourrez à [commenter n'importe quel message] (http://stackoverflow.com/privileges/comment). – slfan

+1

Je pense que ma réponse est très pertinente à la question. – abbas

Questions connexes