2009-04-14 12 views
9

Esistono buone tecniche per aiutarci a sapere da quale diramazione (o tronco) proviene la nostra copia di lavoro? Di recente abbiamo convertito in Subversion e stiamo usando i rami di rilascio. Avevo due sviluppatori che commettevano le modifiche al ramo di rilascio che avrebbero dovuto essere impegnate nel trunk. Stiamo utilizzando CI (TeamCity), quindi ho riconosciuto subito il problema ed è stato in grado di annullare le modifiche, ma vorrei impedire che si ripetesse. Specialmente in Visual Studio, è facile commettere un errore e commettere il ramo sbagliato.Come possiamo tenere traccia della filiale della nostra copia di lavoro?

Utilizziamo TortoiseSVN e AnkhSVN.

Modificato per aggiungere: Giusto per chiarire, sto cercando un metodo per evitare errori incuranti, so già come trovare queste informazioni. Ci sono due errori incuranti che sto cercando di prevenire:

  1. Fare il lavoro sul ramo sbagliato. Se questo viene rilevato prima del commit, lo sviluppatore deve unire nuovamente le modifiche nel ramo corretto.
  2. Accettato nel ramo sbagliato. Questo combina il dolore del punto 1 con il dover annullare le modifiche in Subversion.

Modificato per aggiungere: Abbiamo appena effettuato il passaggio al plug-in VisualSVN VS e ha una barra degli strumenti che visualizza il percorso della copia di lavoro corrente. Mi piace molto la rassicurazione che sto lavorando sul ramo giusto.

risposta

2

In AnkhSVN (in Visual Studio) l'url del progetto della copia di lavoro proviene viene visualizzato nel campo "Elaborazione in corso" della finestra Modifiche in sospeso (Visualizza-> Modifiche in sospeso).

L'URL di un file/cartella viene visualizzato anche nella finestra del progetto Visual Studio quando si seleziona un file nella finestra Modifiche in sospeso o in Esplora risorse di lavoro (e in molti casi anche quando si seleziona un file in Solution explorer; ma questo dipende dal tipo di progetto).

[Aggiornamento:. Ho appena aggiunto AnkhSVN issue #581 per l'estensione della finestra di commettere]

1

Fare clic con il pulsante destro del mouse sulla cartella, spostarsi sulla scheda di sovversione, dove viene indicato il progetto a cui è collegato.

Inoltre, nella finestra di dialogo di commit, lo dice nella parte superiore della finestra di dialogo.

+0

Abbastanza vero, ma questo non ha impedito errori. Normalmente eseguiamo commit da VS e AnkhSVN non visualizza l'URL. Forse è il momento di guardare VisualSVN. –

+0

Quindi ora stai facendo una domanda completamente diversa. –

1

dalla directory di lavoro:

svn info 

URL conterrà il ramo tuoi punti directory di lavoro.

<EDIT> Vedendo come molte persone non amano la riga di comando, la cosa si chiude ho trovato da TortoiseSVN è il "navigatore pronti contro termine", che sembra utilizzare il ramo selezionato come percorso di partenza nella repo. </EDIT >

4

forse si dovrebbe considerare l'utilizzo di un pre-commit hook: http://svnbook.red-bean.com/nightly/en/svn.reposadmin.create.html

allora si potrebbe fare qualcosa di simile che approvare checkins che hanno 'per il rilascio' nei commenti per quel particolare ramo o qualcosa di simile e restituire un messaggio di errore in caso contrario.

2

SVN Tortoise aggiunge colonne alla vista Esplora risorse. Nella modalità "Dettagli", fare clic con il pulsante destro del mouse sulle intestazioni delle colonne per ottenere un elenco di colonne disponibili; in basso, selezionare "Altro" per ottenere una finestra di dialogo di tutti i tipi di colonna disponibili.

L'URL breve SVN dovrebbe mostrare rapidamente l'ubicazione nel repository.

Ma questo non sembra funzionare sotto Vista ...

1

evitare di ri-utilizzando copie di lavoro. Se stai lavorando su 2 posizioni nel repository, hai 2 copie di lavoro, chiamate appropriatamente, come: Project-trunk, Project-release.

1

Ecco un'idea semplice che potrebbe aiutare:
Creare un file di testo vuoto denominato "branch_XX" (o qualsiasi nome) e aggiungilo al tuo ramo.
commit this e quindi quando si passa al trunk, il file non verrà visualizzato in Solution Explorer.

Sembra stupido ... ma fa il trucco.

Spero davvero che aggiungano qualcosa che potrebbe contrassegnare quale ramo stiamo usando senza passare ad altre finestre.

0

In AnkhSVN (in Visual Studio), fare clic con il tasto destro del mouse sul progetto/soluzione, quindi Source Control -> Subversion -> Select in Repository Explorer. Seleziona automaticamente il ramo su cui stai attualmente lavorando (cioè il ramo a cui sei commutato).

Non credo che la risposta accettata per AnkhSVN funzioni per i progetti, poiché vedo sempre lo stesso URL in "Modifiche in sospeso" anche dopo che utilizzo l'opzione "Cambia progetto" in un progetto.

Problemi correlati