È possibile fare in modo che git svn & # 8220; trasferisca & # 8221; file di filiale al checkout?

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

  •  05-07-2019
  •  | 
  •  

Domanda

Il nostro repository svn ha molti rami che sono rami di alberi secondari. Questo funziona bene con svn perché posso controllare quel sottoalbero nel punto corretto nella mia copia di lavoro. Tuttavia, se controllo lo stesso ramo usando git, ottengo una copia funzionante con solo il sottoalbero del ramo. È possibile fare in modo che git trasferisca il ramo in modo che la struttura della mia copia di lavoro sia identica sia che mi trovo sul tronco o su un ramo?

Mi rendo conto che le nostre pratiche svn si scontrano con la filosofia di git di lavorare sempre sull'intero albero. In che modo le persone lo affrontano?

È stato utile?

Soluzione

Se possibile, correggilo sul lato server: Subversion non copia i dati durante la diramazione ( svn copy ), ma solo hardlink, quindi non c'è davvero alcuna ragione ovvia per diramare solo una sottostruttura.

Se ciò non è possibile, dovresti dare un'occhiata a http://help.github.com / subtree-merge / - potrebbe fare il trucco, ma non l'ho provato da solo. Sta sostanzialmente descrivendo un'alternativa ai sottomoduli git, in cui unisci automaticamente il telecomando (in questo caso il tuo ramo Subversion) in una sottodirectory anziché nella directory principale del repository.

Altri suggerimenti

Non ho mai usato svn in questo modo, e se il silenzio che hai ottenuto è indicativo, è una specie di pratica rara. Potresti dare qualche logica per fare le cose in questo modo, magari descrivendo quale problema risolve? In questo modo possiamo giudicare meglio quale sarebbe una soluzione accettabile.

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