Domanda

Di recente ho incontrato un comportamento molto strano di sovversione.

Ho appena fusi mia copia locale di un ramo con una filiale remota. Tutto è andato liscio, ma ho 1 albero conflitto (locale cancellare, aggiornare a distanza).

Va bene, ho pensato, modificato la copia di lavoro in modo appropriato e corse "svn determinazione --accept = -R di lavoro.".

Subversion ha detto che ha risolto i miei problemi e "svn st" non ha mostrato problemi. Così, ho provato a commettere, ma svn mi ha detto che una delle cartelle interne (dentro la mia uno conflittuale) era fuori di data e suggerito di svn up, ma ha fatto la cartella di essere in conflitto di nuovo!

Cosa devo fare per uscire da questo circolo visious?

È stato utile?

Soluzione

Questo può o non può aiutare, ma a volte un "svn cleanup" risolverà i problemi di metadati strani. Se si estrae un copia di lavoro pulito, non la copia pulita hanno lo stesso problema? Se è così allora la risposta precedente suona come un passo nella giusta direzione

Altri suggerimenti

~/sandbox/jabira > svn resolve  --accept=theirs-full testClient/
svn: warning: Tree conflicts can only be resolved to 'working' state; 'testClient' not resolved

~/sandbox/jabira  > svn resolve  --accept=working testClient/
Resolved conflicted state of 'testClient'

Spero che questo aiuto

È possibile utilizzare un altro modo che il comando svn risolvere:

  1. Crea una patch del file in conflitto. (O di un backup della versione della cartella in conflitto con l'esportazione svn ...)
  2. Aggiorna il tuo repository (svn update)
  3. Applicare la patch precedentemente fatto (o sostituire il file / cartella in conflitto con il backup)
  4. commit della modifica (svn commit)

Questo è ciò che ha funzionato per me di abbandonare tutte le modifiche locali e andare con il file dal repository del server:

svn update --accept theirs-full

svn resolve --accept theirs-full <pathname>

Questo messaggio compare: W155027: conflitto albero può essere risolto solo a 'lavorare'

prossimo passo poco intuitivo, ma questo taglia in realtà il comma 22 :

svn resolve  --accept=working <pathname>

SOCIETÀ ripristinare tutti i "lavoro" cambia in modo ricorsivo. Questo disfece tutte le mie modifiche locali.

svn revert -R .

Torna alla normalità, senza errori:

svn update

Probabilmente non ha avuto le cartelle aggiornate quando avete fatto l'unione, o c'era un conflitto in qualche luogo prima della fusione. Per risolvere il problema, che avrebbe dovuto ripristinare il tronco (cartella di destinazione) alla revisione precedente. Quindi eseguire clean-up su quella cartella. Quindi eseguire la pulitura sul (cartella di origine) Cartella ramo. Poi aggiornare di nuovo entrambe le cartelle. Se stai ricevendo le linee in rosso in qualsiasi flusso di lavoro, quindi è necessario ripristinare i file, poi li entrare nello stato che li si desidera. Poi aggiornare le cartelle (sì, ancora una volta). Infine eseguire di nuovo l'unione.

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