Autotools: dovrebbero config.guess, depcomp o ltmain.sh essere memorizzati nel repository SVN?

StackOverflow https://stackoverflow.com/questions/4458859

  •  10-10-2019
  •  | 
  •  

Domanda

Io sto prendendo su un progetto e vedo nel repository subversion alcuni file che appartengono alla distribuzione di libtool e automake, come ad esempio config.guess, depcomp o ltmain.sh. Credo che questo è semplicemente sbagliato, perché quando faccio il check-out, dovrei avere i autotools installato sulla mia macchina e fare un autoreconf.

Cosa ne pensi? Mi sto perdendo il punto di avere questi file nel repository?

È stato utile?

Soluzione

In genere, non avreste quelli nel vostro repo SVN. Di solito si dispone di un autogen.sh che ricrea su richiesta. Il tuo istinto di non memorizzare i file potenzialmente stantii è un buon compromesso. Se qualcuno commette un cambiamento configure.ac, e qualcuno controlli altro fuori il tutto con la configure, il cambiamento non sarà questione.

Altri suggerimenti

Quasi tutto ciò che può essere generato - e depcomp, ecc appartengono a quella -. Non dovrebbe essere parte di un repository di origine cingolato

La teoria pura è che non si dovrebbe mettere i file che è possibile rigenerare in controllo di versione. Dal momento che è possibile ricreare questi file utilizzando autoreconf -i o simili, che si applica in questo caso.

Il motivo per cui un sacco di gente ancora farlo (oltre l'ignoranza, forse) è che questo può creare un notevole onere supplementare per gli sviluppatori. Se, per esempio, si ha un progetto open-source più grande, con decine di sviluppatori e centinaia di seguaci interessati, tutti avranno una diversa versione di autoconf, automake, libtool, autopoint, ecc installato. In casi semplici, che non dovrebbe fare la differenza. In pratica, lo fa, e questo può creare grandi mal di testa e si allontanano potenziali contributori del progetto.

Così, come un compromesso pratico, dal momento che questi file in realtà cambiano molto raramente, se si dispone di una configurazione molto complessa, si può solo controllarli in alcun modo.

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