2012-11-30 13 views
7

Sto lavorando su un codice solitamente in linea ma a causa di modifiche recenti ho dovuto passare il mio spazio di lavoro a un ramo.come eseguire il commit su un ramo svn diverso senza commutazione

E 'possibile commettere qualsiasi cambiamento nel bagagliaio mentre si lavora in un ramo senza in realtà passare il progetto al tronco

Io fondamentalmente voglio impegnare cambiamenti sia tronco e ramo, senza passare avanti e indietro ancora e ancora

risposta

6

La risposta breve: No

Questo è il motivo per Dio ha creato svn switch in primo luogo. Ti permette di cambiare il ramo sottostante della tua directory di lavoro senza perdere il tuo lavoro.

pensare in questo modo: Quante volte si è uno sviluppatore ha rotto qualcosa perché hanno detto a se stessi "Ehi, io non devo testare questo è un cambiamento minore"?

Anche se Subversion ti permettesse di fare ciò che desideri, sarebbe comunque una cattiva idea. Fondamentalmente starai facendo dei cambiamenti in una base di codice senza un vero sistema per assicurarti che funzionino in primo luogo. Ecco perché Subversion richiede di avere una directory di lavoro prima di poter apportare modifiche *. Come verificherai le tue modifiche?

Se non si desidera utilizzare svn switch perché non si vuole perdere il proprio lavoro, si potrebbe procedere come segue:

  • Copiare l'intera directory di lavoro in un'altra posizione, quindi utilizzare svn switch su un per fare quel tronco.
  • Termina il tuo lavoro sul tuo ramo. Confermare le modifiche e annotare il numero di revisione. Ora, o fare uno svn co o svn switch per ottenere una copia di lavoro di tronco. Quindi utilizzare svn merge -r per unire le modifiche nel trunk. E, naturalmente, prova le tue modifiche prima di commetterle.

* Subversion fa permettono mkdir, cp, mv, e rm di lavorare direttamente su un URL, ma questo è principalmente per consentire di manipolare i rami senza dover creare una directory di lavoro.

+1

La risposta breve: usare git – Winter

0

Controllare il bagagliaio in una cartella diversa.
Apportare le modifiche nel bagagliaio e controllarle. Quindi unirle al ramo e controllare l'unione.

0

Non è possibile impegnarsi per il percorso al di fuori di WC URL (vedi svn info WCROOT)

La regola di cui sopra significa - se radice WC è a un livello, che è capogruppo del ramo e il tronco, si può commettere in entrambe le posizioni nello stesso momento (il ramo e il tronco saranno i sottodiretti all'interno del WC). genitore comune è repository-root, al fine non cassa tutta pronti contro termine, si può giocare con le opzioni --depth e --setdepth di commettere/aggiornamento

Problemi correlati