请教SVN文件管理问题,文件删除、重命名,为什么通过菜单里的delete rename来操作。

对文件夹里的文件进行重命名、删除操作,通过svn菜单的delete和 rename,与直接对文件进行delete、重命名有什么区别,目前使用效果貌似一样, 为什么增加这个功能,设计的初衷是什么。请高人解答。

第1个回答  推荐于2016-04-09
SVN自己的删除、重命名操作是用来告诉SVN对这些文件准备做什么动作,这些文件仍然处于SVN的控制之下。具体来说:
1、删除:如果不使用SVN自己的删除操作,而直接用操作系统的删除操作,SVN会认为是遗失了这个文件,如果你对这个文件夹做update操作,svn会把这个文件再更新出来。
2、重命名:如果是用操作系统的重命名操作,SVN是无法识别重命名前后的历史关系的,会当做是删除了一个文件,并新增了一个文件,如果查看历史日志,SVN无法把这两个文件联系起来。如果是用SVN自己的重命名操作,查看历史日志的时候,就可以看到某个文件是由另一个文件重命名而来的。追问

谢谢您的回复,直接用系统的删除操作,然后直接提交当前文件夹,服务器上貌似会直接删除,记得之前应该不会直接删除服务器上的备份。

追答

直接用操作系统的删除功能,然后commit的话,看你的commit如何操作了,如果客户端是用TortoiseSVN,在此时commit窗口中,被删除的那个文件是会被列出来,但默认并不会被勾选上,直接点确定commit时这个文件不会在服务器端最新版中删除,只有手动勾选上这个文件再点确定commit,才会在服务器端最新版中删除这个文件

而用svn的delete功能,commit时这个被删除的文件是被直接勾选中的

本回答被网友采纳
相似回答