2008-09-15 7 views
11

Les externes SVN vous permettent de faire apparaître un dossier SVN comme s'il se trouvait à un autre emplacement. Un bon usage pour cela est d'avoir un dossier commun partagé entre tous vos projets dans SVN.Les modifications du sous-dossier SVN externals n'apparaissent pas dans le journal de vue (tortoise svn)

J'ai un dossier/trunk/commun dans SVN que je partage via plusieurs projets différents.

Exemple:

  • Project1:/trunk/project1/dépend
  • Project2:/trunk/projet2/dépend
  • Project3:/trunk/project3/dépend
  • Project4:/trunk/project4/depends

Chacun de ces dossiers dépendants est vide, mais possède un svn: external défini pour pointer vers mon/trunk/common folder.

Le problème est lorsque je vois le journal dans l'un des projets:/trunk/projectX/il ne montre pas les changements de svn: externals. J'utilise tortue SVN comme mon client SVN.

Est-ce que quelqu'un sait comment changer ce comportement? Je voudrais que le journal de show de/trunk/projectX inclue aussi les modifications de tout svn: externals.

+0

Brian, je suis d'accord c'est un grand PITA pour toute personne utilisant ext ernals et un comportement incohérent par rapport à Commit, Vérifier les modifications et ainsi de suite. Étant donné que votre question est tout à fait vieux, ne savez-vous si quelque chose a changé entre-temps? – Pokot0

+0

@ Pokot0: Non, je ne pense pas –

Répondre

3

Ce n'est pas possible avec la version actuelle de Subversion, autre que d'appeler explicitement svn log sur la cible du répertoire externals

Vous pouvez issueing une demande de fonctionnalité à the Apache Subversion website

0

Lorsque vous affichez le journal pour un dossier versionné local, il montrera les changements qui sont relatifs à ce dossier particulier. Externals sont seulement un lien à un dossier différent sur le référentiel. La seule chose que vous pouvez suivre à propos des références externes, à partir d'un dossier qui dépend de ce projet externe, est la définition de référence elle-même. C'est parce que la référence est une propriété subversion du dossier dépendant.

Imaginez que vous ayez la hiérarchie repo suivante:

repo 
    myfirstproject 
     trunk 
    mysecondproject 
     trunk 
    mycommonlib 
     trunk 

et ce dossier mysecondproject\trunk a le svn suivants: propriété externe:

svn://mysrv/repo/[email protected] sharedlib 

Une caisse de mysecondproject \ tronc l'intérieur d'une nouveau dossier secondproject va créer quelque chose comme ça sur votre système de fichiers:

secondproject Folder (refers mysecondproject/trunk) 
    sharedlib Folder (refers mycommonlib/trunk @ revision #2451) 

Appel « Afficher le journal » commande de tortue de secondproject dossier n'affiche secondproject modifications de fichiers, et éventuellement des changements qui se sont produits sur la propriété svn: externe du dossier.

Pour obtenir le journal des modifications du projet externe, vous devez appeler "Afficher le journal" à partir du dossier interne sharedlib, ce qui est logique.

+4

Il est plus logique de montrer le journal de quoi que ce soit en dessous du point que ce soit d'un svn: externe ou non. Tout comme une caisse va tout vérifier. Et une mise à jour va tout mettre à jour. –

0

de mon expérience personnelle le journal des liens externes est signalé que si dans le même commit où vous modifiez les fichiers externes, vous modifiez également un seul fichier dans le dossier « interne ». De cette façon SVN peut récupérer avec le journal proprement dit, le journal du dossier externe aussi.

Je pense que l'utilisation du crochet devrait être possible de mettre en place un mécanisme de validation automatique d'un fichier spot dans le répertoire de travail pour chaque livraison, même si le commit début du lien externe.

Bye

0

Je pense, après Subversion 1.7 (qui introduit seul dossier .svn à la racine de WC) il était plus propre: pour le répertoire de type répertoire externals de externe à l'intérieur copie de travail est a) b indépendant) imbriqués copie de travail du dépôt séparé

>dir /B /S /AD 
z:\subversion-troubleshoot-b\.svn 
... 
z:\subversion-troubleshoot-b\trunk 
z:\subversion-troubleshoot-b\tags 
z:\subversion-troubleshoot-b\trunk\lib 
z:\subversion-troubleshoot-b\trunk\lib\.svn 
... 
z:\subversion-troubleshoot-b\tags\1.0.0 
z:\subversion-troubleshoot-b\tags\1.0.1 
z:\subversion-troubleshoot-b\tags\1.0.1\lib 
z:\subversion-troubleshoot-b\tags\1.0.1\lib\.svn 
... 

et parent WC ne contient pas d'informations sur les emboîtés WC (dir de WC, créé à partir de/du référentiel, notez svn dir présence deux fois seulement pour la canalisation principale)

>svn ls -R 
readme.textile 
tags/ 
tags/1.0.0/ 
tags/1.0.0/core_mod.txt 
tags/1.0.1/ 
tags/1.0.1/core_mod.txt 
trunk/ 
trunk/core_mod.txt 

lorsque le tronc (et balises respectivement) ont sous-répertoire lib comme externe

Repo-Browser with externals

Appui à la manipulation externals ajouté à mettre à jour et engager, parce que ce soutien produit indépendants et non reliés commandes consécutives - et parce que sans ce support les externes n'ont aucun sens, svn log agrégé doit être en quelque sorte combiné (par des principes inconnus, BTW)

Questions connexes