repository di terze parti in Subversion; mod locali?

5

Sto costruendo una piccola app come interfaccia per supportare funzioni, monitoraggio, esecuzione di test unitari basati sul web, ecc. Questa sarà verificata in Subversion.

Desidero includere un'app di terze parti disponibile anche tramite Subversion. Finora preferisco fare riferimento al repository remoto per facilitare gli aggiornamenti, in particolare quando ho apportato modifiche locali.

Ora voglio che l'app di terze parti sia distribuita accanto all'app padre. Gli esterni di Subversion sono fuori, dal momento che non posso impegnarmi con le mie mod locali. git svn sembra avere un potenziale, ma non sono sicuro dei dettagli. (Sembra sporco avere una directory .git con metadati svn memorizzati in un repository svn.)

Quindi come gestisci le modifiche ai progetti Subversion a cui non puoi impegnarti? Sono abbastanza aperto a qualsiasi combinazione di git e svn, preferibilmente consentendo al codice di vivere nel nostro repository Subversion esistente.

Aggiornamento: attualmente sto esplorando filiali dei fornitori , che è più convenzione che funzionalità. C'è uno strumento chiamato svn_load_dirs.pl per aiutare con il processo.

    
posta Annika Backstrom 08.12.2010 - 14:34
fonte

4 risposte

2

Il pistone è l'ideale per questo -

link

Memorizza il codice esterno nel repository SVN, può facilmente mostrare le differenze tra il codice e il ramo del venditore e gestisce anche l'aggiornamento.

    
risposta data 22.12.2010 - 19:45
fonte
1

Gestisco la situazione degli archivi esterni creando una copia sul nostro repository locale e unendo periodicamente le modifiche dal repository esterno al repository locale (ad esempio svn merge da external nella mia copia di lavoro, quindi commit). Pertanto, posso mantenere ragionevolmente aggiornato sul codice esterno, ma sono in grado di apportare (e mantenere) i cambiamenti locali di cui ho bisogno.

Ovviamente, devi assicurarti di disporre dell'autorizzazione per distribuire una versione modificata del loro codice accanto alla tua app.

    
risposta data 08.12.2010 - 14:49
fonte
0

Uso Subversion e ciò che ha funzionato meglio per me è l'archiviazione di librerie di terze parti all'interno del repository in una struttura di directory standardizzata:
- Library1
- v1.0
- v2.0
etc

I miei obiettivi sono:
- facilità di scoperta
- modifica del monitoraggio
- checkout e build semplici (per nuovi Devs e integrazione continua)
- non ha dipendenze esterne, quindi hai tutto il necessario per essere eseguito in futuro

C'è una buona discussione su SO anche per questo:

link

HTH!

    
risposta data 18.12.2010 - 09:36
fonte
0

Cerco di importare tutti i repository "vecchi" (CVS, Subversion) in un repository locale Git o Mercurial. In questo modo, posso facilmente rintracciare la versione ufficiale, la fusione è molto, molto, molto meglio in DCVS che in Subversion e posso diramarti tutte le volte che mi piacciono senza alcun vantaggio.

L'unico inconveniente finora è quello di abituarsi all'idea di tenere separati i progetti separati; non provare a importare più di un progetto in un DCVS.

    
risposta data 21.12.2010 - 12:25
fonte

Leggi altre domande sui tag