Sto prendendo in considerazione lo spostamento di questo negozio .NET da svn a git e ho identificato alcuni problemi accessori per i quali mi piacerebbe avere una soluzione prima di cambiare interruttore.
Quello di cui mi sto chiedendo in particolare in questa domanda è l'applicazione del fine linea. Per impostazione predefinita, git per Windows si installa con "checkout crlf, commit lf", che non funzionerà per un gruppo di sorgenti che (per quanto ne so) sono costituite esclusivamente da finali crlf.
Non so che mi sarei fidato ciecamente di un determinato sviluppatore per configurare correttamente anche queste date istruzioni, quindi sto prendendo in considerazione una (o entrambe) le seguenti, ma ero curioso di sapere se qualcuno qui avesse seguito un'altra strada.
- Un hook di pre-commit che controlla eventuali finali di linea (o forse tutti i finali di linea) e rifiuta in quell'evento.
- Uno script di installazione distribuito agli sviluppatori che popola la configurazione globale con "così com'è, così com'è".
PS Mentre scrivevo, mi è venuto in mente che la conversione iniziale da svn a git poteva essere commessa nel modo predefinito e fintanto che le persone rimanevano fedeli al valore predefinito sarebbe anche abbastanza semplice. Essendo stato uno sviluppatore usando git in un negozio .NET che ha installato git con 'as-is, as-is' non predefinito, ho creato anche qui i miei problemi (avevano tutti implementato il default prima del mio arrivo) . Quindi sono ancora incline a una sorta di meccanismo di controllo.