Question

J'ai eu un problème avec la validation des modifications après la fusion de deux branches de mon projet à l'aide de TortoiseSVN.

Voici les détails:

J'ai créé une branche de fusion dans le tronc du projet sur lequel je travaille.

Projet inclut le référentiel principal et les bibliothèques jointes au référentiel principal en tant que svn external (les bibliothèques sont également branchées) en tant que sous-répertoire du projet .

Lorsque j'essayais de valider des modifications, TortoiseSVN a déclaré:

Commit A
re all the targets part of the same working copy? 
Unable to lock 'D:\websites\project\lib' 
Please execute the "Cleanup" command.

Bien sûr, le nettoyage n'a pas aidé.

Le mot clé

svn: external du projet était bien défini. Le dossier lib contenait toujours la version appropriée des bibliothèques (version du coffre).

Le serveur et le client SVN sont tous deux en version 1.5.x (TortoiseSVN est 1.5.3.x).

Du point de vue technique, les projets et les bibliothèques sont des projets du même référentiel SVN.

Avez-vous une idée de ce qui ne va pas?

J'avais un peu cherché Google pour la solution, mais je n'ai rien trouvé d'utile. J'ai donc essayé de valider mes modifications en deux étapes:

  1. valider les modifications du dossier du projet
  2. valider les modifications du dossier des bibliothèques

Ce qui s'est passé sans aucun problème.

Mais je me demande toujours pourquoi je ne pouvais pas tout valider en un seul.

ÉDITS:

  • (Après la réponse de Ken G) Version corrigée de TortoiseSVN 1.3.x - > 1.5.3.x.
Était-ce utile?

La solution

svn: external obligera Subversion à combiner différents chemins d'accès au référentiel lors de l'extraction, mais ces chemins sont toujours "disjoints", vous devez donc effectuer deux commits. pour appliquer les modifications.

Voici la citation pertinente de Contrôle de version avec Subversion

  

Et Subversion fonctionne toujours vraiment   uniquement sur des copies de travail non jointes.   Donc, par exemple, si vous voulez commettre   les changements que vous avez apportés dans un ou   plus de ces copies de travail externes,   vous devez exécuter svn commit explicitement sur   les copies de travail qui s’engagent sur le   copie de travail principale ne sera pas recurse   dans les externes.

Autres conseils

1.3 de TortoiseSVN est très ancien , la dernière révision étant la version 1.5.x. Il y a eu de nombreux changements dans Subversion et TortoiseSVN depuis la version 1.3, donc la mise à niveau de votre client est probablement votre meilleur choix.

Ceci étant dit, TortoiseSVN 1.5 va créer / mettre à jour des copies de travail au format de la version 1.5. Soyez très prudent lorsque vous utilisez TortoiseSVN (ou tout autre client SVN) contre une copie de travail précédente de Subversion.

Je pense que je me souviens d’avoir lu un tort relatif à ce problème dans TortoiseSVN qui a été corrigé dans la dernière version. Consultez les notes de publication les plus récentes.

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