Domanda

Il nostro repository ha una struttura come questa:

Dev
    Project1
        source
        docs
        ...
    Project2
        source
        docs
        ...
    ...

Dopo che ci impegniamo modifiche ai sorgenti Progetto1 vorremmo distribuire Project1 (compilare, testare, copia, ecc). Come scoprire in post-commit-gancio che abbiamo impegnati a Dev / Project1 in modo da potremmo esportare questo progetto ed eseguire alcune operazioni su di esso? Quando commettere a svn (ad esempio utilizzando TortoiseSVN) ir è scritto: "Si impegnano a: ..." Come trovare che "si impegnano a"

?
È stato utile?

Soluzione

Si dovrebbe usare

svnlook changed -r REV REPOPATH

in un post-commit hook. SVN fornirà REPOPATH e REV come argomenti. È possibile ottenere una lista con tutti i percorsi è cambiato di nuovo (nuova linea separata). È quindi possibile utilizzare facilmente grep o qualsiasi altra cosa per cercare i percorsi modificati.

Ricordate: Inizia un nuovo thread per la costruzione / Distribuzione, come svn attenderà post-commit hook ha terminato (in modo da non vedere "Committed Revisione XX" fino a quando tutto viene distribuito) <. / p>

Altri suggerimenti

Ti consiglio di utilizzare un server di integrazione continua come CruiseControl. rete sopra usando un post impegnano gancio per attività di integrazione.

Questi strumenti possono facilmente monitorare il repository per le modifiche sotto URL specifici, ma non devono essere eseguito con gli stessi privilegi del server sovversione. In particolare, essi non possono mai danneggiare il repository. Si può semplicemente girare su qualsiasi (vecchio) del server, mentre è possibile eseguire il repository su un server più prominente / stabile / backup.

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