2010-06-04 22 views
26

Sto usando git con un repository svn tutto sta andando bene Ho fatto tutte le mie ramificazioni con git quindi non ho diramato su svn ma mi sono ramificato con git e ho spinto quei rami in una posizione separata. Poi ho commesso i cambiamenti dal ramo quando necessario.
Ma ora voglio creare alcuni rami che in realtà esistono su svn ho provato:branching git-svn

$ git svn branch someFeature -m "message" 

, e ho ottenuto questo:

$ git svn branch someFeature -m "message" 
Multiple branch paths defined for Subversion repository. 
You must specify where you want to create the branch with the 
    --destination argument. 

Come devo specificare la destinazione non riesco a capire questo fuori e anche la pagina man non è chiara.

risposta

30

Si dispone di più (o nessuna) directory da svn contrassegnato come luogo per le filiali. sezione Guarda dentro di te .git file/config, non ci sarebbe così:

[svn-remote "svn"] 
url = file:///someurlto/svn 
fetch = trunk:refs/remotes/trunk 
branches = branches/*:refs/remotes/* 
branches = branches2/*:refs/remotes/* 

ci saranno più voci per rami. (In alternativa, se non si dispone di tutte le voci di filiale, la prima linea dovrebbe funzionare con un layout repo SVN standard.)

Così, quando la ramificazione è necessario indicare in quale directory il ramo deve essere creato:

git svn branch someFeature -m "test" --destination branches2 

dove l'ultimo elemento è una delle directory delle diramazioni in .git/config.

+1

Vedo solo url = file: /// someurlto/svn prendere = tronco: refs/telecomandi/trunk io non vedo rami in quel file – slayerIQ

+1

Ahh, allora questo è il problema. git non so dove mettere questo ramo. Aggiungi una linea simile lì come nel mio esempio. (branches = pathinsvnrepo/*: refs/remotes/*) – silk

+0

Che dire di un semplice repository SVN senza la struttura della cartella trunk/branches? La parte iniziale della ramificazione è passata. Ma git svn dcommit fallisce. Mi lamento che le cartelle non esistano ... – kakyo

1

Se leggo il git svn man page destra:

git svn <command> [options] [arguments] 

, è necessario digitare:

git svn branch -m "message" someFeature 

invece di:

git svn branch someFeature -m "message" 
+0

$ git svn branch -m "message" someFeature Percorsi multipli definiti per il repository Subversion. È necessario specificare dove si desidera creare il ramo con l'argomento --destination. Ancora lo stesso messaggio. – slayerIQ

Problemi correlati