
Shelve in TortoiseSVN?我现在的公司已经从TFS迁移到SVN(TortoiseSVN)。我真的很想念TFS的"搁置"功能。我已经阅读了有关如何"搁置" SVN的各种文章,但是我没有阅读任何有关"搁置"工作的非常简单的经验。 理想情况下,我想将其他项目添加到TortoiseSVN上下文菜单中-"搁置" 我不认为SVN会在服务器产品中内置此功能。我也不相信在我使用过的任何客户端(包括TortoiseSVN)中都可以模拟这样的事情。 为解决此问题,我不得不使用DVCS(如Git或Mercurial)来允许我在将内容推回SVN之前在本地分支/合并/搁置。可以说有点纠结,但效果确实很好。 在SVN中开始在1.10版中发布,请参见发行说明 如果您了解SVN分支的工作方式,那么在SVN中模拟Shelve无疑是很容易的事情: 当您准备好恢复已搁置的更改("取消搁置")时,只需将货架分支合并回本地副本即可。 如果您对命令行SVN或Tortoise SVN不够了解,无法完成上述操作,则以下是有关如何在Tortoise SVN中进行操作的详细说明: 有关更多详细信息和上述命令的等效命令行,请参见此链接: 另一个选择是使用TortoiseSvn中的"创建补丁"功能来创建补丁文件并还原更改。以后可以重新应用补丁文件以返回到您所在的位置。 如果您必须更新工作副本修订版,您可能仍然会遇到一些粘滞合并。 SVN已升级了货架
您可以使用DVCS,但从某种意义上讲这是一种麻烦。 DVCS中的"搁置"仅将更改存储在本地。仅当您希望在进一步的工作中破坏工作以使其回滚时才有用,但是最好将其保存在服务器上。 在SVN中无需显式搁置命令即可执行此操作的一种方法是将工作副本切换到其他svn位置,然后在此处提交而不是在主仓库中提交。这实际上就像创建一个临时分支,并在您的工作期间继续进行工作。我认为您甚至不必合并,因为在您切换时SVN会为您完成,因为您的本地修改将被保留。 不幸的是,您无法切换到不存在的位置,因此,第一次执行此操作时,您将不得不创建要搁置的"分支"。我想整个事情可以自动化。 |