关于SVN(客户端)重命名文件夹问题

一切的开始:关于SVN(客户端)重命名文件的问题

问题简述what

在作为研究僧第一次上传项目周报时遇到的问题——在本地右键 SVN Checkout 项目周报文件夹后,打开该文件夹(父文件夹),找到自己的报告“0923”。此时父文件夹和报告文件的图标均为绿底对勾在这里插入图片描述

右键“重命名”成“0900”后发现文件图标变成蓝底问号
蓝底问号
若返回上一层会发现,父文件夹图标由原先的绿底对勾变成了红底感叹号
红底感叹号
What happened?

背后原理why

  1. 首先看这些图标代表的含义:
图标含义
蓝底问号指版本库上没有的文件,也称无版本控制
绿底对勾上次update后没有修改,常规态
红底感叹号自从上次update以后,修改过
蓝色十字版本库上有的文件,已经加上去的,即“added”

还有其他图标的含义,都可以在 TortoiseSVN 的 Settings 中的 Icon Overlays-> Icon Set 查看到。

  1. 据上表可知,改名后“0900”文件标有蓝底问号表示不在版本库中,所以需要先 TortoiseSVN -> Add,之后图标变成了蓝色十字表示文件added了版本库:
    绿色十字
    然后右键就有了 SVN Commit,可以提交了。
  2. 提交子文件后,图标变为绿底对勾(若没变可以尝试刷新一下):绿底对勾
    提交子文件后还需再提交父文件夹;

这里可以直接提交父文件夹,更方便,特别是有很多子文件被改动的时候。

  1. 返回父文件夹,图标仍为红底感叹号,表示该文件夹有修改操作,右键 SVN Commit 提交。注意到这时候弹出的 Commit 窗口的下方 Changes made 一栏会提示之前的“0923”文件的 Status 为 missing ,这是什么意思,怎么解释呢? 在这里插入图片描述
    我们是在本地右键“重命名”改名,这对于版本库来说,add了一个新的文件“0900”而不是对原文件“0923”重命名操作,提交新版本之前,检测到“0923”文件仍在版本库中,而在本地新版本中missing。选中前面方框(如果不选中,提交后是两个文件“0923”和“0900”都在),点击 OK ,文件名称已修改完成。
  2. 最后看弹出来的 Commit Finished! 窗口:在这里插入图片描述
    因为刚刚选中了方框,所以版本库中的“0923”文件被 delete 掉了。

本质上上述过程不是一次重命名过程,而是在本地重新add了一个名字不同的文件并提交然后删除原文件的过程。

解决措施how

上述在本地重命名时出现的一些问题,已经叙述了较详细的解决措施,简单说只要搞清楚那几个图标的含义,就迎刃而解,但为何会产生这些问题才是重要的,会让人开始理解版本库的工作方式。
这里说一下,如何在SVN版本库中直接重命名文件,然后也推荐使用这个重命名方式,两种虽然都能达到重命名目的,但这个方式才是正规的重命名方式,上述在本地重命名更像是新手,比如我,在还不明白版本库与本地之间关系时做出的操作。

  1. 首先进入版本库
    在父文件夹下或右键父文件夹,TortoiseSVN -> Repo-browser:在这里插入图片描述
  2. 找到对应的文件,右键 Rename 。
  3. 重命名完成后,即版本库上的文件名称已改,在本地文件夹 SVN Update 一下即可。

ok,是简单快捷,也符合直观思维的重命名操作,正确的路总是意外的简单。

通过 TortoiseSVN -> Show log 看这个过程,本质上也是deleted了旧文件,added了新文件。

一切的开始 2019.10.2 by ldzh

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值