web-dev-qa-db-fra.com

TortoiseSVN switch Branches

J'ai utilisé svn pendant un moment, mais récemment, quelques équipes ont été ajoutées au projet. Une des équipes a créé une nouvelle branche et m’a demandé de vérifier certaines de leurs modifications. Je suis allé dans le répertoire, faites un clic droit, svn-> switch et choisissez la nouvelle branche. Je suis entré et j'ai essayé de faire écho à quelque chose de la page sur laquelle je me trouvais pour voir si je travaillais dans la nouvelle succursale et pas moi. C’est un peu au-delà de ce que je fais mais avec le projet qui prend une telle ampleur que je dois apprendre cela.

Sur cette base, ma question .. y at-il quelque chose de plus à ce que je ne fais pas? Après avoir remplacé la copie de travail dans cette nouvelle branche, comment puis-je y travailler?

17
Scott

La différence entre checkout et switch peut ajouter à la confusion. Je pense que dans votre cas, il serait plus simple de simplement regarder la branche dans un dossier différent puisque vous ne faites que réviser et que cela peut être la manière la plus simple de procéder indépendamment.

Voir cette section des documents Tortoise :

Pour passer à la caisse ou pour changer ...

... c'est (pas vraiment) la question. Lorsqu’une caisse télécharge De la branche souhaitée du référentiel dans votre répertoire de travail , TortoiseSVN → Switch ... ne transfère que les données modifiées à Votre copie de travail. Bon pour la charge du réseau, bon pour votre patience. :-)

Pour pouvoir utiliser votre branche ou balise nouvellement générée, vous avez Plusieurs façons de la gérer. Vous pouvez:

TortoiseSVN → Checkout pour effectuer une nouvelle extraction dans un dossier vide. Vous pouvez extraire n'importe quel emplacement de votre disque local et vous pouvez Créer autant de copies de travail que vous le souhaitez à partir de votre référentiel.

Basculez votre copie de travail actuelle sur la copie nouvellement créée dans le référentiel . Sélectionnez à nouveau le dossier de niveau supérieur de votre projet et utilisez TortoiseSVN → Basculer ... dans le menu contextuel.

Dans la boîte de dialogue suivante, entrez l'URL de la branche que vous venez de créer. Sélectionnez le bouton radio Revue de la tête, puis cliquez sur OK. Votre copie de travail Est remplacée par la nouvelle branche/étiquette.

Switch fonctionne comme Update dans la mesure où il ne rejette jamais les modifications locales de . Toutes les modifications que vous avez apportées à votre copie de travail et qui n'ont pas encore été validées seront fusionnées lorsque vous effectuez le basculement. Si vous ne voulez pas que cela se produise, vous devez alors valider les modifications avant de passer à Ou rétablir votre copie de travail en une révision Déjà validée (généralement HEAD).

Si vous voulez travailler sur le tronc et la branche, mais que vous ne voulez pas dépenser pour Une nouvelle commande, vous pouvez utiliser l'Explorateur Windows pour effectuer une copie de votre extraction de jonction Dans un autre dossier, puis TortoiseSVN → Basculez ... que Copie sur votre nouvelle branche.

26
Paul Sasik

Dans le dialogue "Propriétés" habituel (clic droit sur l'Explorateur Windows), vous avez un onglet "Subversion" qui vous indiquera l'URL vers laquelle le fichier ou le répertoire pointe. Utilisez-le pour vérifier que vous êtes effectivement passé à la bonne branche.

En outre, rien ne vaut que des modifications locales non engagées soient toujours dans votre copie de travail.

3
Álvaro González

Il pourrait y avoir une idée fausse à propos desvn switch

Au début, je pensais que l’existence d’une commande de commutateur impliquerait qu’il existe une copie de travail "actuelle" ou "sélectionnée" pour le bon fonctionnement de SVN. Comme je travaille actuellement sur le tronc, je travaille ensuite sur une branche B, ce qui permet de "passer" d’une copie de travail à une autre. La vérité est la suivante: il n’existe pas de copie de travail courante ! Il existe juste de nombreuses copies de travail locales: une pour le coffre, une pour une branche, une autre pour une étiquette, etc. Mais aucun ne serait "implicitement sélectionné".

Comme Paul Sasik le cite: switch permettrait, par exemple, d’avoir une seule copie de travail, par exemple la jonction, puis de fusionner cette copie de travail locale avec une branche ou une balise ciblée du référentiel distant. switch synchronise uniquement les différences entre local et distant, évitant ainsi de faire une vérification complète de la solution. En cas d’exécution passée de la commande, chaque nouvel engagement sur la copie de travail se produira dans le dossier de référentiel distant dans lequel le dossier a été basculé et qui a été ciblé. Peu importe ce que la vérification initiale était pour ce dossier local.

1
Antoine Meltzheim