Sono tutti utili se si desidera disporre di impostazioni coerenti all'interno del proprio team.
.classpath
e .project
significa che tutti possono essere operativi con un progetto solo importandolo. Eventuali modifiche alle librerie e ai file di origine inclusi nel progetto verranno rilevate da tutti al momento del check-in.
La directory .settings
ha cose come le opzioni di formattazione del codice e ciò che il compilatore considera come avvertenze, errori o OK . Per coerenza, ho iniziato a controllarli (purché tutti i membri del team siano d'accordo con uno standard per la formattazione, immagino).
Ho scoperto che il limite più grande nella condivisione di cose tra il controllo di versione in Eclipse è nelle definizioni di libreria. Le definizioni di libreria sembrano essere memorizzate solo per utente, quindi se si fa riferimento a una "libreria" nel file .classpath, ogni altro utente deve definire manualmente il contenuto di tale libreria (o importare manualmente il file delle definizioni delle librerie esportate) .
Edit:(commento Rivolgendosi @ di mliebelt sotto)
Faresti solo impegnarsi file .settings se si sta cercando di mantenere la consistenza/standardizzazione tra gli sviluppatori. Se questo non è un problema per il progetto, quindi non commettere i file .settings è una cosa in meno di cui preoccuparsi per il mantenimento. I file specifici dei plug-in preferiti di un individuo probabilmente non hanno bisogno di essere commessi (anche se non credo che sarebbe dannoso se lo fossero, verrebbero probabilmente ignorati?).
I due più comuni che ho trovato degno di essere commessi sono org.eclipse.jdt.core.prefs
e org.eclipse.jdt.ui.prefs
, che sono fondamentali per qualsiasi progetto (Java) Eclipse.
+1 per menzionare le impostazioni. Per il nostro progetto ho trovato questo file di valore inestimabile dato che abbiamo evitato di mettere molta documentazione riguardante le linee guida di codifica e le regole di formattazione. Invece abbiamo speso quel tempo per concordare tutte le opzioni che Eclipse ci ha dato e appena le abbiamo controllate nel progetto. –
Ho ragione di supporre che la cartella di compilazione non sia necessaria per il commit? –
Se la cartella "build" contiene output dal compilatore o altri file generati automaticamente, in genere non lo si impegna. Se ha file sorgente (come gli script di compilazione), probabilmente lo faresti. – Ash