20080219

Subversion命令行安装和使用 笔记

svn server安装和使用

0.可以不运行svn server。
    所有命令都支持本地文件系统。checkout后的所有命令都针对在checkout中指定的repository
1.path bin
2.E:\svn\repository\conf\svnserve.conf
    anon-access = read
    anon-access = write
3.svnadmin create E:\svn\repository
4.svnserve -d -r E:\svn\repository
5.set SVN_EDITOR=notepad; svn import svn://localhost
    当前目录及子目录
    -m或-f参数
6.svn checkout svn://localhost/project2
    checkout到当前目录
    d:\msys\1.0\home\test\co>svn co file:///d:/msys/1.0/home/test/svn
7.SVN bind with apache,需要改动
a.mod_authz_svn.so与mod_dav_svn.so in svn => apache modules
b.httpd.conf
        LoadModule dav_svn_module modules/mod_dav_svn.so
        LoadModule authz_svn_module modules/mod_authz_svn.so
c.httpd.conf
    <Location /svn>
        DAV svn
        SVNPath    E:/svn/repository
    </Location>
----
The typical work cycle looks like this:
ref [http://svnbook.red-bean.com/en/1.1/ch03s05.html]

*      Update your working copy
          o            svn update
*      Make changes
          o            svn add
        Adding a directory will add the directory and all the files and directories in it. However
          o            svn delete
          o            svn copy
          o            svn move
*      Examine your changes
          o            svn status
          x            svn diff
          x            svn revert
*      Merge others' changes into your working copy
          o            svn update
          x            svn resolved
*      Commit your changes
          o            svn commit
----
主要命令参考:
svn status
commit all
    an implicit target of your current directory (".")
    默认递归子目录。--non-recursive (-N)
update all
    svn update <repository路径>
message
    --file or --message 指定 log message
svn log
----
tag的作用
    trank,branches,tags
    tag
        svn copy http://host_name/repos/project/trunk http://host_name/repos/project/tags/0.1.0 -m "Tagging the 0.1.0  release of the project"
        svn list http://192.168.0.4/svn/repos/prj1/tags
0.1.0/
        svn list http://192.168.0.4/svn/repos/prj1/tags/0.1.0 
        checkout the specifice version
------------
done tortoiseSVN没有非installer方式下载
done 这些都是源代码码,不是二进制包
    e:\Young Gift 杨贵福工作室\U盘存储\Projects\running\svn\subversion-1.4.6.zip
    e:\Young Gift 杨贵福工作室\U盘存储\Projects\running\svn\subversion-deps-1.4.6.zip
---------
1.svn命令行乱码的解决
a.chcp 437
    代码页设置为美国
     /c/windows/system32/chcp.com
b.unicode环境变量,设置过程
    d:\svn\bin>set LANG=zh_CN.UTF8
    d:\svn\bin>svn
    ?\228?\189?\191?\231?\148?\168?\226?\128?\156svn help?\226?\128?\157?\229?\190?\
    151?\229?\136?\176?\231?\148?\168?\230?\179?\149?\227?\128?\130
    d:\svn\bin>set APR_ICONV_PATH=d:\svn\iconv\
    d:\svn\bin>svn
    使用"svn help"得到用法。
c.删除d:\svn\share\locale\zh_CN\

2.查资料the python or perl things in packages的作用
    Python bindings for Subversion
    This is a set of Python interfaces to libsvn, the Subversion libraries. It is useful if you want to, for example,  write a Python script that manipulates a Subversion repository or working copy.

3.create repository默认使用fsfs?
  --fs-type arg            : type of repository: 'fsfs' (default) or 'bdb

4.is svn add necessary?实验
    必须。否则在commit时不提交。statatus为?


--
重剑无锋,大巧不工。

No comments: