当前位置:  开发笔记 > 前端 > 正文

搁置在TortoiseSVN?

如何解决《搁置在TortoiseSVN?》经验,为你挑选了5个好方法。

我和我现在的公司从TFS搬到了SVN(TortoiseSVN).我真的很想念TFS的"搁架"功能.我已经阅读了有关如何"搁置"SVN的各种文章,但我没有读过任何可以"搁置"工作的非常简单的经历.

理想情况下,我想在TortoiseSVN上下文菜单中添加额外的项目 - "Shelve"和"Unshelve"."Shelve"将删除当前的搁置集,并将工作目录上载到由用户选项定义的合适路径下."Unshelve"会将该集合与工作副本合并.

这样的事情存在吗?任何人都可以建议任何方法在GUI中"破解"此功能吗?

注意:以下链接并未真正实现我所寻求的用户体验:

搁置颠覆

关于TFS Shelve最大的好处之一就是它的易用性......



1> OJ...:

我不相信SVN在服务器产品中内置了此功能.我也不相信在我使用的任何客户中仿效的任何东西,包括TortoiseSVN.

为了解决这个问题,我已经使用了诸如Git或Mercurial之类的DVCS ,允许我在将内容推送回SVN之前在本地分支/合并/搁置.它可以说有点像kludge,但它的效果非常好.


SVN补丁功能具有几乎所需的行为,如下面的一些答案中所指出的.
我不认为这是一个kludge L-)我在与我们严格控制签到的团队合作多年时使用了一个单独的个人VCS(特别是像SourceSafe这样的基于锁定的VCS).
你是对的,它不是一个kludge.说实话,我不知道为什么我这么说,可能是一个避免遭到抨击的免责声明:)我很高兴在推到标准CVCS之前使用DVCS进行本地搁置.
请参阅:如何一起使用mercurial和svn http://stackoverflow.com/questions/4605668/how-to-use-mercurial-and-svn-together

2> ccalboni..:

SVN中的搁置开始推出版本1.10,请参阅发行说明



3> zvolkov..:

如果您了解SVN分支机构的工作原理,那么在SVN中模拟Shelve是一个明智的选择:

    在存储库中创建分支(在服务器上)

    将本地副本切换到它

    将更改提交给新分支

    将本地副本切换回主干

当您准备好回到搁置的更改("取消搁置")时,只需将搁架分支合并回本地副本即可.

如果您不熟悉命令行SVN和Tortoise SVN以及上述内容,这里有一个关于如何在Tortoise SVN中执行此操作的详细分步说明:

    执行"SVN更新"以将您的工作副本更新到最新版本的中继.这样,您的本地副本和主干之间的唯一区别就是您的更改.

    从上下文菜单中选择"分支/标记"

    默认情况下选择"存储库中的HEAD版本"选项.保持这一点.

    更改"To Url"以指定分支名称,例如 http://server/repository/project1/branches/shelf1

    选中"将工作副本切换到新分支/标记"框

    单击"确定"以创建分支并切换到该分支

    执行"SVN Commit ..."并将更改提交给新创建的分支

    从上下文菜单中选择"切换..."

    将"To URL"更改为中继URL,例如 http://server/repository/project1/trunk

    单击"确定"切换回主干

请参阅此链接以获取更多详细信息以及上述命令行等效项:
Subversion中的货架


在大型存储库中,这是一个非常缓慢的过程(如果在这里和那里有删除,则容易出错)
所有的切换看起来像是一个kludge,imho svn开始落后,而许多scm工具(例如Perforce,TFS,Mercurial <通过扩展>)具有这个功能,可以轻松地在服务器上保存临时代码并轻松恢复,等等

4> TWT..:

TortoiseSVN 1.10现在支持shelving:https://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-shelving.html



5> Paul Ruane..:

另一种选择是使用TortoiseSvn中的"创建补丁"工具来创建补丁文件并还原更改.稍后可以重新应用修补程序文件以返回原来的位置.

如果您必须更新工作副本修订版,您仍可能最终得到一些粘性合并.

推荐阅读
mylvfamily
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有