我有几个不同客户端的ANT项目;我的项目目录结构如下所示:
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在工作副本中,模块将子项目编译成一个Javascript文件,放在主项目的Javascript目录中。
,例如,目录:
validation_commons-sub-projv_file_attachment-sub-projz_business_logic-sub-proj...all被组合并缩小(类似于编译)到_master-proj/js目录中的不同Javascript文件名;在最后一步中,编译_master-proj以部署到服务器上。
现在,关于我想用hg设置的方式,我想要做的是将主项目及其子项目从它们自己的基线存储库克隆到客户端的工作副本中,这样模块就可以被添加到特定客户的工作副本中。
此外,当我对一个客户的工作副本中的bug做了一些更改/修复时,我希望能够随意地将更改/bug修复推回主项目/子项目的基线存储库,以便最终将更改/修复拖到其他客户的工作副本中,这些副本可能包含需要修复的相同bug。
通过这种方式,我将能够在不同的客户端使用相同的bug修复。
但是.我不确定使用hg和Eclipse的最佳方法。
I 在这里读,您可以使用hg的转换扩展使用--filemap选项将子目录拆分为单独的项目。
但是,对于使用转换扩展是否更好,还是只将每个模块存放在它们自己的存储库中并为每个客户端检查它们到一个工作区,我还是有点困惑。
发布于 2011-05-06 04:20:22
是的,看起来分次回购就是你要找的东西,但我认为这也许是对错误问题的正确答案,我强烈怀疑你会遇到类似的使用svn时出现的问题:外部
相反,我建议您将合并和缩小的JS文件“发布”到文物储存库中,并使用依赖关系管理器(如常春藤 )将特定版本的人工制品拉到主项目中。这种方法使您能够更好地控制主项目使用的子项目版本。
如果您需要对某个特定客户端的子项目进行bug修复,您只需在该子项目的主线上进行修复,发布一个新版本(最好通过自动生成管道),并更新它们的主项目以使用新版本。哦,你想在发布之前用他们的主项目测试新版本吗?在这种情况下,在您在本地推进修复、组合和缩小您的子项目之前,将其发布到局部存储库,并让客户端的主项目获取该版本以供您进行测试。
https://stackoverflow.com/questions/2851945
复制相似问题