SVN:Fully recursive、Working copy和Immediate children...区别

前言

工作中一直使用SVN作为版本控制软件,每天更新(Update)和上传(Commit)是必要的操作,偶尔也会用到检出(Checkout)功能,最近发现更新和检出都会涉及到一个参数,那就是目录的深度,检出操作的时候叫做检出深度(Checkout Depth),更新操作的时候叫做更新深度(Update Depth),其中有好多个选项,比如”Fully recursive”、”Immediate children, including folders”、”Only file children”、”Only this item”、”Working copy”、”Exclude”等等,下面我们来详细解释一下这些都什么含义。

含义

在具体解释之前我们看一下操作界面是什么样的,先来看看检出,在一个不受SVN版本控制的目录下单击鼠标右键,选择”Check Out”选项,会弹如下界面,我们可以查看检出深度选项(Checkout Depth):


check depth

如果鼠标单击收SVN版本控制的文件或者目录,可以选择”Update to revision”选项,然后会弹出如下界面,在这个界面中可以查看更新深度选项(Update Depth):


update to this version

更新深度界面:


update depth

从前面几个截图中我们可以发现检出深度和更新深度的选项不完全相同,但总共只有以下几种,我们只需要统一记住即可,你可以选择要检出的深度,它允许你指定子目录递归的深度。如果你只需要大目录中的几个子条目,你可以只检出最高层目录,然后递归的更新选择的目录。

  • Working copy:工作副本,保持工作副本指定的深度。此选项不用于检出对话框,但它是其它所有含有深度配置对话框的默认配置。个人理解:这个选项不会出现在检出深度中,只会出现在更新的深度选择中,也就是更新时保持目录检出时的深度,比如检出时选择”Immediate children, including folders”则更新时”Working copy”等同于”Immediate children, including folders”

  • Fully recursive:全递归,检出完整的目录树,包含所有的文件或子目录。很好理解,全部检出或者更新当前选中文件或目录中的内容。

  • Immediate children, including folders:直接子节点,包含文件和文件夹。检出当前目录中的文件或直接子文件夹,但是不递归展开子文件夹。

  • Only file children:仅文件子节点,检出指定目录,包含所有文件,但是不检出任何子文件夹。

  • Only this item:仅仅检出此项,只检出目录。不包含其中的文件或子文件夹。

  • Exclude:排除,对于已经创建好的工作副本,可以使用此选项来缩减文件夹的深度。这个选项只在更新至版本对话框中可用。个人理解就是在已经检出的版本目录中去除掉一些不需要更新的文件和目录。

学以致用

其实我们了解这些选项也是为了使用,说一个自己的例子:之前自己用SVN都是用默认选项,从来没有修改过检出深度和更新深度,检出深度一直是”Fully recursive”,更新深度一直是”Working copy”,也就是说没有都是全更新,这就带来一个问题,其实有时候检出一个版本只是为了其中的几个目录,所里全部检出会耽误时间,一个个检出又会丢下目录,并且增加过多的.svn目录,所以我现在检出基本用”Immediate children, including folders”先把子文件和目录下载下来,然后再选择要更新的目录使用”Fully recursive”进行全部更新。

### 回答1: svn upgrade working copy 的意思是将工作副本升级到与服务器版本兼容的最新版本。这可以通过运行 svn upgrade 命令来完成。在执行此命令之前,请确保您已备份了工作副本中的所有更改,以防止数据丢失。 ### 回答2: SVN是一个用于版本控制的软件,其中“Working Copy”是指用于在本地计算机中存储文件的文件夹。在进行版本控制时,需要不断将Working Copy更新为最新的版本,并进行必要的升级。 对于“svn upgrade working copy”,它的主要含义是将Working Copy升级至最新的SVN版本。具体操作如下: 1. 打开终端或命令提示符。 2. 进入需要升级的Working Copy所在的文件夹。 3. 运行以下命令: svn upgrade 4. 如果发现需要升级,系统会提示升级操作需要进行。确认后,Waitng Copy将会升级到最新版本。 需要注意的是,在进行升级时,一定要先进行备份,以确保数据的安全性。此外,升级操作可能需要较长时间,需要耐心等待。 “svn upgrade working copy”是进行版本控制的必要操作之一,可以帮助用户保持Working CopySVN版本的同步,确保数据准确性完整性。 ### 回答3: svn upgrade working copysvn命令中的一项功能,它主要是用来将工作副本(working copy)升级到与服务器一致的版本。在使用svn时,我们通常会在本地创建一个工作副本,然后在工作副本中进行修改、更新等操作,最后再提交到服务器上。但是,有时候我们在本地使用的svn版本可能与服务器版本不同,这就会导致一些问题,比如说无法提交、无法更新等等。这时候,我们就需要使用svn upgrade working copy来升级工作副本。 具体使用步骤如下: 1. 打开命令行窗口或者终端,进入需要升级工作副本的目录。 2. 输入svn upgrade命令,此时svn会检测当前工作副本的版本,并将其升级到与服务器上最新版本兼容的版本。 3. 在升级过程中,svn会自动备份工作副本中被修改的文件,以防数据丢失。升级完成后,我们需要手动将备份文件还原回来。 值得注意的是,升级工作副本是一个比较耗费时间的过程,具体时间因工作副本大小、网络环境等因素会有所不同。 总的来说,svn upgrade working copysvn命令中一个非常有用的功能,可以帮助我们保持工作副本与服务器版本的一致性,避免出现许多不必要的问题,提高工作效率。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AlbertS

常来“玩”啊~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值