Le modifiche alla sottocartella esterna SVN non vengono visualizzate nel registro delle visualizzazioni (svn tartaruga)

StackOverflow https://stackoverflow.com/questions/62716

  •  09-06-2019
  •  | 
  •  

Domanda

Gli esterni SVN ti consentono di far apparire una cartella SVN come se si trovasse in un'altra posizione.Un buon uso di questo è avere una cartella comune condivisa tra tutti i tuoi progetti in SVN.

Ho una cartella /trunk/common in SVN che condivido tramite diversi progetti diversi.

Esempio:

  • Progetto1:/trunk/progetto1/dipende
  • Progetto2:/trunk/progetto2/dipende
  • Progetto3:/trunk/progetto3/dipende
  • Progetto4:/trunk/progetto4/dipende

Ognuna di queste cartelle dipende è vuota, ma ha un svn:external definito per puntare alla mia cartella /trunk/common.

Il problema è quando visualizzo il log all'interno di uno qualsiasi dei progetti:/trunk/projectX/ non mostra le modifiche da svn:externals.Sto usando tortoise SVN come client SVN.

Qualcuno sa come modificare questo comportamento?Vorrei che il registro dello spettacolo di /trunk/projectX includesse anche eventuali modifiche a qualsiasi svn:externals definito.

È stato utile?

Soluzione

Ciò non è possibile con l'attuale versione di Subversion, a parte la chiamata esplicita di svn log sulla destinazione della directory externals

Puoi provare a inviare una richiesta di funzionalità all'indirizzo il sito web di Apache Subversion

Altri suggerimenti

Quando visualizzi il registro per una cartella con versione locale, mostrerà le modifiche relative a questa particolare cartella.Solo gli esterni un collegamento in una cartella diversa nel repository.L'unica cosa che puoi tenere traccia dei riferimenti esterni, da una cartella che dipende da questo progetto esterno, è il file definizione di riferimento stessa.Questo perché il riferimento è una proprietà di sovversione della cartella dipendente.

Immagina di avere la seguente gerarchia di repository:

repo
   myfirstproject
      trunk
   mysecondproject
      trunk
   mycommonlib
      trunk

e quello mysecondproject\trunk la cartella ha quanto segue svn:esterno proprietà :

svn://mysrv/repo/mysharedlib@2451 sharedlib

Un checkout di il miosecondoprogetto runk all'interno di una nuova cartella secondoprogetto creerà qualcosa di simile sul tuo file system:

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

Chiamando il comando "Mostra registro" di Tortoise da secondoprogetto la cartella mostrerà solo secondoprogetto modifiche ai file ed eventualmente modifiche avvenute sul file svn:esterno proprietà della cartella.

Per ottenere il registro delle modifiche del progetto esterno, è necessario chiamare "Mostra registro" dalla cartella interna sharedlib, il che ha senso.

per mia esperienza personale il log dei link esterni viene riportato solo se nello stesso commit in cui vengono modificati i file esterni, si modifica anche un solo file nella cartella "interna".In questo modo SVN può recuperare, con l'apposito log, anche il log da una cartella esterna.

Penso che utilizzando l'hook dovrebbe essere possibile implementare un meccanismo per l'autocommit di un file spot nella directory di lavoro per ogni commit, anche se il commit inizia da un collegamento esterno.

Ciao

Penso che dopo Subversion 1.7 (che ha introdotto una singola cartella .svn nella root di WC) fosse più pulito:per il tipo directory externals la directory della copia di lavoro esterna interna è a) indipendente b) copia di lavoro nidificata di un repository separato

>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
...

e WC genitore non contiene alcuna informazione informazioni sul WC nidificato (dir del WC, creato da/del repository, nota la presenza della dir .svn due volte solo per la linea 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

quando il trunk (e i tag rispettivamente) hanno la sottodirectory lib come esterna

Repo-Browser with externals

Supporto per la gestione degli elementi esterni aggiunto all'aggiornamento e al commit, poiché questo supporto produce indipendente e non correlato comandi consecutivi - e poiché senza questo supporto gli esterni non hanno senso, il log svn aggregato deve essere in qualche modo combinato (secondo principi sconosciuti, a proposito)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top