Domanda

Cerchiamo di mantenere la 'svn: mergeinfo' immobile sul ramo solo la cartella radice. Tuttavia, continuiamo a vederlo strisciare in sottocartelle. Siamo stati in grado di identificare alcune possibili cause:

  1. Come spostare una cartella nel repository browser
  2. Spostamento e / o la ridenominazione dei pacchetti in IntelliJ
  3. Utilizzo di vecchi client svn

Qualcuno può fornire una lista delle cose che non dovremmo fare per evitare di creare queste proprietà per caso?

Gli strumenti che stiamo usando sono IntelliJ 8 (presto 9), Ankh, TortoiseSVN e SlikSvn.

È stato utile?

Soluzione 2

Abbiamo scritto una SVN gancio / trigger che rifiuta semplicemente impegna a svn: immobili in non-tronco. Non abbiamo mai guardato indietro.

Altri suggerimenti

Purtroppo, i vecchi clienti SVN solo fare questo, e tutti gli strumenti che si basano su queste vecchie versioni di svn sono anche rotto. L'unico modo per risolvere questo problema è quello di eliminare la svn creato: mergeinfo voci prima che vengano commessi. Dal momento che la maggior parte delle persone non sono consapevoli del fatto che essi sono creati, allora l'unico vero modo per far rispettare che è un gancio pre-commit, o semplicemente fare:

svn propdel --recursive svn:mergeinfo $ROOT/*

per pulirli fuori di tanto in tanto. Fare attenzione quando si fa questo, come distruggerà qualsiasi record di fusioni parziali che si sono fatto, così si dovrebbe davvero fare solo se davvero non fai unioni parziali. L'interrogante non lo fa, e né abbiamo nel nostro ambiente.

Il problema è stato risolto nel client SVN più recenti, in modo che il problema dovrebbe lentamente morire, ma che potrebbe richiedere un certo tempo prima che tutti gli strumenti nel flusso di lavoro vengono sostituiti.

In base a un'altra risposta a questa domanda, una rapida spiegazione di ciò che provoca il problema. Quando si esegue una copia di spostamento di lavoro o si eliminano i clienti SVN di età superiore a 1.5.5 creato uno svn spuria: ingresso mergeinfo. Questo è href="http://svn.collab.net/repos/svn/trunk/CHANGES" risolto in svn 1.5.5 .

Non riesco a fornire una tale lista. Ti consiglierei di utilizzare il gancio svn che verrà log azione dell'utente che porta alla cartella modifica della proprietà e può rilasciare un avvertimento o rifiutare che si impegnano, tutto ciò che è appropriato in base al flusso di lavoro.

L'esecuzione si fonde su sottocartelle o file individuali causa questo, e dovrebbe perche ', perché deve registrare unire le informazioni.

Il modo migliore è quello di svolgere le unioni a livello principale, e quando necessario, per applicare in modo selettivo essa, ripristinare le modifiche che non si desidera fusa, e quindi eseguire il commit.

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