SVN的忽略和只读使用方法学习记录

前言,先扯几句。最近学了GIT,虽然很肤浅,但是也算是用上了分布式版本管理控制系统。Linus很牛,他也很厌烦SVN,而我看这些都是工具,是否拿来使用主要看是否顺手。我赞同分布式版本管理控制,它有诸多优点,但是对于在局域网中做项目的封闭式开发或者项目很小且本机就能搭建SVN服务器,这两种情况来使用SVN也无可厚非。至于神人Linus他做的Linux系统源码太庞大,而且项目源码数据量大,这个对于SVN还是不太适用。准备进入公司新项目开发阶段了,有同事在外地分公司工作,因此代码版本管理尤为重要。之前有个项目居然是手工拷贝合并代码,还好只有3个人,即使这样也有不一致的地方,现在想起来真是汗一个。这次首先跟同事询问代码如何管理,同事说把源码放在公司服务器上,用SVN同步,因为外地的同事编码量不会太多,而我们在公司的同事可以直接通过公司局域网访问服务器,因此用SVN还是没问题。SVN的基本使用我都会了,这里只是想学习两点:1、SVN设置忽略文件;2、SVN给文件设置只读属性(该文件必须先获取锁,锁定后才能编辑,编辑好以后提交解锁)。

首先,先说如何设置忽略文件。这里先说一下为什么要设置忽略文件,因为Visual Studio编辑器在编译生成项目时会有一些无关代码的文件,比如bin文件夹、obj文件夹,还有一些用户配置文件,比如*.user、*.suo等。这类文件是不用提交同步到服务器,而是个人用个人的。对于已维护在SVN上的项目,在客户端对于某个文件右击在SVN子菜单中找到【删除和增加到忽略列表】菜单,点击它这个文件就被忽略了,需要提交一下,忽略的文件在服务器上是被删除的,但是在每个人本机上是存在的,且不受SVN版本控制。如果我想在导入本地项目文件到服务器上或者批量添加文件时,如何忽略指定类型的文件呢?这个要点击SVN右键菜单中的设置菜单,在弹出来的对话框中,常规设置中有个全局忽略样式,这里面已经有一些东西了,我们不管它。我们把我们要忽略的东西添加进去,注意文件夹直接写,文件可以使用通配符*和?(并且还支持正则表达式),多个项之间用空格隔开。比如我添加如下4项:[Bb]in [Oo]bj *.user *.suo。这样在导入操作时符合忽略规则的文件夹或文件不会导入到服务器的SVN仓库中。

然后,再来说给文件设置只读属性,为什么要设置只读属性呢?其实SVN有合并的功能,但是是对文本文件,比如txt、cs、xml、aspx等。但是对于二进制或者其他一些重要文件,合并的效果就不太好了,这时如果多人同时编辑同一文件,很容易出现冲突。而只读属性并不是真的只读,其实据说有办法可以绕开这个设置,不过这个咱们先不关心。它只是提醒我们该文件要先锁定再编辑,在提交解锁前,其他人是无法获取锁的,因此也就无法提交,他的编辑只能在本地保存副本了,这样我们就不会对于重要的需要防范冲突的文件忘记锁定了。对于已维护在SVN上的项目,在客户端对于某个文件右击在SVN子菜单中找到【属性...】,然后再点击【新建】按钮,键选择“svn:needs-lock”,值随便填,这里我就填*,提交到服务器上后,这个文件以后就必须锁定后才能编辑了。那么如果想对某个文件夹下所有的文件都设置该属性,就右击该文件夹,然后还是像前面一样操作,这时在填写键值的窗口上有个复选框会启用——递归应用该属性,勾选它,这个文件夹中的所有文件都会应用这个属性,然后提交即可,那么对于后添加或后导入的文件如何自动加上该属性呢?还要进入到之前设置全局忽略样式的窗口,它下面有个Subversion配置文件,点击【编辑】按钮,会用记事本打开一个文件,里面有这么一段:

### Set enable-auto-props to ‘yes‘ to enable automatic properties
### for ‘svn add‘ and ‘svn import‘, it defaults to ‘no‘.
### Automatic properties are defined in the section ‘auto-props‘.
# enable-auto-props = yes

大概意思就是:将“启用自动属性”设置为是来启用自动属性功能,启用后对于SVN的Add和Import(添加和导入)会自动应用这些属性,“启用自动属性”默认值为否,自动属性可以在“auto-props”配置节中定义。然后将第4行的最前面的#和空格去掉即可,该文档下方有一个[auto-props],它下面已经有若干的自动属性定义了,只不过被注释掉了(行首加#即为该行已被注释),那些被注释的自动属性我们不管,我们配置我们的属性,比如*.sln = svn:needs-lock=*,换一行再写*.csproj = svn:needs-lock=*等等。

最后再扯一句啊,SVN服务器上有个权限,是对SVN用户做的控制,里面有只读、读写等权限,如果你在服务器的仓库中对某个文件设置成只读权限,那么对应用户是可以将该文件拉到本地,但是修改后提交,SVN客户端会提示无法提交(红色字体)。这个跟之前说的设置只读属性不是一回事。

时间: 2024-10-22 18:34:28

SVN的忽略和只读使用方法学习记录的相关文章

java中equals与hashCode还有tostring方法学习记录

package javas.fristdome01; import org.testng.annotations.Test; class Person { private String name; private int age; Person() { } Person(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public void s

tensorflow的reduce_sum方法学习记录

在使用tensorflow时,经常会用到reduce_sum这个函数,表示对数据进行求和,但它的参数的作用却不是那么容易明白. reduce_sum( input_tensor, axis=None, keep_dims=False, name=None, reduction_indices=None ) 参数一:axis 沿着哪个维度求和.对于二维的input_tensor张量,0表示按列求和,1表示按行求和,[0, 1]表示先按列求和再按行求和. x = np.asarray([[1, 1,

SVN下最高效打基线方法

作者:张克强    作者微博:张克强-敏捷307 2014/7/6 方法一来自于我的一条微博: 组织级scm建一个名为controlled的目录,当项目某文档通过评审后,组织级scm从项目目录下找到那文档,复制到controlled目录下.请@scmeye软件配置管理社区 @E路向前--李忠利 @火星人陈勇 点评下这做法 针对方法一的点评如下 邱润HW:有什么东西是可以完全被控制的吗?假如没有,那就没意义,假如有,用目录这样做控制,应该不仅仅只是命个名字吧. (3月27日 08:54) 火星人陈

eclipse svn不能忽略文件及文件夹,ignore设置无效 ?

https://blog.csdn.net/zengmingen/article/details/79025445 https://blog.csdn.net/zengmingen/article/details/78052840 SVN这块做得不好,如果之前提交过此文件,就不能设置忽略该文件了.所以第一次提交的时候要搞清楚再提交. [ 亲测,的确如此,用 Windows -> Preferences -> Team -> Ignored Resources 方法不行. 项目右键--te

蒙特卡洛方法学习(二)

之前介绍了蒙特卡洛的优势.详情可参考之前的<蒙特卡洛方法学习(一)>. 那么对于我们设计的电路,对于电路中的元器件参数容差,进行统计分布,用一组伪随机数求得元器件的随机抽样序列,对这些随机抽样得到的元器件参数再对设计的电路进行功能仿真,比如:直流分析,交流分析,瞬态分析等等. 利用Multisim进行蒙特卡洛仿真电路.这里举一个简单的例子,如下:   对于上述电路中,电阻的阻值会有一个容差范围,电容的容值也会有一个容差范围,这些容差会对整个电路带来的影响,可以利用蒙特卡洛方法进行仿真,具体操作

Linux命令行下svn ignore忽略文件或文件夹用法

Linux命令行下svn ignore忽略文件或文件夹用法 一.忽略单个目录 1.忽略文件夹 假如目录oa.youxi.com是从svn checkout出来的,在服务器本地目录添加了material,但是不希望把material加入版本控制,因此我们需要忽略掉这个目录首先使用svn status命令查看当前状态[[email protected] oa.youxi.com]# svn status? htdocs/admin/adv/material 添加需要忽略的目录,貌似必须得进入该目录之

os.wark() 方法学习

脚本: #!/usr/bin/env python # encoding utf-8 import os import types Driver = "d:" # 输出D盘下的所有文件 for  i  in os.walk(Driver + os.sep + "python-study"): print (type(i)) print (i) 输出结果 <class 'tuple'> ('d:\\python-study', [], ['1.txt',

C#中的扩展方法学习总结

??版权声明:本文由秦元培创作和发表,采用署名(BY)-非商业性使用(NC)-相同方式共享(SA)国际许可协议进行许可,转载请注明作者及出处,本文作者为秦元培,本文标题为C#中的扩展方法学习总结,本文链接为http://qinyuanpei.com/2015/12/05/extend-methods-of-csharp/. ??各位朋友大家好,我是秦元培,欢迎大家关注我的博客.最近偶然接触到了C#中的扩展方法,觉得这个语法特性是一个不错的特性,因此决定在这里系统地对C#中的扩展方法相关内容进行下

[ExtJS学习笔记]第七节 Extjs的组件components及其模板事件方法学习

本文地址:http://blog.csdn.net/sushengmiyan/article/details/38487519 本文作者:sushengmiyan -------------------------------------------------------------资源链接----------------------------------------------------------------------- 翻译来源  Sencha Cmd官方网站: http://ww