2017-04-05 1 views
1

suivant les instructions sur le site Web de svnbook, je tente d'obtenir des changements de tronc dans ma branche, en utilisant la commande suivante:SVN merge ne fonctionne pas

cd <working directory to merge to> 
svn merge ^/<project-directory>/trunk 

et il ne semble pas fonctionner, autant de changements de tronc font pas finir dans la branche.

Je l'ai essayé à la fois de la ligne de commande et de TortoiseSVN, en vain. Est-ce que je fais quelque chose de mal?

+0

Quelle est l'erreur que vous obtenez? – PrestonM

+1

Aucune idée de la façon dont vous avez tenté de le faire dans TortoiseSVN mais un menu contextuel * SVN Merge * qui mène à un dialogue avec des champs comme "URL à fusionner" et "Revision range to merge", avec un "Show log" bouton pour inspecter les révisions exactes. (Je présume que vous n'utilisez pas une version SVN d'il y a plusieurs années, avant que le suivi de fusion ne soit implémenté.) –

+0

@ Le suivi de fusion ÁlvaroGonzález a été implémenté dans SVN 1.5 à partir de l'année ~ 2008. Je ne pense pas que ce soit le cas. – bahrep

Répondre

-1

Si vous souhaitez obtenir tous les changements sur le tronc, vous devez faire

svn merge -rLastRevisionMergedFromTrunkToBranch:HEAD url/of/trunk path/to/branch/wc 

Source: Merge trunk to branch in Subversion

+0

Ce n'est pas une réponse, mais juste un copier-coller d'une autre réponse à une question non pertinente. – bahrep

0

Je suis un peu inquiet que vous avez project-directory pour la source de votre tronc dans cet exemple.

Cela devrait être svn merge svn+ssh://url/of/repository/trunk . si vous êtes dans une copie de travail de la branche à laquelle vous fusionnez. La source ne peut pas être une copie de travail, mais la cible devrait l'être.

S'il s'agit d'un référentiel local, vous pouvez également utiliser file:// au lieu de svn+ssh, en omettant le nom de domaine de l'URL.

0

Tout d'abord, la question et le problème n'est pas vraiment lié à TortoiseSVN. Il s'agit de svn.exe command-line client that you use to run svn merge command. S'il vous plaît, lisez SVNBook | svn merge reference attentivement parce que la commande que vous exécutez manque les arguments nécessaires.

En ce moment, je vois deux problèmes avec la ligne de commande:

  • Vous utilisez caret notation ^ to address the repository, mais sur les ordinateurs Windows, vous devez ajouter deux carets au lieu d'un seul:

    de Windows les utilisateurs ne doivent pas oublier qu'un caret est un caractère d'échappement sur leur plate-forme. Par conséquent, utilisez un double curseur ^^ si vous exécutez le client Subversion sur un ordinateur Windows.

  • La ligne de commande ne contient pas le chemin cible de fusion. Vous devez spécifier le chemin d'accès à la copie de travail où exécuter l'opération de fusion.

J'espère que cet exemple vous aidera:

svn merge ^^/<project-directory>/trunk . 

Notez le caractère point. Il ordonne de fusionner dans le répertoire courant. Remplacer le point par le chemin de la copie de travail si nécessaire.

+1

Il est préférable d'utiliser des guillemets. Par exemple: svn merge "^//trunk". –

+0

Oui, j'ajoute habituellement 2 carets; Je viens de montrer 1 caret dans la question parce que c'est comment il est montré dans svn-book .. – IntelliData

+0

Oh, j'avais l'impression que si je navigue vers la copie de travail, il n'est pas nécessaire de le spécifier dans la fusion. Je suppose que cela doit être mon erreur; la prochaine fois que je dois faire une fusion, je vais essayer; Si cela fonctionne, je peux accepter la réponse. – IntelliData