Domanda

Nelle versioni più recenti di git, la configurazione svn.pushmergeinfo è stato introdotto:

chiave di configurazione:svn.pushmergeinfo

Questa opzione ti causa git-svn per tentare di compilare automaticamente il svn:mergeinfo di proprietà nel repository SVN, quando possibile.Attualmente, questo può essere fatto solo quando dcommitting non-fast-forward si fonde in cui tutti i genitori, ma i primi sono già stati messi in SVN.

Stiamo usando questo per avere un ambiente misto in cui alcuni sviluppatori di utilizzare SVN e un certo uso di Git-SVN.Questo funziona alla grande quando la ramificazione e la fusione SVN-rami in Git e poi git svn dcommit-ing torna a SVN, e veramente correttamente, compila il mergeinfo proprietà in quasi tutti i casi.Tuttavia, in situazioni specifiche, lo fa in modo non corretto.

Questo accade soprattutto quando la fusione di un ramo in master (tronco), dopo aver unito tronco in quel ramo (di fatto, l'equivalente di un SVN reintegrare).

L'unione, dal tronco al ramo aggiunge un mergeinfo linea per il tronco su quel ramo (come desiderato), ma la reintegrare-merge dal ramo posteriore di tronco di copie che la linea in tronco mergeinfo, in modo efficace la creazione di un autoreferenziale linea in tronco mergeinfo di proprietà che punta a se stesso.Per quanto ne so questa auto-riferimento non dovrebbe mai accadere e non accade quando si utilizza SVN da solo.Quindi, ritengo che questo sia un git-svn bug (che ho riportato qui).Questo a sua volta crea problemi lungo la strada che si interessano altri SVN utenti e danneggiare il mergeinfo sul futuro commette.

Quello che sto cercando è una soluzione: come posso facilmente dire git di non copiare mergeinfo linee per la filiale di essere uniti in, o, in alternativa, come posso dire SVN per rimuovere gli auto-referenze su commit (o qualsiasi altra soluzione che non dà come risultato un autoreferenziale mergeinfo linea, ma mantiene anche le altre qualità di automatica svn:mergeinfo creazione da git).

(Per chiarezza, io sono non alla ricerca di persone per citare il manuale di git per me, o mi dicono che "la fusione con Git-SVN è pericoloso e non supportato".Si prega di rispondere solo se si può aiutare con il problema o proporre un'alternativa flusso di lavoro.Puntatori nel codice della tabella sarebbe anche utile dal momento che potrebbe consentire a me di creare una patch per risolvere questo problema.Grazie!)

È stato utile?
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top