Domanda

Ci sono delle buone tecniche che ci aiutino a sapere quale ramo (o tronco) la nostra copia di lavoro è da? Abbiamo recentemente convertito a Subversion e stiamo usando rami di rilascio. Ho avuto due sviluppatori impegnano modifiche al ramo di release che avrebbero dovuto essere impegnati al tronco. Stiamo utilizzando CI (TeamCity), così ho riconosciuto il problema subito ed è stato in grado di ripristinare le modifiche, ma mi piacerebbe evitare che accada di nuovo. All'interno di Visual Studio, in particolare, è facile fare un errore e si impegnano al ramo sbagliato.

Stiamo usando TortoiseSVN e AnkhSVN.

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

  1. Facendo del lavoro sul ramo sbagliato. Se questo e 'colto prima di impegnarsi, lo sviluppatore deve unire le modifiche nel ramo corretta.
  2. In anticipo sul ramo sbagliato. Questo combina il dolore del punto 1 con dover annullare i cambiamenti in Subversion.

A cura di aggiungere: Abbiamo appena fatto il passaggio al plugin 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 destro.

È stato utile?

Soluzione

In AnkhSVN (in Visual Studio) il progetto URL della copia di lavoro viene dal viene visualizzato nella 'Lavorare sul' campo della finestra di modifiche in sospeso (Visualizza-> Modifiche in sospeso).

L'URL di un file / cartella viene anche visualizzato nella finestra di progetto di Visual Studio quando si seleziona un file nella finestra cambia in sospeso o di lavoro Copia Explorer (e in molti casi, anche quando si seleziona un file in Esplora soluzioni, ma questo dipende dal tipo di progetto).

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

Altri suggerimenti

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

Poi si potrebbe fare qualcosa di simile che approvare checkins che hanno 'per il rilascio' nei commenti per quel particolare ramo o qualcosa del genere e restituire un messaggio di errore altrimenti.

tortoisesvn aggiunge colonne alla visualizzazione di Windows Explorer. Nella modalità "Dettagli", fare clic destro su intestazioni delle colonne per ottenere un elenco di colonne disponibili, in fondo, selezionare "More" per ottenere una finestra di dialogo di tutti i tipi di colonne disponibili.

SVN URL breve dovrebbe mostrare rapidamente ciò che la posizione è nel repository.

Ma questo non sembra funzionare sotto Vista ...

Fare clic destro sulla cartella, passare alla scheda eversione, lì si dice che il progetto è collegato.

Inoltre, nella finestra di commit, si dice così in alto della finestra di dialogo.

Dalla directory di lavoro:

svn info

URL conterrà il ramo tuoi punti directory di lavoro.

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.

Evitare di riutilizzare le copie di lavoro. Se stai lavorando su 2 posti nel repository, avere 2 copie di lavoro, denominati in modo appropriato, come:. Project-tronco, Project-rilascio

Ecco una semplice idea che potrebbe aiutare:
Creare un file vuoto di testo denominato "branch_XX" (o qualsiasi nome) e aggiungerlo al vostro ramo.
commettere questo e poi quando si passa al tronco, il file non apparirà nella soluzione Explorer.

Sembra stupido ... ma lo fa il trucco.

Spero davvero che aggiungerà qualcosa che potrebbe segnare quello ramo che stiamo usando senza andare ad altre finestre.

In AnkhSVN (in Visual Studio), fare clic destro sul vostro progetto / soluzione, allora controllo del codice sorgente -> Subversion -> Selezionare nel repository. Si seleziona automaticamente il ramo si sta attualmente lavorando (vale a dire il ramo che stai passato a).

Non credo che la risposta accettato per AnkhSVN lavora per progetti, dal momento che vedo sempre lo stesso URL in "modifiche in sospeso" anche dopo che si utilizza l'opzione "Passa progetto" su un progetto.

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