Ogni volta che eseguo il check-in, effettuo sempre il check-in da root del progetto ... cioè controlla tutti i file nella mia copia di lavoro, quindi dopo il check-in il repository di controllo del codice sorgente contiene esattamente lo stesso insieme di file che ho appena terminato di testare nella mia copia locale. Mi assicuro inoltre che il controllo del codice sorgente sia impostato per contrassegnare i file locali che sono non nel controllo del codice sorgente. In generale, ci sono nessuno di questi file ... se ci sono, li aggiungo al controllo del codice sorgente o li contrassegno come "ignorati". Controllo anche tutte le mie modifiche insieme in un unico check-in.
Molti colleghi si registrano in modo molto diverso. Selezionano con cura ogni file per il check-in, come se fossero un maestro gioielliere che seleziona solo le gemme migliori da inserire nella corona reale, e controllano ciascuna di esse come un check-in separato. Si basano solo sulla loro memoria per capire quali file devono essere controllati, o specialmente aggiunti al controllo del codice sorgente.
I risultati sono abbastanza prevedibili ... frequenti build falliti perché dimenticano di aggiungere i loro nuovi file al controllo del codice sorgente o dimenticano di archiviare un file modificato (in particolare i file di progetto modificati).
Ne ho parlato a loro e non sembrano mai cambiare. Quando l'ho menzionato al responsabile della squadra ha detto, "questo è solo un modo diverso di lavorare". A cui potrei rispondere: cosa succede se voglio guidare la macchina con gli occhi chiusi? È solo "un modo diverso di guidare"?
Ho ragione di essere infastidito da questa pratica?