2011-09-22 12 views
21

Quali file devo indicare a Tortoise SVN di ignorare quando si esegue il commit su un repository?Cosa devo configurare SVN per ignorarlo nei miei progetti Delphi?

In particolare, sono interessato a informazioni pratiche come se includere file come *.dproj.2007 ecc che sembrano apparire ma potrebbero non essere necessari.

+0

Ci scusiamo, ma era inteso per ottenere informazioni pratiche come se includere file come * .dproj.2007 ecc che sembrano apparire ma potrebbe non essere necessario. –

+0

Mentre parli di XE e XE2 ... Sto usando il client SVN incorporato ... dal Project Manager, tasto destro del mouse, sottomenu SVN ...Altrimenti, inizierò ad aggiungere tutti i file con un'estensione che contiene ** ~ ** – Whiler

+0

Ti suggerisco di chiedere informazioni su file ed estensioni specifici. –

risposta

15

io uso questi in D2007, che sembra funzionare ancora bene in XE e XE2:

*.dcu *.~* *.ddp *.exe *.map *.bak *.obj *.dsk 
*.err *.log *.tmp *.identcache *.tvsconfig __history *.todo 
ModelSupport* *.local 

non includo ModelSupport perché io non uso roba modellazione del IDE, quindi non c'è nessun punto in versionarlo se è stato creato per errore. Inoltre non eseguo alcuna versione nella cartella __history, poiché si tratta di versioni di versioni temporanee tra i check-in; una volta effettuato il check in SVN, non è più necessario.

(Non sono d'accordo con Chris su *.res, BTW, soprattutto quando si tratta di XE2. I file di risorse possono essere creati ora utilizzando Project|Resources and Images, e quelli andare direttamente in un file di risorse. Dal momento che l'immagine risorsa \ potrebbe essere in realtà proveniente da qualche parte altrimenti non nella cartella corrente, e il file immagine potrebbe non essere accidentalmente archiviato, tengo il file .res adesso. Conservo anche il file di progetto, ha tutti i percorsi e le opzioni del compilatore impostate.Se accade qualcosa dove è necessario che cambi , è semplice rimuovere il file di progetto e consentire all'IDE di ricrearlo se necessario.)

+0

Per chiarire: eseguiamo il check-in dei file .res, ma solo quando abbiamo apportato un cambiamento significativo. Nello specifico, il nostro sistema di compilazione automatizzata incrementa i numeri di versione in .res e non vogliamo che vengano bocciati da controlli non necessari. Quindi questo è probabilmente specifico per il nostro ambiente. –

+0

Ha senso. Apportiamo modifiche alla versione solo manualmente e taggliamo le versioni nel momento in cui il numero cambia, quindi gli incrementi automatici non influiscono su di noi. :) –

7

Utilizzando Delphi2005, il nostro team ha da tempo adottato questa:.

* * .bdsproj .scc * * .suo .user ~ * * .local .identcache * .dsk obj bin test __history *. o * .lo * .la * .al .libs * .so .so. [0-9] * .a * .pyc * .pyo * .rej ~ # #. # *. *. swp. DS_Store

Non so se sono tutti necessari o no, o quali sono alcuni di essi. Non l'ho trovato, basta seguire il nostro wiki interno ....

Lungo queste linee, dovresti guardare i ganci di pre-commit lato server. Abbiamo un trigger pre-commit che dis-consente la verifica dei file .bdsproj, .dpr e .res a meno che un tag specifico non sia incluso nel commento: [Aggiungi file progetto] [Aggiungi file res]. Se si tenta di eseguire il commit di un .bdsproj, .res o .dpr senza tali tag, il commit fallirà l'audit e sarà respinto, e una e-mail imbarazzante verrà inviata all'intero team di sviluppo. Questo perché raramente questi file hanno modifiche legittime. Se hai bisogno di aggiungere un'unità a un progetto, bene, fallo e includi il tag con il checkin, e andrà bene. Il tag dice "So cosa sto facendo, e ho una buona ragione per cambiare questo file". In caso contrario, hai tutti i tipi di merda essere il check-in - numero di giri, i cambiamenti di percorso, pacchetti che vanno e vengono, ecc ..

Abbiamo anche alcuni filtri grep nel pre-commit, alla ricerca di certe cose essere aggiunto. Come unità "skin" indesiderate da DevExpress, perché alcuni sviluppatori hanno installato tutte le skin e l'IDE ha deciso di aggiungerle. O MadExcept, perché qualcuno lo ha lasciato acceso dopo aver eseguito il debug di qualcosa (non permettiamo che MadExcept sia in produzione su questo particolare progetto, per una serie di motivi). Roba del genere.

Aggiornamento: poiché il nostro ambiente non è tipico, ho rimosso * .res dall'elenco sopra.

+1

In Delphi XE2, puoi finalmente rimuovere i file .RES dal repository senza strani effetti collaterali. Se avevi deciso di commettere solo file .rc nelle versioni di Delphi precedenti, hai qualche strano comportamento IDE che scommetto! –

Problemi correlati