使用SVN只检出一个文件或空目录

有时svn目录里有许多文件,但只想检出其中一部分甚至一个,可以使用以下命令检出空目录

再在这个空目录里update要检出的文件:

【参考:http://www.cnblogs.com/leaven/p/4386915.html】

How to Install Subversion (SVN) 1.9 on CentOS/RHEL 7/6/5

Thanks to Wandisco, which is maintaining the rpm packages for latest Subversion version. This article will help you to install subversion 1.9 ( svn client ) on CentOS/RHEL 7/6/5 Systems. If you want to configure Subversion server visit this article.

Step 1: Setup Yum Repository

Firstly we need to configure yum repository in our system. Create a new repo file/etc/yum.repos.d/wandisco-svn.repo and add following content as per your operating system version.

Step 2: Install Subversion 1.9

Before installing latest package remove existing subversion packages from system to remove conflict.

Now install latest available Subversion package using yum command line package manager utility.

Step 3: Verify Subversion Version

At this stage you have successfully install Subversion client on your system. Lets use following command to verify version of svn client.

References:

1. http://opensource.wandisco.com/

2.http://tecadmin.net/install-svn-1-9-on-centos/

svn 上为不同用户设置不同文件夹访问权限

当系统存在许多文件,只希望不同的人员操作指定的目录或文件时,可以通过SVN为其分配权限,使其只能checkout / update 指定目录或文件,其他基础支持文件(如系统运行所必须的基本文件),可以直接拷贝到操作员本地的执行环境目录中。

在SVN库中,像如下配置权限:

文件 –> /conf/auth

注意,/addons/foo_directory 是当前SVN项目下的目录,将某个目录分配给指定操作员时,不要斜杠/

迁移SVN库

场景:

在多台服务器上都有SVN库,为了统一管理,将所有的SVN库集中在一台服务器上,以便管理。

实现:

①将不同服务器上的SVN库中的项目拷贝到统一的SVN库中。

②在checkout出来的项目中执行以下语句,从而对应新的svn库的url。

【参考:】http://blog.chinaunix.net/uid-7553302-id-64854.html

MAC(OSX), svn:This client is too old to work with working copy '…'

场景:

在MAC的终端(terminal)上使用svn时,提示“svn:This client is too old to work with working copy ‘…’”

原因:

主要原因是新安装一高版本的svn客户端,使得版本库中的文件格式发生了变化,退回使用旧版本svn时发生了不兼容现象,于是出现标题所示错误。

解决:

①降低版本库中文件的格式,使其还原到旧版本。

具体参考官方信息:http://subversion.apache.org/faq.html#working-copy-format-change

②安装高版本svn客户端。

具体步骤:

1.下载安装最新版svn。

查看当前svn版本:在终端中执行 svn --version

下载、安装更高版本svn:http://www.wandisco.com/subversion/download#osx

备注:新版svn一般会安装在/opt/subversion/bin中,具体看安装步骤中的提示,如下图屏幕快照 2015-03-23 下午3.14.27

2.修改使用svn时的路径。

在终端中执行以下代码,修改.profile文件(该文件在用户家目录下)。

第一步,进入用户家目录: cd ~
第二步,编辑.profile文件: sudo vim .profile ,并将新安装的svn的路径添加在最上方,如下图屏幕快照 2015-03-23 下午3.00.37

3.此时,重新打开一个终端,若使用命令 svn --version 应可查看当前svn版本为最新版。

备注:若仍显示旧版本号,重新打开一个终端再查看svn版本号;

            若仍然显示旧版本号,更改原svn目录名(如 sudo mv /usr/bin/svn /usr/bin/svn.old ,若不清楚svn路径,试着使用命令 whereis svn 查找);

           若还显示旧版本号,应该是修改.profile文件失败,重新检查第2步骤是否有正确执行。

【参考:】

http://redfinsolutions.com/blog/update-subversion-mac-os-x

http://www.tech-recipes.com/rx/2621/os_x_change_path_environment_variable/

http://www.wandisco.com/subversion/download#osx

 

SVN之commit后自动update网站内容

目的:

本地修改SVN库里的文件后,commit时,希望另一checkout出来的代码能自动更新。

应用场景:

本地、线上网站代码均是通过SVN来checkout出来的,在本地commit新代码后,网站代码会自动更新,便于修改网站内容,且通过SVN实现了版本库管理。

方法:

在对应的SVN库中的项目库里,修改hook目录。

①将hook目录下的post-commit.tmpl文件更名为post-commit

②编辑该post-commit文件,在末尾处添加以下代码

③给该post-commit文件赋予可执行权限

 

备注:

①不要乱加空格。

②可以把不需要的默认代码注释掉,以下是默认代码,可在行首加符号“#”来注释。

 

 

windows右键菜单之删除所有后缀为svn的目录

目的:

添加右键菜单项“DeleteSVN”,用于将某SVN库里的所有.svn目录删除

操作:

新建后缀为reg的文件,并写入以下内容:

执行此文件即可。 继续阅读“windows右键菜单之删除所有后缀为svn的目录”