Versioning all'interno di una piattaforma

2

Lavoro con alcune piattaforme web diverse e i miei progetti attuali sono in genere piuttosto piccoli e vivono all'interno di tali piattaforme. I file di progetto sono sparsi in tutto l'albero della piattaforma, il che rende un po 'scomodo il controllo delle versioni. Ho conservato un repository per piattaforma, che mi sfugge abbastanza velocemente ...

Il problema più grande che ho avuto è con Eclipse + SVN, e la dimensione del progetto continua a crescere, nonostante si lavori con una piattaforma / libreria abbastanza statica e solo una manciata di file per il progetto dato alla volta. Affinché il progetto funzioni, ho bisogno di questi all'interno dell'albero della piattaforma.

Presto vorrò trasferirmi interamente a Git, quindi sto solo cercando di capire come tenere separati i progetti, mantenendo comunque efficiente l'ambiente di sviluppo.

Ho esaminato una sorta di sincronizzazione di file (rsync, ma in tempo reale?), poiché la soluzione ha senso nella mia testa. Terrò i progetti fuori dall'albero e utilizzerò un file di sincronizzazione per assicurarmi che vengano copiati in tempo reale. Ciò mantiene i progetti su cui lavoriamo molto piccoli e veloci e mantiene la piattaforma effettiva funzionante correttamente. Tuttavia, ho avuto problemi a trovare il software corretto per farlo funzionare correttamente. Qualsiasi suggerimento in quest'area sarebbe apprezzato anche ...

Sto guardando nel modo sbagliato? Quali sono alcune altre possibili soluzioni? Sembra un problema comune, ma non riesco a trovare molte informazioni su come risolverlo.

Grazie!

    
posta Adrian Schneider 13.02.2012 - 19:09
fonte

1 risposta

1

Se le app condividono uno scopo, un set di funzionalità e un tema comuni, ma variano leggermente nel modo in cui sono implementate nel sistema operativo principale, DB o altro livello di provider di servizi, è spesso comune vedere i layout dell'albero di origine organizzati qualcosa simile a questo, dove le dipendenze sono correttamente isolate nei sottolivelli più bassi.Certamente potreste ritrovarvi con una gerarchia più profonda o più ampia a seconda dell'organizzazione logica e dei componenti fisici, ma questo è il succo di ciò:

  • [Pacchetto app]
    • [Piattaforma agnostica subpackage]
      • [Sottopacchetto della piattaforma MSW x86 32]
      • [Sottopacchetto della piattaforma MSW x64]
      • [Sottopassaggio piattaforma HPUX RISC 64]
    • [Sottopacchetto comune]
    • [Sottopassaggio agnostico del provider di dati]
      • [Sottopagina agnostica della piattaforma Oracle Db Client]
        • [Sottoparcheggio Oracle Db Client per MSW x86 32]
        • [Sottoscrizione pacchetto Oracle Db Client per MSW x64]
        • [Oracle Db Client per HPUX RISC 64]
      • [Pacchetto MySql Db]

Con ogni progetto 'copia di lavoro' e 'build' estrae le parti di cui ha bisogno dal controllo del codice sorgente e lascia ciò che non necessita dietro.

    
risposta data 14.02.2012 - 22:11
fonte

Leggi altre domande sui tag