Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2367793
  • 博文数量: 145
  • 博客积分: 8668
  • 博客等级: 中将
  • 技术积分: 3922
  • 用 户 组: 普通用户
  • 注册时间: 2007-03-09 21:21
个人简介

work hard

文章分类

全部博文(145)

文章存档

2016年(1)

2015年(1)

2014年(1)

2013年(12)

2012年(3)

2011年(9)

2010年(34)

2009年(55)

2008年(20)

2007年(9)

分类: LINUX

2011-01-11 11:27:39

摘要
    本文介绍Linux 命令行下 svn 设置忽略文件列表的相关内容,也会涉及 Win 下使用 Tortoise SVN 的相关配置。

本文欢迎自由转载,但请标明出处和本文链接,并保持本文的完整性。

CU
Godbach
Blog
http://blog.chinaunix.net/u/33048/index.html
Jan 11, 2011


    Linux命令行下使用 svn st 查看当前版本库状态的时候,经常会出现一些临时生成的一些文件,状态的标记为 "?"。尤其是如果工程比较大,比如编译完 Linux 内核,有大量的临时文件生成。这些临时文件中,有些是诸如 *.o 之类文件,这样 svn 默认会自动过滤的,执行 svn st 的时候并不会显示出来。但是也有不少的临时文件,是不会被过滤的。因此,我们应该可以根据需求来配置需要过滤的文件列表。

   配置的方法有以下几种:
1. 修改版本库的相关属性
  1. $ svn propedit svn:ignore dir

其中 dir 就是你所想设置过滤文件列表的目录,执行命令之后,会出现编辑界面,按照空格将你想过滤文件(通常使用通配符的方式)以空格分开,保存退出即可。
这个属性是针对版本库进行的修改,因此需要提交这个修改。
注意:这个设置无法递归,也就是如果 dir 目录下还有子目录的话,是单独设置的。

2. svn 客户端的配置
对 svn 命令的配置文件修改即可。进入个人用户目录
  1. $ vi .subversion/config

找到包含  [miscellany] 这一行,取消注释
然后编辑包含 global-ignores 的那一行,取消注释,并添加需要过滤文件的通配符即可。
以下是我添加了对编译内核过程中一些临时文件的过滤:
  1. global-ignores = *.ko *.ko.cmd *.cmd *.o.cmd *.mod.c *.so *.a *.o *.lo *.la .*.rej *.rej .*~ *~ .#* .DS_Store
这个配置是对客户端的修改,对版本库没有任何影响。同时,这个配置也是全局的,适用于本机所有 svn 管理的项目

以上是简单介绍 Linux 上两种配置 svn 设置忽略文件列表的方式。下面简单介绍一下 Win 使用 Tortoise SVN 如何设置。
其实核心的思路是和 Linux 上一样的。一种是对 svn 版本看的配置,一种是对 svn 客户端工具的配置。由于 Tortoise SVN 是图像化界面,这里仅简单说一下过程,不进行图片展示。

3. Tortoise SVN 上修改版本库的属性
右键单击一个处于 svn 管理的目录,也就是你想设置过滤文件列表的目录,依次点击 Tortoise SVN->属性->新建,下拉列表选择 svn:ignore,然后在文本框里面编辑过滤文件列表。如果希望递归该属性,请选择左下角的复选框"递归应用该属性"即可。
这个设置和 1 中介绍的方法是同一个效果,只是多了个递归。

4. Tortoise SVN 客户端工具的配置
如同 2 中介绍的一样,这个配置和 svn 版本库没有关系。
在任何目录右键单击,依次点击 Tortoise SVN->设置->常规设置,全局忽略样式 中添加忽略文件列表即可。

 以上是 svn 设置忽略文件列表的几种方法。本人进行了简单测试,欢迎多多交流。



阅读(34376) | 评论(0) | 转发(2) |
给主人留下些什么吧!~~