`

SVN简易向导linux.

阅读更多
SVN简易向导
----网上参考文档(不好意思 网址当时搞忘了 对不起提供参考资料的这位仁兄)
越来越多的感受到Linux的方便和强大,现在是svn继续带来这种感觉。猛然觉得过去多年的程序员生涯,没有接触Linux是多么封闭。
这是一个简易的向导,是我初次使用和体验的总结。全面的学习应参考比如: O'Reilly出版的<<Version control with Subversion>> - http://svnbook.red-bean.com/。
向导里的例子,在/home/qianjiang/下建立一个svn为目录名的知识仓库,并在该仓库下面建立一个work的项目。
安装subversion
  一般系统已经带了,否则就安装一下,比如Ubuntu下面:
  sudo apt-get install subversion
创建知识仓库(Repository)
  cd /home/qianjiang
  svnadmin create svn
载入项目  cd /home/qianjiang
  svn import -m "work project: first import" work file:///home/qianjiang/svn/work
  这样/home/qianjiang/work目录下的文件都被载入到知识仓库下面的work项目里面。
查看知识仓库
  svn ls file:///home/qianjiang/svn
  即查看本地硬盘/home/qianjiang/svn目录里的知识仓库。

  如果要通过另外一台机器访问,需要运行svnserve以支持client的网络访问。
    cd /home/qianjiang
    svnserve -d -r svn
  这时,可通过网路上的另外一台机器,运行:
    svn ls svn://192.168.100.49/

访问权限
  在知识仓库,这里是/home/qianjiang/svn,下面的conf/svnserve.conf
  其中:
      anon-access = read  //表示匿名可读
      auth-access = write //表示认证用户可写
      password-db = passwd //用户和密码所在文件
  /home/qianjiang/conf/passwd里面,我加上了:
      qianjiang = mypassword

Check out(获得项目的一个本地拷贝)
  比如: svn checkout svn://192.168.100.49/work
  如果是要之前的某个版本:
  svn checkout -r 5 svn://192.168.100.49/work

Check in/Commit (提交修改)
  比如,在本地 svn commit
  或者指定文件:
  svn ci -m "Set ejtag to 12 MHz to make it more stable ..." bin/reflash

Update from Repository
  svn up
  或回到之前某个版本
  svn update -r R [filename]

查看修改状态
  svn st

查看文件修改的内容
  svn diff filename
  如果要比较不同版本
  svn diff -r R1:R2 [filename]

恢复到修改前的内容
  svn revert filename

查看文件历史
  svn log filename

帮助
  svn help
  svn help st 等

删除svn相关的文件
  svn export dir_contain_svn_files  to_dir
  这样会删除dir_contain_svn_files目录下的所有.svn目录等

增加文件或目录
  svn add FILENAME/DIR
  这样就加入到本地的working copy中,commit之后会加入到Repository.
  如果要取消,可以使用svn revert

显示指定文件每行的author和revision
  svn blame filename

比较两个版本之间的差异
svn diff -r r3:r30 --summarize

注: 曾经遇到过这样的问题,重启机器后
    运行svn ls svn://localhost
    提示: svn: can't connect to host "localhost":connection refused
    执行: cd /home/qianjiang
         svnserve -d -r svn即恢复
    大概,因为重启后svnserve读取的权限文件设置不允许访问。

    另外一个问题是运行,svnserve -d -r svn不成功,提示svnserve正在运行,需要kill
    ps -ef | grep svnserve找到svnserve的pid
    kill svnserve-pid
 
一个常用命令简述链接
https://www.forge.funambol.org/scdocs/ddUsingSVN_command-line#workwithrep

如果svn server的ip发生变化,如果不想重新check out,可以运行:
svn switch,如:
svn switch --relocate svn://172.16.0.49 svn://192.168.100.49

svn diff -r r93:r102 --summarize //取得两个版本之间改动的文件和增加的文件

svn st --no-ignore  //查看状态,包括库文件




本人实现
Svn 以及被老总在安装上 我只参与配置部分
(12.29改 换内网服务器 自己配置了一次)
安装 用yum
yum -y install svnversion
[root@localhost jishubu]# yum -y install subversion
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
^[[A^[[A * base: mirrors.163.com
* extras: mirrors.163.com
* updates: centos.ustc.edu.cn
^[[BSetting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package subversion.i386 0:1.6.11-7.el5_6.4 set to be updated
--> Processing Dependency: perl(URI) >= 1.17 for package: subversion
--> Running transaction check
---> Package perl-URI.noarch 0:1.35-3 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

=========================================================================================================================================================================================================
Package                                          Arch                                         Version                                                  Repository                                  Size
=========================================================================================================================================================================================================
Installing:
subversion                                       i386                                         1.6.11-7.el5_6.4                                         base                                       3.1 M
Installing for dependencies:
perl-URI                                         noarch                                       1.35-3                                                   base                                       116 k

Transaction Summary
=========================================================================================================================================================================================================
Install       2 Package(s)
Upgrade       0 Package(s)

Total download size: 3.3 M
Downloading Packages:
(1/2): perl-URI-1.35-3.noarch.rpm                                                                                                                                                 | 116 kB     00:00    
(2/2): subversion-1.6.11-7.el5_6.4.i386.rpm                                                                                                                                       | 3.1 MB     00:04    
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                                                    637 kB/s | 3.3 MB     00:05    
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : perl-URI                                                                                                    1/2
  Installing     : subversion                                                                                                  2/2
Installed:
  subversion.i386 0:1.6.11-7.el5_6.4                          

Dependency Installed:
  perl-URI.noarch 0:1.35-3                                  

Complete!

测试svn是否安装成功svnadmin --version
Svn 启动后主要是3个命令 svnadmin svnserve svn(svnadmin help)(svnserv --help)(svn help)
配置开始
首先给svn创建组和用户,以root登录
groupadd svn
useradd svnroot -g svn
passwd svnroot
输入密码 *******
建立目录
mkdir  /home/svnroot/repository1
1 建立知识仓库 test1
svnadmin create /home/svnroot/repository1/test1
如果有多个的话
svnadmin create /home/svnroot/repository1/test2
授予权限 chmod 700 /home/svnroot/repository1
本地测试导入服务器代码 svn import /data0/htdocs/FAJxc/Css file:///home/svnroot/repository1/test1 -m "init"
本地测试访问svn ls file:///home/svnroot/repository1/test1/
建立每个知识库的时候都会有配置文件来控制对知识库的访问 默认在知识库的conf/svnserver.conf文件里
vi /home/svnroot/repository1/test1/conf/svnserve.conf
killall svnserve
svnserve -d -r repository1 --listen-port 243
本地测试svn ls svn://127.0.0.1:243/test1
外网访问 svn://53.39.98.3:243/test1
svn:// 53.39.98.3:243/test2
-d 后台 –r 根目录 --listen-prot 监听端口
查看进程pid    ps -aux |grep svnserve

在知识仓库的conf/svnserve.conf
  其中:
      anon-access = read  //表示匿名可读
      auth-access = write //表示认证用户可写
      password-db = passwd //用户和密码所在文件
修改密码passwd配置文件
vi /home/svnroot/repository1/test1/conf/passwd
username = password

Linxu切换svn用户 svnroot登录 密码fuaotech
开始没权限 然后切换到root用户下给svnroot用户赋权限
chown -R svnroot:svn /home/svnroot/repository1/
然后再切换svnroot用户登录
svnadmin create /home/svnroot/repository1/test2

分享到:
评论

相关推荐

    svnlog2excel.jar

    svnlog2excel.jar是用于将xml格式的svnlog转成excel表格。使用方法为 java -jar svnlog2excel.jar changelog.xml changelog.xls svnlog2excel.sh 将指定SVN路径的版本记录导出为xml格式,去掉第一个版本(一般为...

    AnkhSvn-2.1.7444.278.msi & AnkhSvn-2.1.8420.8.msi

    在安装过程中,按照安装向导的提示进行,确保你有权限进行系统级别的更改,并且在安装前关闭所有打开的Visual Studio实例,以防止冲突。 总的来说,AnkhSvn是一个强大的工具,能帮助开发者在Visual Studio环境下更...

    SVN_1.8.2.24708最新版(含语言包)客户端服务端VS中文插件全套打包

    SVN服务端、客户端、VS简体中文插件打包下载(2013-10-24) 内含: VisualSVN-Server-2.7.1.msi 服务端 TortoiseSVN-1.8.2.24708-x64-svn-1.8.3.msi 64位客户端 LanguagePack_1.8.2.24708-x64-zh_CN.msi 64位客户端...

    svn全套,visual svn svn server TortoiseSVN .rar

    svn全套,visual svn svn server TortoiseSVN .rar svn全套,visual svn svn server TortoiseSVN .rar svn全套,visual svn svn server TortoiseSVN .rar svn全套,visual svn svn server TortoiseSVN .rar svn全套...

    SVN 1.8.10.26129客户端及中文语言包 包含WIN32/WIN64全平台

    压缩包内包含四个文件: [WIN32] SVN-1.8.10.26129.msi [WIN32语言包] 1.8.10.26129.msi [WIN64] SVN-1.8.10.26129.msi [WIN64语言包] 1.8.10.26129.msi

    AnkhSVN2.7.0.11968中文版

    AnkhSVN2.7.0.11968中文版

    svn学习......

    svn学习......

    org.tmatesoft.svn_1.3.2.eclipse.zip

    标题 "org.tmatesoft.svn_1.3.2.eclipse.zip" 暗示这是一个针对Eclipse集成开发环境(IDE)的Subversion(SVN)客户端插件版本1.3.2的压缩包。Subversion是一款流行的开源版本控制系统,用于管理软件项目中的源代码...

    SVN1.8.3.24901

    SVN,全称为Subversion,是一款广泛应用于软件开发领域的版本控制系统。它允许团队成员协同工作,跟踪文件和目录的变化,并提供了回滚到历史版本的能力。SVN1.8.3.24901是该系统的一个特定版本,旨在提供更高效、...

    AnkhSVN 2.7.0.6493.简体中文版

    1. **安装与配置**:下载AnkhSVN的安装包,运行并按照向导完成安装。配置Subversion服务器地址和认证信息。 2. **连接仓库**:在Visual Studio中打开或创建项目,通过AnkhSVN将项目与Subversion仓库关联。 3. **版本...

    小乌龟SVN1.14.3.29387 安装包加中文语言包

    小乌龟SVN1.14.3.29387 安装包加中文语言包

    Linux 离线安装SVN所需安装包.zip

    在Linux环境中,Subversion(简称SVN)是一个广泛使用的版本控制系统,用于管理软件项目中的源代码和其他文件。本文将详细讲解如何在没有网络连接的情况下,使用提供的“Linux 离线安装SVN所需安装包.zip”进行SVN的...

    删除svn信息的工具.reg

    删除svn信息的工具.reg 删除svn信息

    svn-eclipse插件.rar

    4. 遵循向导完成安装,确认许可协议,并重启 Eclipse 使插件生效。 安装完成后,用户可以在 Eclipse 的 "Team" 菜单中找到 SVN 相关的操作,如 "Share Project" 来将项目添加到 SVN 控制下,"Commit" 进行代码提交...

    清楚svn目录下生成的.svn文件夹

    - **手动删除**:通过Windows资源管理器或者Linux的`rm`命令,逐个或批量删除目录下的`.svn`文件夹。但这需要小心操作,防止误删其他重要文件。 - **使用脚本**:提供名为“清楚当前目录下的.svn信息.bat”的...

    SVN 1.9.7.27907-64bit含中文包

    通过运行这个MSI(Microsoft Installer)文件,用户可以按照向导步骤安装TortoiseSVN,将SVN工具集整合到Windows资源管理器中。 在实际使用中,TortoiseSVN允许用户执行一系列SVN操作,如检出(Checkout)、提交...

    svn定时同步备份.txt

    Cron 是 Linux/Unix 下的任务计划工具,可以通过设置定时任务来自动化执行指定的命令或脚本。Cron 的格式为: ``` 分 时 日 月 星期 用户 执行命令 ``` - **分**:分钟(0-59) - **时**:小时(0-23) - **日**:...

    svn-server-linux.zip

    linux 离线安装svn服务器subversion所需的lib包,包含subversion包、apr、apr-util、sqlit-autoconf、zlib subversion版本为1.8.18,亲自安装后可以使用后上传

    SVN客户端安装文件.rar

    2. 双击运行"TortoiseSVN-1.10.0.28176-x64-svn-1.10.0.msi",按照向导提示进行安装,过程中可以选择安装路径和自定义设置。 3. 安装完成后,再运行"TortoiseSVN 中文语言包_1.10.0.28176-x64.msi",安装中文语言...

    svn 出错误清理工具sqlite3.exe

    1.把sqlite3.exe放到.svn文件夹下 2.在.svn目录下打开命令行输入以下语句: sqlite3 wc.db "delete from work_queue" sqlite3 wc.db "delete from wc_lock" 3. svn 执行clean up

Global site tag (gtag.js) - Google Analytics