Domanda

Sto imparando mercuriale come il mio software solista Smc. Con altri software di gestione, si può mettere commenti cambiamento nella intestazione del file attraverso i tag. Con hg si commento il set di cambiamento, e che non ottiene nella fonte. Io sono più utilizzati per il controllo centrale come VSS.

Perché dovrei mettere la cronologia dei file nell'intestazione del file di origine? Devo lasciare che Mercurial gestire la storia con i miei commenti changeset?

È stato utile?

Soluzione

Lasciate che gestisce il sistema di controllo del codice sorgente di esso.

Se si mettono i dettagli del cambiamento nell'intestazione diventerà presto ingombrante e sopraffare il codice vero e proprio.

Inoltre, se l'SCM ha il concetto di changelists (dove molti file sono raggruppati in una singola modifica) allora sarete in grado di scrivere il commento in modo che essa si applica a tutto il cambiamento e non solo le modifiche nel file di uno (se questo ha un senso), dando un quadro più chiaro del motivo per cui è stata richiesta la modifica.

Altri suggerimenti

Sì; lasciare che gestire il sistema di controllo del codice sorgente tuoi commenti changeset. La ragione di questa è che rende molto più senso quando si sta visualizzando il registro delle modifiche in seguito, cercando di capire cosa sta succedendo tra due versioni di un file - il sistema di controllo del codice sorgente in grado di presentare il commento cambiamento per cercare di illuminare la situazione .

Non c'è alcun motivo per mantenere manualmente un file quando la storia del software SCM è molto più adatta per risolvere questo problema. Tutte le storie di file troppo spesso vedo parzialmente completata nel sorgente, che in realtà fa male, perché le persone assumono in modo non corretto che sia corretto.

La differenza non è se si tratta di un VCS centralizzati o distribuiti, è di più su ciò che è stato cambiato.

Quando mi sono trasferito a NET, il numero di file aggiornati per qualsiasi cambiamento individuale sembrava a salire alle stelle. Se dovessi registrare il cambiamento in ogni file, non avevo mai ottenere qualsiasi reale lavoro svolto. Commentando l'insieme di modifiche, non importa quanti file ho dovuto aggiornare.

Se ho mai avuto bisogno di identificare tutte le modifiche per una particolare modifica, posso diff tra le due versioni del progetto.

La differenza più grande (e vantaggio) ho visto quando si passa dalla SourceSafe è stato il passaggio da file in base al progetto commit based. Non appena mi sono abituato a questo, ho smesso di aggiunta di commenti di tipo change-log per tutti i miei file.

(Come effetto collaterale, ho scoperto che la mia descrizione processo commenti sono migliorati)

Io non sono un grande fautore del littering il codice con i commenti di cambiamento. Nel caso in cui essi sono necessari possono essere consultati nella SCM (almeno per le varianti SCM ho usato). Se li vuole nel file, prendere in considerazione la loro messa alla fine invece che dal principio. In questo modo non dovrà scorrere verso il basso oltre il (poco interessante, almeno per me) commenti prima di arrivare al codice vero e proprio.

Un altro voto per lasciare gestire il sistema SCM i commenti checkin, ma ho una cosa da aggiungere.

Alcuni sistemi consentono di utilizzare i tag RCS nel codice sorgente in cui l'SCM può inserire la cronologia delle modifiche direttamente nel file di origine viene commesso automaticamente. Suona come un buon equilibrio perché la storia è quindi nel sistema SCM e poi mettere automaticamente nel codice sorgente stessa.

Il problema è che questo processo modifiche il file di origine. Penso che sia una cattiva idea perché il file non può essere modificato su disco fino a quando dopo l'inserimento si commento. Se tu fossi un buon ingegnere, si dovrebbe avere costruito e modifiche prima il commit testato. Se le modifiche di origine dopo il commit, allora hai ottenuto essenzialmente una costruzione che potrebbe essere rotto - ma la maggior parte ingegneri non si costruirà dopo un commit - perché dovrebbero

Ma è solo un commento che dici! Vero, ma ho avuto un caso in cui ci fosse codice nel mio file di origine che stranamente aveva ragione di cercare come un tag di intestazione RCS e che la sezione del codice GOT sostituiti durante le operazioni, munging in tal modo il mio codice . abbastanza facile da risolvere, ma un male che un accumulo si è rotto per 20 utenti

Molto più facile da dimenticare per mantenere la storia nella sorgente, come uno sempre (IMO) dovrebbe lasciare un commento, si impegna a fonte sistema di controllo questo problema dissappers. Anche se cambiano un sacco di file prima di commettere, cambiare la storia in ogni file sarà lavoro fastidioso. Questo è davvero uno dei punti con avere scm.

Ho esperienza con questo. Ho avuto la cronologia dei file nei commenti, è stato terribile . Nient'altro che spazzatura, a volte si dovrebbe scorrere verso il basso quasi 1k righe di modifiche del codice prima di finalmente avuto modo di quello che volevi. Per non parlare, si sta rallentando altri aspetti del processo di generazione con l'aggiunta di più kb al vostro albero del codice sorgente.

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