进入trunk文件夹,新建一个main.c文件
root@letuknowit:/home/kris/calc/trunk# cat > main.c #include <stdio.h> int main() { printf("Hello world.\n"); return 0; } ^C(这个对应按键 Ctrl+C,用于结束cat的输入)
下面通过gcc进行编译,生成一个名为calc的可执行文件,编译成功后查看文件夹,应该会出现mian.c和calc两个文件
root@letuknowit:/home/kris/calc/trunk# gcc -o calc main.c root@letuknowit:/home/kris/calc/trunk# ls -al total 28 drwxr-xr-x 3 root root 4096 2012-09-10 09:28 ./ drwxr-xr-x 6 root root 4096 2012-09-07 17:10 ../ -rwxr-xr-x 1 root root 8376 2012-09-10 09:28 calc* -rw-r--r-- 1 root root 73 2012-09-10 09:27 main.c drwxr-xr-x 6 root root 4096 2012-09-10 09:23 .svn/
可以通过运行calc文件查看运行结果
root@letuknowit:/home/kris/calc/trunk# ./calc Hello world.
接下来执行svn st命令,看看有什么变化
root@letuknowit:/home/kris/calc/trunk# svn st ? calc ? main.c
问号说明这是还没有处于svn版本控制下的文件,因为是我们新添加的文件嘛,当然不在版本控制下了。这两个文件中,calc是我们生成的可执行文件,在调试的时候会频繁的生成,因此并不想把他放到版本控制下,因此需要忽略掉这个文件。
root@letuknowit:/home/kris/calc/trunk# export SVN_EDITOR=vim root@letuknowit:/home/kris/calc/trunk# svn propedit svn:ignore . Set new value for property 'svn:ignore' on '.'
其中export SVN_EDITOR=vim设置SVN的默认编辑器为vim。“svn propedit svn:ignore .”用来改变当前目录(trunk,也就是包含calc的文件夹)的属性,调用该命令后,会出现一个vim的窗口,写入需要忽略的文件(我们这里的情况写入calc即可),如果有多个需要忽略的文件,就每行写一个,执行完命令后,系统会提示为当前目录设置了新的svn:ignore属性。
再通过svn st命令查看当前目录结构,发现calc已经没有了,取而代之的是对于当前文件夹(.)的修改。
root@letuknowit:/home/kris/calc/trunk# svn st M . ? main.c
下面将对当前文件夹的svn:ignore属性修改提交到svn文件仓库。
root@letuknowit:/home/kris/calc/trunk# svn commit -m "ignore file calc" Sending trunk Committed revision 2.
后续,不管你怎么修改calc文件,svn都会对它置之不理了。
注意事项
在使用这个SVN的属性编辑前,你得确保后面的“目录名称”是SVN版本控制的目录,为了验证请看下面的示例。
root@letuknowit:/home/kris/calc/trunk# mkdir t root@letuknowit:/home/kris/calc/trunk# svn st ? t ? main.c root@letuknowit:/home/kris/calc/trunk# svn propedit svn:ignore t/ svn: 't' is not under version control
原创文章请注明转载于知蚁博客,本文地址:http://www.letuknowit.com/archives/svn-ignore-file