As a consultant I usually have access to client's svn repository in order to checkout, work on and eventually commit projects.
The optimal (is a client request) would be to commit only stable versions on client's svn and avoid intermediate (i.e. non buildable) commits but I also would like to keep trace of developing process and enjoy the benefit of a versioning system...
Then it would be great to do something like:
我能够使用某些脚本(可以自动执行检出,删除.svn内容,提交等操作)来完成此任务,但这实际上离平滑的过程还很遥远。
我尝试寻找解决方案,但没有找到任何有用的方法。
有谁知道一种简单而有效的方法来做到这一点?
先感谢您。
最好和最简单的解决方案是在您的身边使用另一个SCM +桥接到SVN(Mercurial + HGSubversion,而不是Git)
但是即使使用纯SVN,您也至少有两个可行的解决方案:供应商分支和共享UUID
供应商分支
共享的UUID
您可以通过干净合法的方式(svn help relocate
)更改(对于现有WCN)相关SVN存储库的URL,该URL主要用于基础结构管理,但是可以为您使用。
假设要重定位的FROM和TO存储库是同一存储库,通过检查存储库的UUID来验证身份,因此:对于两个不同的存储库(客户端和您的),您必须提供相同的UUID。
可以通过将周期(svnadmin dump
客户端的回购/或仅需要的节点//svnadmin load ... --force-uuid
放入您的空存储库)轻松实现,然后您可以在存储库中执行任何工作。如果您执行以下操作,则“准备发布”工作将出现在客户的存储库中:
PS:“销售商分支”是从我的POV出发更安全的方式,但代价是Subversion的合并可能会出现问题(仍然不如DVCS世界那么漂亮)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句