Skip navigation.

crocodile's blog

a python lover

Posts tagged with "subversion"

subversion的svn命令行显示乱码的解决

在中文windows下安装svn的1.4版本,下载了win32的那个zip版本,直接解开安装,并把bin目录添加到path上,在cmd shell上执行svn发现程序的提示信息全是加了斜杠了的数字,一看就知道是经过编码的中文。

svn使用了libapriconv.dll来实现本地化的,apr_iconv是使用环境变量
APR_ICONV_PATH
来获取iconv目录,从而得到相关的.so文件。在中文环境下,因为没找到正确的iconv目录,所以无法得到正确的cp936.so,所以显示成了乱码。

相关代码如下:
        /* Fall back on APR_ICONV_PATH if APR_ICONVn_PATH isn't set...
         * TODO: Drop support for "APR_ICONV_PATH" in apr-iconv 2.0
         */
        if ((!apr_env_get(&ptr, APR_ICONV_PATH, subpool)
             || (!apr_env_get(&ptr, "APR_ICONV_PATH", subpool)))
            && !apr_filepath_list_split(&pathelts, ptr, subpool))
        {

可以看到,apr-iconv 2.0以后会不这么使用了

所以,最官方的解决办法就是设置正确的APR_ICONV_PATH环境变量。比如:
set APR_ICONV_PATH=e:\svn\iconv
set LANG=zh_CN.UTF8

其实如果习惯英文,只要加上环境变量LANG=en_US,就可以正确显示英文提示信息了.

subversion 常用命令

创建仓库(Repository)
svnadmin create /path/to/repository

svnadmin是有用的subversion系统管理命令,使用svnadmin help查看在线帮助
信息。

添加新的项目(import new project)
subversion的手册推荐的项目目录结构,
project/
+ branches/
+ tags/
+ trunk/
+ dir1/
+ file1
+ file2
+ dir2/

svn import project file:///repository_name/project -m "Comment"
svn import project http://host/svn_dir/repository_name/project -m "Comment"

检出(checkout)项目
svn checkout file:///repository_name/project/trunk project
svn checkout http://host/svn_dir/repository_name/project/trunk project

列出仓库中的项目(list)
svn list --verbose file:///repository_name/project
svn list --verbose http://host/svn_dir/repository_name/project

状态查询(status)
svn status
给出新文件,已经改变的文件和被删除的文件列表;

添加文件或目录(add)
svn add

删除文件或目录(delete)
svn delete
svn delete http://host/svn_dir/repository/project_dir 这条命令刚好可以用来删除
错误的import的某些项目!!

提交(commit)
svn commit http://host/svn_dir/repository/project_dir

更新(update)
svn update
更新仓库中的文件到本地。

标签和特殊版本项目
使用copy命令
svn copy http://host/repos/project/trunk http://host/repos/project/tags/1.0.0
用于创建某个特定版本的快照(snapshot);
svn list http://host/repos/project/tags/1.0.0
查看某个版本的内容

subversion Install On Ubuntu How To

,

自己把subversion安装成功了,留个脚印。
也给大家一个参考,估计今天应该不会再有人不会操作了。

subversionInstallOnUbuntuHowTo
–by zengpuzhang <zengpuzhang@gmail.com>

Use the subversion for apache2 on ubunut 5.10.

* Install apache2

sudo apt-get install apache2

* It will download apache2 apache2-common apache2-mpm-worker apache2-utils

* Install subversion

sudo apt-get install subversion

* Install libapache2-svn

sudo apt-get install libapache2-svn

* Create subversion home foder and project

cd /home/
sudo mkdir svn
cd svn
sudo svnadmin create project
cd /home
sudo chown www-data.www-data svn -R

* Configure the apache and subversion

cd /etc/apache2
sudo mkdir authz
cd authz
sudo touch project.authz
sudo touch dav_svn.passwd
sudo vi /etc/apache2/mods-enabled/dav_svn.conf

* Add the content like this:

<Location /project>
DAV svn
SVNPath /home/svn/project
AuthzSVNAccessFile /etc/apache2/authz/project.authz
AuthType Basic
AuthName “Project Subversion Repository”
AuthUserFile /etc/apache2/authz/dav_svn.passwd
Require valid-user
</Location>

* Save the dav_svn.conf and edit the project.authz

sudo vi /etc/apache2/authz/project.authz

* Add the content like this:

[/]
zengpuzhang=rw

* Sava the project.authz and create a user name zengpuzhang

sudo htpasswd2 -c /etc/apache2/authz/dav_svn.passwd zengpuzhang

* Input the user`s password

* Restart the apache

sudo /etc/init.d/apache2 restart

* Done!

* subversion checked svn co

$svn co http://192.168.10.163/project
认证领域:<http://192.168.10.163:80> Project Subversion Repository
用户登录名:zengpuzhang
“zengpuzhang”的密码:
取出修订版 0。

* subversion checked svn add

$cd project
$touch test
$svn add test
A test

* subversion checked svn ci

$svn ci -m “just a test”
新增 test
传输文件数据.
提交后的修订版为 1。
* enjoy it .

December 2009
S M T W T F S
November 2009January 2010
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31