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

  • 问题简述*what*
  • 背后原理*why*
  • 解决措施*how*

问题简述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

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

  1. 电脑文件夹改名快速重命名文件夹名的方法

    文件夹整理时,需要重命名,手动重命名到手酸也完成不了,有没有批量重命名方法,小编觉得肯定是有的,所有下面为大家分享批量重命名文件夹名的技巧,一起来看看,说不定以后你整理文件夹时用的上.下面一起来了解一 ...

  2. Linux CentOS删除或重命名文件夹和文件的办法

    Linux.CentOS操作系统下如何删除和重命名文件夹呢?办法如下: 一.Linux.CentOS下重命名文件和文件夹 mv:move 用移动文件命令就可以了,因为linux系统没有专门的重命名命令 ...

  3. 怎么批量重命名文件夹123456

    电脑里的文件夹越来越多,至少有上百个.针对同一个项目下的文件夹,我们在做整理归档的时候需要将文件夹批量重命名并排序为123456.比如:双12活动数据1.双12活动数据2等.这样我们在后期对整个项目的 ...

  4. ren指令重命名文件夹_Windows Ren命令教程,其中包含重命名文件和文件夹的示例...

    ren指令重命名文件夹 Windows ren command is used to rename files and folder. ren command provides command lin ...

  5. win11 重命名文件夹 找不到指定文件

    问题: win11下重命名文件夹会提示"找不到指定文件",如图 点击重试后会提示"文件或文件夹不存在",如图 解决方案: 1.打开运行(按Windows+R), ...

  6. python 读取excel 批量 重命名文件夹

    python 读取excel 批量重命名 文件夹 需求 使用的库 旧颜和新欢 过程 renamefile.py operateExcel.py 最后打包生成exe 需求 接到老婆大人说帮同事写一个 有 ...

  7. Matlab 新建文件夹和重命名文件夹

    Matlab 新建文件夹,重命名文件夹(更改文件夹名称) 新建文件夹 ans = dos('md a'); % 在当前路径下生成文件夹a 在指定路径下,新建文件夹 ans = dos('md e:a\ ...

  8. win10重命名文件夹找不到指定文件

    重命名文件夹 找不到指定文件. 请确定指定的路径及文件名是否正确. 解决方法: 运行-regedit打开注册表 然后找到以下路径Computer\HKEY_LOCAL_MACHINE\SOFTWARE ...

  9. 教你用简单几个步骤快速重命名文件夹名

    文件夹重命名是一个很简单的电脑公办常用的工具,选中文件右击,选择重命名,一两个文件夹确定可以这样做,那如果文件夹多个的情况下,你还这样重命名文件夹名的话就费时费力了.所以就需要辅助工具来帮忙.下面就为 ...

  10. linux移动文件夹、重命名文件夹、全局查找一个文件的位置

    移动文件夹: mv test1 /data/build/ 重命名文件夹: mv test test2 全局查找一个文件的位置: find / -type f -name "02D55FA8B ...

最新文章

  1. Haproxy代理配置---传输层
  2. 【SPOJ】Count On A Tree II(树上莫队)
  3. wxWidgets:wxDatePickerCtrl类用法
  4. 集群、分布式、微服务的概念及异同
  5. Python的切片操作
  6. 3.Linux 高性能服务器编程 --- TCP 协议详解
  7. [从零开始学习FPGA编程-10]:快速入门篇 - 操作步骤2-2- Verilog HDL语言Module与硬件电路对应关系快速概览
  8. 【技术综述】一文道尽传统图像降噪方法
  9. css背景颜色设置后没生效
  10. pythonturtle艺术字_字体风格迁移,卷积神经网络打败艺术字,生成最美汉字
  11. 内存类型UDIMM、RDIMM、LRDIMM
  12. 2020-11-30 网络爬虫
  13. 第三方对接-支付宝支付
  14. PR学习笔记——Pr2019快速使用指南——视频剪辑
  15. nmap——端口扫描_基础命令
  16. 随机算法java实现(同生日问题以及扑克牌24数问题)
  17. java堆栈异常_Java中获得异常堆栈使用轨迹的方法是。
  18. android gettext方法,android – getString()和getText()有什么区别?
  19. DBHelper类的使用操作
  20. Android中的TCP协议与UDP协议

热门文章

  1. Go语言格式化输出(fmt)
  2. 北京理工大学计算机学院张倩,刘驰_北京理工大学计算机学院
  3. 安卓手机便签App敬业签添加便签图片时怎么上传原图?
  4. 过路费【Floyd】
  5. Java循环判断数组中是否包含字符串
  6. wpf 动态图片显示
  7. c语言oj题1923偶数之和,问题 1923: [蓝桥杯][算法提高VIP]学霸的迷宫 (BFS)
  8. SGL系列 LED调光电路设计 ANBOZ
  9. CANNOT LINK EXECUTABLE问题解决
  10. xen-qemu初始化