Ho tre pronti contro termine - i nomi cambiati per chiarezza:Unione di modifiche sottostruttura - fatale: Percorso non valido '' somefile_BASE_20704.cs
SharedStuff
, ProjectA
e ProjectB
Entrambi i progetti utilizzano git-sottostruttura per mantenere una copia locale di SharedStuff
. Entrambi hanno apportato modifiche locali che sto tentando di unire centralmente, testare, quindi unirmi nuovamente a ciascuna di esse.
ho eseguito questo sul repo ProjectA:
git subtree split --prefix=SharedStuff -b SharedStuff_from_ProjectA --rejoin
... poi spinto che al SharedStuff
pronti contro termine, ha deliberato alcuni conflitti semplici, fuse in su.
Ora ho eseguito questo sul repo ProjectB:
git subtree split --prefix=platform/SharedStuff -b SharedStuff_from_Project_B --rejoin
... e ancora una volta spinto che al SharedStuff
pronti contro termine in una nuova filiale. . Il problema si verifica quando sto cercando di unire le modifiche in
Nel caso attuale, posso passare al ramo SharedStuff_from_Project_B
, quindi git merge master
- ma ho subito ottenere tutti i file modificati elencati come add/aggiungo conflitti. Quando eseguo git mergetool
, ognuno ha un errore come questo:
Merging:
somefile.xyz
Normal merge conflict for 'somefile.xyz':
{local}: created file
{remote}: created file
fatal: invalid path './somefile.xyz_BASE_20704.cs'
(Naturalmente, se provo il contrario - per unire SharedStuff_from_Project_B
in master
- ottengo lo stesso tipo di conflitti, semplicemente invertite ancora. aggiungi/aggiungi).
La mia ipotesi è che qualcosa potrebbe essere sbagliato nella cronologia di ProjectB, causando l'apparenza di aggiungere/aggiungere. Non sono sicuro di come diagnosticare ulteriormente questo, però - cosa posso fare?
Edit: c'era un precedente sottostruttura "ricongiungersi" impegnarsi in ProjectB
, ma le modifiche non sono state fuse in SharedStuff
a quel punto sembra. Tuttavia, la ripetizione di git subtree split
con --ignore-joins
produce lo stesso problema: un sacco di conflitti di unione add/add
, nonostante la cronologia di quel ramo di sottostruttura diviso che risale a quando lo SharedStuff
è stato inserito per la prima volta in ProjectB
. :(
Edit: Anche git merge-base
tra la sottostruttura scissione dal ProjectB
e master
su SharedStuff
non dà alcun risultato io non sono sicuro di come questo è venuto per essere o come risolvere
Qui andiamo, numero 3 ... –