Question

J'ai déménagé de TSF pour SVN (TortoiseSVN) avec mon entreprise actuelle.J'ai vraiment manquer le "en Suspens" caractéristique de la TSF.J'ai lu différents articles sur la façon de "mettre en Veilleuse" avec SVN, mais j'ai rien lu qui donne un très simple expérience de "mettre en veilleuse" de travail.

Idéalement, j'aimerais articles supplémentaires ajoutées au menu contextuel TortoiseSVN - "mettre en Veilleuse" & "Unshelve"."Mettre en veilleuse" supprimerait la mettre en veilleuse et de télécharger le répertoire de travail en vertu d'un chemin d'accès approprié défini par les options de l'utilisateur."Unshelve" de fusionner avec la copie de travail.

Fait quelque chose comme ça existent?Quelqu'un peut-il suggérer des façons de "hack" cette fonctionnalité dans l'interface?

Note:Le lien suivant n'a pas vraiment d'atteindre l'expérience de l'utilisateur que je recherche:

Rayonnage Subversion

Une des plus grandes choses au sujet de TSF en Suspens est de savoir comment il est facile à utiliser...

Était-ce utile?

La solution

Des étagères dans le SVN est de commencer à rouler avec la version 1.10, voir Notes De Version

Autres conseils

Je ne crois pas que SVN dispose de cette fonctionnalité intégrée dans le serveur.Je ne crois rien de ce genre d'écho dans les clients que j'ai utilisé, y compris TortoiseSVN.

Pour contourner ce problème, j'ai recours à l'aide d'un DVCS comme Git ou Mercurial, pour me permettre de me branche/fusionner/étagère localement avant de pousser le contenu retour à SVN.C'est sans doute un peu de bidouille, mais ça fonctionne vraiment bien.

Si vous comprenez comment les branches du SVN de travail, l'émulation de mettre en Veilleuse dans le SVN est un no-brainer:

  1. Créer une branche dans le référentiel (sur le serveur)
  2. Mettez votre copie locale pour elle
  3. Valider vos modifications apportées à la nouvelle branche
  4. Mettez votre copie locale sur le tronc

Lorsque vous êtes prêt à revenir à votre veilleuse les changements ("unshelve"), il suffit de fusionner la durée de la branche de retour à votre copie locale.

Si vous ne savez pas de ligne de commande SVN ni Tortoise SVN assez bien pour le faire ci-dessus, voici un super détaillé, étape par étape les instructions sur la façon de le faire dans Tortoise SVN:

  1. Faire "SVN Update" pour mettre à jour votre copie de travail vers la version la plus récente du tronc.De cette façon, les seules différences entre votre copie locale et le tronc sont vos modifications.
  2. À partir du menu contextuel, sélectionnez "Branche / Étiquette"
  3. "Version TÊTE dans le référentiel" option est sélectionnée par défaut.De le garder.
  4. Changer la "Url" pour spécifier le nom de la branche, par exemple http://server/repository/project1/branches/shelf1
  5. Vérifiez le Commutateur "copie de travail vers une nouvelle branche/étiquette de" boîte
  6. Cliquez sur Ok pour créer la branche et l'affiche
  7. Faire "SVN Commit..." et valider vos modifications sur la branche nouvellement créée
  8. À partir du menu contextuel, sélectionnez "Changer..."
  9. "À l'URL" dans le tronc de l'URL par exemple http://server/repository/project1/trunk
  10. Cliquez sur Ok pour revenir au tronc

Voir ce lien pour plus de détails et l'équivalent de ligne de commande ci-dessus:
Des étagères dans la Subversion

Une autre option consiste à utiliser l'option "Créer un patch" de TortoiseSvn pour créer un fichier de correctif et d'annuler les changements.Le patch fichier peut ensuite être appliquée à nouveau pour revenir là où vous étiez.

Vous pouvez toujours retrouver avec des collants fusionne si vous devez mettre à jour la copie de travail de révision de la si.

TortoiseSVN 1.10 prend désormais en charge shelving: https://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-shelving.html

SVN ont mis à jour la mise à l'écart https://subversion.apache.org/docs/release-notes/1.11.html#shelving

Le genre de changement que vous pouvez laisser de côté sont committable les modifications apportées aux fichiers et les propriétés, sauf les types suivants qui ne sont pas encore pris en charge:

  • les copies et se déplace
  • création et suppression de répertoires

Vous pouvez utiliser un DVCS, mais dans un sens, c'est une bidouille.'Étagères" dans un DVCS stocke vos modifications en local seulement.Utile uniquement si vous souhaitez de point de contrôle de votre travail à la restauration si vous cassez avec plus de travail, mais, de préférence, vous voulez enregistrer votre travail sur le serveur.

Une façon de le faire dans le SVN sans explicite d'une étagère de commande est de passer votre copie de travail vers un autre svn emplacement et de s'engager là, au lieu de sur votre repo.C'est effectivement comme la création d'un temporaire de la branche et de travailler sur cela pendant toute la durée de votre travail.Je ne pense pas que vous aurez même de fusionner SVN va le faire pour vous lorsque vous passez, comme vos modifications locales seront conservés.

Malheureusement, vous ne pouvez pas passer d'un inexistante, de sorte que la première fois que vous faites cela, vous aurez à créer la branche de mise à l'écart de.Je suppose que le tout peut être automatisé.

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