2010-08-20 22 views
11

Sto lavorando su un progetto iPhone C++ e Objective C. Sto usando git come mio sistema di controllo della versione.Doxygen per un progetto gestito con git?

Il codebase è in crescita un bel po ', quindi vorrei aggiungere Doxygen al progetto. Il problema è che non sono sicuro di quale sarebbe l'approccio migliore per farlo.

Ho pensato a un paio di opzioni:

1) Creare la documentazione Doxygen HTML nella cartella del progetto e renderlo "parte" del progetto in modo che sia anche di versione e si è impegnato a git.

2) Creare la documentazione Doxygen HTML nella cartella del progetto e inserirlo al .gitignore in modo che ogni utente del progetto è responsabile per la generazione dei documenti e repository git progetto rimarrebbe intatta (tranne che per il .gitignore).

Stiamo utilizzando un repository git --bare nel nostro server principale, quindi installare una pagina Web contenente il Doxygen HTML nel server sarebbe complicato (non è possibile visualizzare i file di progetto con un repository git --bare , quindi non sarò in grado di vedere il documento HTML generato da Doxygen a meno che non lo abbia caricato separatamente)

Forse potrei fare una specie di cron-job, per mantenere il doxygen aggiornato sul lato server?

L'aiuto è molto benvenuto.

risposta

18

Credo che non si debbano mai archiviare file generati in un repository di origine, in particolare quando vengono generati da strumenti comunemente disponibili come Doxygen da file che sono già stati memorizzati nel repository.. Nel caso di Doxygen, è sufficiente memorizzare Doxyfile nel repository.

(O, meglio, se si sta utilizzando autoconf, negozio Doxyfile.in, in modo che l'attuale numero di versione del progetto viene sostituito nella generato Doxyfile come parte della fase configure.)

Se si vuole garantire che chiunque controlli il tuo progetto riceve una copia del manuale di riferimento generato da Doxygen, rendendolo parte del processo di generazione predefinito.

4

Concordo con Warren, ma vorrei aggiungere quanto segue:

è possibile utilizzare un '' post-ricezione gancio '' per aggiornare automaticamente una directory di lavoro (separato) ogni volta che c'è una spinta al repository nuda . Questo approccio è descritto per il mantenimento dei siti Web controllati dalla versione qui http://toroid.org/ams/git-website-howto e io lo uso in questo modo.

Mi sembra ragionevole che si possa aggiungere un passaggio al gancio per eseguire Doxygen dopo l'aggiornamento, che riguarderebbe ciò che si sta cercando. Potrebbe essere necessario pensare a come riportare errori all'utente/committer se Doxygen bork, ma questo è l'unico problema che vedo.

0

check-in solo il file di configurazione doxygen,

ottenere il server continuous integration per costruire la documentazione e pubblicarlo ad un sito interno a disposizione e condividere l'url con la squadra.

Problemi correlati