Domanda

Sono un fossile (e la configurazione CVS) novizio tentativo di creare e gestire una serie di depositi fossili distribuiti per un progetto Delphi.

Ho la seguente struttura di directory sulla mia macchina di sviluppo:

 Projects
     Some Project
     Delphi Components
        LookupListView
     Some Client
        Some Project For Client
        Some Other Project For Client
           Source Code
               Project Resources
               Project Database

Sto installando Fossil controllo di versione per versione e condividere progetti \ Alcuni Client \ qualche altro progetto per Client \ codice sorgente, che contiene Delphi 2010 sorgente di un progetto di database.

Il progetto si avvale di progetti \ Delphi Components \ LookupListView che è un componente Delphi. Ho bisogno di questo codice da inserire nel sistema di controllo delle versioni per il mio progetto. Io, in teoria, necessità di includere in altri depositi fossili in futuro, come bene.

Se creo il mio repository Fossil il codice sorgente o di qualche altro progetto di livello per investitori, non posso aggiungere alcun codice sopra di tale livello al mio repository. Qual è il modo corretto per affrontare questo? Le due soluzioni che si verificano a me sono

1) Creazione di un archivio separato per LookupListView e fare in modo che tutti coloro che utilizzano un repository per un progetto che fa riferimento "sa" che devono anche avere la versione attuale di questo progetto pure. Questo sembra sconfiggere lo scopo di essere in grado di ottenere una versione completa attuale del progetto con una sola cassa. Il problema è amplificato perché ci sono altre dipendenze componente comune in questo progetto.

2) Stabilire il mio repository Fossil nella directory di progetti, in modo da poter registrare i file da varie sottocartelle. Questo mi sembra coinvolgere un sacco di ulteriore percorso tipizzazione quando facendo aggiunge, e anche per imporre la mia struttura di directory (Alcuni Client \ qualche altro progetto per Client \ Source) sugli altri utenti del repository - in questo caso, il cliente attuale.

Tutti i suggerimenti apprezzato.

È stato utile?

Soluzione

Io uso Git, ma il mio approccio può essere applicato nella vostra situazione.

Ho un repository per tutti i cartella componenti. Questo mi offre la possibilità di ottenere tutti con pochi comandi della console (nel caso in cui reinstallo il mio sistema operativo o di andare in un altro computer, ecc.).

Anche io ho un repository per ogni dei miei progetti. Se qualche progetto utilizza i controlli 3rd party creo il tasto "componenti" sotto-cartella e fare collegamenti simbolici ( giunzioni ) di ogni componente set.

Questo approccio ha alcuni svantaggi (quando si "tornare indietro" in commit storia di alcuni progetti, i componenti possono essere modificati anche. E se molti progetti stanno usando stessi componenti Ciò potrebbe causare alcuni problemi). Ma non avevo ancora problemi:)

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