Domanda

Abbiamo alcuni sviluppatori che lavorano sulla stessa soluzione VS2005, ma il nostro controllo del codice sorgente è pessimo. (La nostra azienda utilizza Harvest, a cui diamo un voto senza fiducia).

In questo momento, stiamo solo lavorando sui file su un'unità LAN condivisa. Ovviamente, ciò causa alcuni problemi. Ma pensiamo che sia meglio che lavorare localmente e tenere traccia dei file che abbiamo toccato in un foglio di calcolo e unire tutto manualmente. Qualcuno ha una strategia per unire i nostri cambiamenti?

Alcuni problemi esistono a causa della beaurocrazia aziendale (come il mandato di raccolta). Queste stesse politiche impediscono di introdurre nuovi strumenti nel nostro ambiente. Pertanto, le strategie che evitano di acquistare / scaricare nuovi software funzionerebbero al meglio per noi.

È stato utile?

Soluzione

Tratta la condivisione come se fosse il tuo sistema di controllo del codice sorgente. Rendi la condivisione di sola lettura, che costringerà gli sviluppatori a ottenere copie locali per apportare modifiche. Quindi hai una versione un po 'stabile con cui confrontare. Ciò contribuirebbe a facilitare la possibilità di fare "fusioni". & Quot; Verifica " il codice in dovrebbe consistere in una sorta di strategia di backup per il file (possibilmente facendo una copia del file con un timestamp e un nome utente come parte del nuovo nome del file) e sostituendo l'originale con la nuova versione.

Detto questo, fare questo tipo di attività senza un vero sistema di controllo del codice sorgente affidabile sarà difficile e soggetto a errori.

Altri suggerimenti

Impara a usare Harvest. Ci vuole un piccolo sforzo per far andare le cose senza intoppi, ma nel complesso è un eccellente sistema di controllo del codice sorgente.

Un'altra possibilità sarebbe Beyond Compare from Scooter . Ha l'unione a due e tre vie e una grande funzionalità diff su file e directory. Se vuoi saperne di più, ascolta the delphi podcast di Jim McKeith .

Ma come la maggior parte degli altri consiglierei di usare Git o imparare Harvest. Se il sistema di controllo del codice sorgente consente di cambiare la sua applicazione diff, Beyond Compare sarebbe un ottimo sostituto.

Ottieni git e installalo localmente sul computer di ogni sviluppatore. Quindi impostare i repository su replicare.

Esistono due problemi distinti: controllo della versione e unione. Non ci sono assolutamente scuse per NON utilizzare un sistema di controllo della versione. Se la società ha deciso una soluzione (per qualsiasi motivo), utilizzarla. Non piacerti o meno "avere fiducia" in esso non è un motivo valido per non usarlo. E l'utilizzo di un'unità condivisa per imitare un sistema di controllo del codice sorgente è oltremodo pazzo.

L'unione è un secondo problema. Hai semplicemente bisogno di uno strumento diff / merge. Sceglierne uno. Come sei andato così a lungo senza uno ?!

Araxis è eccezionale. Costa qualche soldo. La gente di SourceGear ha distribuito liberamente il suo strumento diff / merge da qualche tempo (quello fornito con Vault). È anche un solido contendente. Sono due che ho usato e che so che sono ancora sul mercato adesso. Ce ne sono altri già menzionati.

Unire tutto a mano non è una soluzione sostenibile. Combinarlo con non usando un VCS è una ricetta per il disastro.

Probabilmente dovrai scaricare qualcosa a meno che tu non voglia farlo manualmente. Consiglio vivamente Winmerge . È gratuito, open source e probabilmente è meglio per te un piccolo download che non rovina le cose.

Esiste uno strumento standard della riga di comando unix chiamato merge che unirà in modo abbastanza intelligente due serie di modifiche in un file. La sintassi è:

merge mine older yours

Where " mine " è il file con le tue modifiche, " vecchio " è il file originale e " tuo " contiene le modifiche di qualcun altro.

Non sono sicuro di avere una scatola UNIX (o Mac OS X) in giro per farlo.

Questa potrebbe non essere un'opzione praticabile, ma forse potresti usare un sistema distribuito come bazaar , < a href = "http://git.or.cz/" rel = "nofollow noreferrer"> git o Mercurial .

Il motivo per cui suggerisco questi è che sono molto bassi e possono essere utilizzati con altri sistemi. So che con bazaar il repository è semplicemente una cartella nascosta aggiunta alla directory.

Lavorare fuori da un'unità condivisa non è una buona idea e ottiene il mio voto di "nessuna fiducia".

Sarebbe troppo facile sovrascrivere le modifiche di altri, non hai tracciamento delle modifiche, non c'è modo di diramare o tag / etichetta, ecc.

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