Sto usando Mercurial e sebbene io usi un hook di controllo del codice sorgente di Cache Studio (non sto usando ensemble), penso che fondamentalmente la stessa soluzione potrebbe funzionare per voi.
La chiave è che è il controllo del codice sorgente distribuito. Quindi tutto ciò che fa è, su un salvataggio, esportare il file corrente in una cartella sul mio disco rigido, e controllarlo nel mio repository locale. Quando le cose funzionano correttamente localmente, lo sposto nel repository centrale - in altre parole, uso solo il controllo distribuito del codice sorgente in un modo normale.
È bello commettere ogni salvataggio poiché questo mi dà un modo di eseguire il rollback se rovino qualcosa, ma non è veramente necessario. Puoi scrivere qualcosa che spinge il codice al tuo repository locale quando lo chiami dal prompt dei comandi di Cache.
Con il controllo distribuito della sorgente il fatto che le funzionalità di check-in e check-out non siano supportate non ha importanza, si gestiscono tali problemi mediante l'unione quando si spinge al repository centrale (o comunque si decide di strutturare i repository).
Un avvertimento: per le definizioni di classe cache, vengono esportate come XML in un formato non definito. Include un timestamp di quando il file è stato generato e una data di ultima modifica. Questi imbrogliano il sistema di controllo del codice sorgente nel pensare che siano cambiati quando non lo hanno fatto. Quindi dovrai analizzare l'XML almeno quanto basta per eliminare quelli.Non conosco una bandiera per impedire che vengano generati in primo luogo.
Questa è una soluzione per Caché, ma InterSystems non ha reso il Source Management Portal sensibile all'organo in modo che i hook non vengano attivati quando le produzioni di Ensemble sono modificate:/ – fglez
Grazie per l'informazione. Le altre composizioni che hai proposto sono in grado di gestire la parte Ensemble? – FrenchData
Non lo sono, perché implementano gli stessi hook :(. Volevo sapere se qualcun altro ha affrontato questo e come stanno avendo a che fare (impostare un processo di aggiornamento che coinvolga le persone è l'unica soluzione che viene in mente) – fglez