Comment enregistrer des différences pour les réutiliser plus tard - la fonctionnalité similaire au jeu d'étagères dans TFS?

StackOverflow https://stackoverflow.com/questions/6374655

Question

J'apporte des modifications à un fichier mais je me rends compte que je dois le modifier d'une autre manière - cela m'oblige à enregistrer temporairement mes modifications actuelles ailleurs et à les appliquer plus tard.Comment puis-je faire cela dans l'outil svn / subversion, par exempleTortoiseSVN?

La fonctionnalité que je mentionne est très similaire à la création de shelveset et à sa décompression dans TFS.

Veuillez aider si vous savez comment faire.Merci!

Était-ce utile?

La solution

La réponse d'AntonyW fonctionne, mais elle pourrait être exagérée, surtout si vous avez beaucoup de code!

Je ne suis pas familier avec le shelveset de TFS, mais svn vous donne la commande svn diff pour faire exactement ce que vous cherchez: créer un diff et l'enregistrer afin de pouvoir l'appliquer plus tard.Prenez simplement la sortie de svn diff et enregistrez-la dans un fichier .patch ou .diff.

svn diff myfile > myfile.patch

Puisque vous utilisez TortoiseSVN, c'est encore plus facile à faire .

/ p>

Autres conseils

Vous pouvez également créer une branche avec vos modifications.Cela pourrait être encore mieux que de stocker les différences sur disque.


Modifier: Vous avez donc différents types de changements dans la copie de travail? Les fichiers que vous souhaitez conserver et les fichiers que vous souhaitez enregistrer sur diff? Dans ce cas, il est peut-être préférable de créer un patch depuis TortoiseSVN.

Mais si vous voulez mettre en patch toutes les modifications de la copie de travail, il vaut mieux à mon avis créer une branche. C'est vraiment facile dans Tortoise:

  1. Créez une branche / une balise et marquez la copie de travail comme source de la branche (ne cochez pas pour passer à une nouvelle branche).
  2. Une fois que Tortoise a créé la branche, annulez toutes les modifications locales
  3. Apportez vos autres modifications
  4. S'engager dans le tronc
  5. Passer à la branche et fusionner les modifications du tronc
  6. Réintégrer la branche au tronc

Pour shure, cela fonctionne pour moi la plupart du temps, les correctifs sont bons pour la révision du code, pas pour créer un ensemble d'outils local de modifications non terminées;)

Concernant les réponses ci-dessus qui sont données, je suis (personnellement) en désaccord avec elles (en vrac etc ...).Quant à moi (et je l'utilise également), c'est l'une des bonnes fonctionnalités qui n'est actuellement prise en charge que par la fondation d'équipe et peut être utilisée sur un réseau.Cela aide beaucoup dans la situation suivante:

  1. Le premier et le plus important est que vous pouvez demander l'avis d'une autre personne sans avoir un code archivé (et incomplet) dans le code source principal.
  2. Si vous avez plusieurs solutions, vous pouvez avoir plusieurs étagères que vous pouvez tester dans votre application.
  3. Si une autre personne a besoin de votre étagère à des fins de test partiel avant son enregistrement, elle est disponible.

J'ai recherché cette fonctionnalité et j'ai découvert que la plupart des autres produits (SVN, mercurial) vont introduire cette fonctionnalité à l'avenir, mais elle n'est pas encore disponible.

... il vaut toujours mieux demander pardon plutôt que la permission ....

J'effectue généralement un paiement vers un nouvel emplacement, j'y apporte les modifications, puis je valide.

Plus tard, j'effectue une mise à jour de l'emplacement d'origine pour fusionner les modifications dans ma version précédemment modifiée.

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