Ho un paio di progetti ANT per diversi client diversi; la struttura di directory che ho per i miei progetti si presenta così:Best practice per sottomoduli di funzionalità di progetto con Mercurial ed Eclipse?
L___standard_workspace
L___.hg
L___validation_commons-sub-proj <- JS Library/Module
| L___java
| | L___jar
| L___old_stuff
| L___src
| | L___css
| | L___js
| | L___validation_commons
| L___src-test
| L___js
L___v_file_attachment-sub-proj <- JS Library/Module
| L___java
| | L___jar
| L___src
| | L___css
| | L___js
| L___src-test
| L___js
L___z_business_logic-sub-proj <- JS Library/Module
| L___java
| | L___jar
| L___src
| L___css
| L___js
L____master-proj <- Master web-deployment module where js libraries are compiled to.
L___docs
L___java
| L___jar
| L___src
| L___AntTasks
| L___build
| | L___classes
| | L___com
| | L___company
| L___dist
| L___nbproject
| | L___private
| L___src
| L___com
| L___company
L___remoteConfig
L___src
| L___css
| | L___blueprint
| | | L___plugins
| | | | L___buttons
| | | | | L___icons
| | | | L___fancy-type
| | | | L___link-icons
| | | | | L___icons
| | | | L___rtl
| | | L___src
| | L___jsmvc
| L___img
| | L___background-shadows
| | L___banners
| | L___menu
| L___js
| | L___approve
| | L___cart
| | L___confirm
| | L___history
| | L___jsmvc
| | L___mixed
| | L___office
| L___stylesheets
| L___swf
L___src-standard
All'interno del lavoro copiare i moduli compilare il sotto-progetto in un unico file JavaScript che viene inserito nella directory Javascript del progetto principale.
Per esempio, le directory:
validation_commons-sub-proj
v_file_attachment-sub-proj
z_business_logic-sub-proj
... tutti sono combinati e minified (un po 'come compilato) in una diversa Nome file JavaScript nella directory _master-proj/js
; e nella fase finale lo _master-proj
viene compilato per essere distribuito sul server.
Ora, per quanto riguarda il modo in cui vorrei impostarlo con hg, quello che mi piacerebbe poter fare è clonare il progetto principale ei suoi sottoprogetti dai propri repository di base in un copia di lavoro del cliente, in modo che i moduli possano essere aggiunti (usando hg) alla copia di lavoro di un particolare cliente.
Inoltre, quando applico alcune modifiche/correzione dei bug nella copia di lavoro di un cliente, vorrei essere in grado di trasferire facoltativamente le modifiche/correzioni di errori al repository di base/progetto principale del sottoprogetto , allo scopo di estrarre le modifiche/correzioni in altre copie di lavoro del cliente che potrebbero contenere gli stessi bug che devono essere corretti.
In questo modo sarò in grado di utilizzare le stesse correzioni di bug tra diversi client.
Tuttavia ... Non sono sicuro del modo migliore per farlo utilizzando hg ed Eclipse.
I che è possibile utilizzare hg's Convert Extension per suddividere una sottodirectory in un progetto separato utilizzando l'opzione --filemap
.
Tuttavia, sono ancora un po 'confuso sul fatto che sarebbe meglio utilizzare Convert Extension o se fosse preferibile semplicemente ospitare tutti i moduli nel proprio repository e controllarli in un unico spazio di lavoro per ogni cliente.
C'è un breve nome succinto per il verbo che sto tentando di spiegare/eseguire qui? – leeand00
Penso che un altro posto in cui sono confuso su questo dovrebbe essere come posso controllare i moduli specifici corretti che ho bisogno dai loro repository individuali, senza includere tutto in un unico grande repository? – leeand00
Penso di aver trovato la risposta qui: http://mercurial.selenic.com/wiki/subrepos – leeand00