如何在windows上安装部署设置SVN服务器

如何在windows上安装部署设置SVN服务器,第1张

工具/原料

操作系统:Windows2003,32位

SVN Server版本:svn-win32-1616

SVN Client版本:TortoiseSVN-161621511

方法/步骤

一、准备工作

1、SVN服务器:解压缩包,可以从官方网站下载最新版本。

2、SVN客户端:TortoiseSVN,即常说的小乌龟,是一个客户端程序,用来与服务器端通讯。

二、安装服务器和客户端程序

1、SVN服务器:直接解压缩到某个文件夹下即可。示例路径:c:\svn\

备注:如果下载的是msi程序,直接运行按提示安装即可。

2、SVN客户端:直接运行按提示安装即可。示例路径:C:\Program Files\Subversion

三、建立版本库(Repository):示例路径:e:\svnroot。建立版本库有两种方法:

方法一,建立空目录e:\svnroot\repos1,进入repos1文件夹,在空白处点击右键,选择“TortoiseSVN->Create Repositoryhere”,

方法二,建立空目录e:\svnroot\repos2,进入DOS命令行,输入如下命令:

svnadmincreate e:\svnroot\repos2

四、运行SVN服务器,启动服务。启动服务有两种方法:

方法一,临时启动服务,在DOS下输入如下命令:

svnserve -d -r e:\svnroot\repos1 --listen-host ip地址 --listen-port=端口号

说明:“listen-host”和“listen-port”可选。默认端口是3690,如果端口已经被占用,可以通过选项listen-port指定端口号。

注意:请不要关闭命令行窗口,关闭窗口会把 svn服务就停止了。

方法二,启动SVN服务为后台运行程序:

sc create svnserve binPath= "c:\svn\bin\svnserveexe --service -r e:\svnroot\repos1" displayname= "Subversion" depend=Tcpip start= auto

说明一:

(1)sc是windows自带的服务配置程序。svnserve是服务的名称,可根据需求取名。

(2)参数binPath表示svnserve可执行文件的安装路径。

(3)--service表示以windows服务的形式运行,--r指明svnrepository的位置,service参数与r参数都作为binPath的一部分,因此与svnserveexe的路径一起被包含在一对双引号当中。

(4)displayname表示在windows服务列表中显示的名字,depend=Tcpip表示svnserve服务的运行需要tcpip服务,start=auto表示开机后自动运行。安装服务后,svnserve要等下次开机时才会自动运行。

说明二:

(1)binPath的等号前面无空格,等号后面有空格。displayname、depend、start也一样,service前面是--,不是- ,而r前面是-。

(2)若要卸载svn服务,则执行 sc delete svnserve 即可。

(3)从“sc”到“auto”是在同一个命令sc,必须写在同一行。

(4)启动服务命令:netstart svnserve,停止服务命令:net start svnserve,也可以进入Windows提供的界面操作SVNService服务了,即控制面板—>服务。

(5)如果路径中包括空格,一定要用“\”处理“"”号,例如上面的例子中如果svnserveexe在“c:\programfiles\svn\”中,则命令应该写为“binpath="\"c:\programfiles\svn\bin\svnserveexe\"

五、配置用户和权限

(1)修改svnserveconf,在e:\svn\repos1\conf目录下,用文本编辑器打开svnserveconf:

将:

# anon-access = read

# auth-access = write

# password-db = passwd

改为

anon-access = read

auth-access = write

password-db = passwd

注意说明:

anon-access等列前面是没有空格的。

anon-access = read表示没通过用户名密码登录的访问只有读的权限,如果改为none则没有用户名密码不能访问

auth-access = write表示通过用户名密码登录的有写的权限(当然读的权限也就有了)

password-db = passwd表示可以通过 用户名 = 密码 的方式在passwd文件中添加用户

(2)修改同目录的passwd文件,增加用户帐号:

将:

[users]

# harry = harryssecret

# sally = sallyssecret

添加帐号:

[users]

# harry = harryssecret

# sally = sallyssecret

admin = admin

添加一个admin账户,密码是admin。

六、初始化SVN,导入数据

选中要上传SVN的文件夹,“右键 ->TortoiseSVN -> Import” ,在弹出对话框的“URL of repository”输入“svn://localhost/project1/”。在“Importmessage”输入注释,点击OK,要求输入帐号,输入账户admin和密码admin。

七,测试SVN

本地测试:新建一空文件夹test1,单击右键,选择“SVN Checkout”,在“URL of repository”中输入“svn://localhost/project1”。

其他机器测试:如果运行svnserve的主机IP地址是1234,则URL输入的内容就是“svn://1234/project1”。

Linux SVN 服务器配置以及客户端使用

2010-09-23 11:32:07

标签:Linux 服务器 SVN 休闲 客户端

SVN简介

SVN是一种版本管理系统,前身是CVS,是开源软件的基石。即使在沟通充分的情况下,多人维护同一份源代码的一定也会出现混乱的情况,版本管理系统就是为了解决这些问题。

SVN中的一些概念 :

a repository(源代码库)

源代码统一存放的地方

b Checkout (提取)

当你手上没有源代码的时候,你需要从repository checkout一份

c Commit (提交)

当你已经修改了代码,你就需要Commit到repository

d Update (更新)

当你已经Checkout了一份源代码, Update一下你就可以和Repository上的源代码同步,你手上的代码就会有最新的变更

日常开发过程其实就是这样的(假设你已经Checkout并且已经工作了几天):Update(获得最新的代码) -->作出自己的修改并调试成功 --> Commit(大家就可以看到你的修改了)

如果两个程序员同时修改了同一个文件呢?SVN可以Merge这两个程序员的改动,对,合并,实际上SVN管理源代码是 以行为单位的,就是说两个程序员只要不是修改了同一行程序,SVN都会自动合并两种修改。如果是同一行呢,SVN会提示文件Confict, 冲突,需要手动确认。

TortoiseSVN简介

TortoiseSVN 是 Subversion 版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录。文件保存在中央版本库,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件 服务器。你可以将文件恢复到过去的版本,并且可以通过检查历史知道数据做了哪些修改,谁做的修改。这就是为什么许多人将 Subversion 和版本控制系统看作一种“时间机器”。

SVN的配置

1,配置好yum,检查subversion安装包

[root@svn ~]# yum list |grep subversion

subversioni386 142-4el5_31 base

subversion-develi386 142-4el5_31 base

subversion-javahli386 142-4el5_31 base

subversion-perli386 142-4el5_31 base

subversion-rubyi386 142-4el5_31 base

[root@svn ~]# yum -y install subversion

测试安装是否成功:

#svnserve --version 回车显示版本说明安装成功

[root@svn ~]# netstat –nat 查看默认TCP 3690端口是否监听

2,创建svn版本库

[root@svn /]# mkdir -p /data/svndata

[root@svn /]# svnadmin create /data/svndata/winne winne为版本库名称

3,svnserve配置文件概述

svnserveconf -- svn服务配置文件,该文件版本库目录的conf目录下。

passwd -- 用户名口令文件,该文件名在文件svnserveconf中指定,缺省为同目录下的。

authz -- 权限配置文件,该文件名也在文件svnserveconf中指定,缺省为同目录下的。

conf/svnserveconf 文件

配置项分为以下5项:

anon-access 控制非鉴权用户访问版本库的权限。

auth-access 控制鉴权用户访问版本库的权限。

password-db 指定用户名口令文件名。

authz-db 指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。

realm 指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的

认证域相同,建议使用相同的用户名口令数据文件

注:14版本anon-access = read 参数的bug

anon-access = read时

客户端Checkout(提取)的时候会有Not authorized to open root of edit operation"错误,改为none参数正常,

conf /Passwd 文件

user1 = user1

user2 = user2

conf /authz 文件

[groups] 设置组

admin = user1

[/] 根目录权限设置(就是“svndata”这个文件夹)

user1 = rw 用户1权限是:可读写

user2 = r 用户2权限是:可读,不可写

@admin = rw 设置组权限

[svndata:/winne] 设置根目录下“winne”文件夹的权限

user1 = rw

user2 = r

…以此类推

4,启动和停止SVN服务

启动SVN服务:

[root@svn ~]# svnserve -d -r /data/svndata/

-d表示后台运行

-r 指定根目录是 /data/svndata/

停止SVN服务:

ps -aux |grep svn

kill -9 进程杀掉

客户端使用

Windows客户端TortoiseSVN的使用

1, TortoiseSVN 客户端的安装

测试选择的是TortoiseSVN 165客户端 付中文汉化包

2,客户端的文件更新至服务器(user1操作)

新建一个空目录,右键Checkout (提取)

svn://19216810326/winne

输入passwd文件中的授权用户帐号就可以了

在目录中加入一些文件测试 然后在空白地方右键点TortoiseSVN-> ADD 添加列表到服务器端此时并没有真正拷贝到服务器上,需再在Commit(提交)操作才会拷贝

在版本库浏览器中就可以看到刚才提交的文件了,此时提交的版本为1

3,客户端在服务器上拉读取数据(user2操作)

User2 在机器上新建一个空目录user2 , 右键Checkout (提取)

填入地址: svn://19216810326/winne 输出至G:\user2 确定

增加一个newtxt的文件,然后Commit (提交)之后提示权限出错,user2没有写的权限,换成user1 的身份才可以提交成功

Linux客户端的使用

客户端操作流程一般是:

用户A: checkout (提取) -> add (添加新文件) -> commit (提交)

用户B: SVN log(查看更新) -> update(更新版本)

1,SVN的安装

yun –y install subversion

2,Linux svn的常用命令

()内为命令简写

checkout (co) 提取

commit (ci) 提交

update (up) 更新

list (ls) 列表

3, checkout (co) 提取 svn服务器上的文件

(user1)操作流程

[root@TEST ~]# svn co svn://19216810326/winne

Authentication realm: <svn://19216810326:3690> My First Repository

Password for 'root':

Authentication realm: <svn://19216810326:3690> My First Repository

Username: user1 /输入用户名

Password for 'user1': /输入密码

A winne/Cosmic Ride - BeFourlrc

A winne/20070716171657126pdf

A winne/svnbookpdf

revision 1 / checkout (co) 提取成功,看到Checked out版本为1

注:可以使用带用户名和密码的访问:

svn co --username user1 --password user1 svn://19216810326/winne

[root@TEST ~]# ll

drwxr-xr-x 3 root root 4096 Sep 23 09:02 winne /winne目录是SVN自动生成的

drwxr-xr-x 2 root root 4096 Jul 30 02:06 tasks

[root@TEST ~]# cd winne

[root@TEST winne]# ll

total 2868

-rw-r--r-- 1 root root 1566968 Sep 23 08:53 20070716171657126pdf

-rw-r--r-- 1 root root 2397 Sep 23 08:53 Cosmic Ride - BeFourlrc

-rw-r--r-- 1 root root 1354300 Sep 23 08:53 svnbookpdf

4,user1修改文件并提交

[root@TEST winne]# vi testsvntxt

[root@TEST winne]# svn add testsvntxt /将testsvntxt添加到库中

A testsvntxt

[root@TEST winne]# svn commit -m "test" testsvntxt /注释为test

Adding testsvntxt

Transmitting file data

Committed revision 2 /版本更新为2了

5,user2回window客户端更新版本

回到Windows的客户端看日志, 版本已经更新为2了,注释test,客户端update就可以更新到新的版本了

6, Windows客户端的版本回滚

选中菜单中的update to verisiom ,选择版本1即可

7,Linux版本回滚操作:

[root@TEST winne]# svn up -r 1

原文:https://wwwcnblogscom/LiuYanYGZ/p/11029552html

1首先将svn的所指定的目录checkout到本地目录下:

使用svn co +服务器的地址(path),输入服务器的密码即可,此时会自动在本地目录下同步服务器你所指定的目录及里面所有的文件(其中co 即是 checkout的简写)

例如:svn co http://svnxxxcom/path

此时在本地目录下就会出现名为path的文件夹

2往版本库中添加新的文件(夹)

将所要上传的文件(夹)复制到svn服务器的指定文件结构目录下,跳转到该目录下然后执行:

svn add +文件名

如,svn add mappy

svn ci -m “ xx”  mappy  (“”号内加的是文件夹的注释)  或

svn commit -m 'xx' mappy

3上传完成之后,在svn服务器刷新即可看到上传的文件(夹)

在windows上搭建SVN很简单,但是效能却不高,这当然是和linux相比了然而在linux上搭建SVN却非常繁琐,这篇文章就来一步一步教您如何在Centos上搭建SVN

源码目录:/home/user/project

工程名:project

工程目录:/source/svn/project

访问地址:svn://ip/project

一、 安装svn

yum install subversion

二、 svn服务器配置

1 创建svn根目录

mkdir /source/svn

2 添加工程

svnadmin create /source/svn/project

3 导入工程初始文件(可省)

svn import /home/user/project/ file:///source/svn/project -m "init project"

4 配置工程用户

进入工程的配置目录:

cd /source/svn/project/conf

下面一共三个文件:authz passwd svnserveconf

passwd: 里面保存用户信息,基本格式为:user = passwd

authz: 里面保存用户的分组信息,以及每个组的访问权限

svnserveconf: 里面保存服务器的基本配置(下面介绍)

针对该例子的配置如下:

41 passwd里面添加用户

[users]

pm = pm123

42 authz配置用户权限

复制代码

[grouPS]

#添加一个分组(实际当中可以添加多个,每个组可以有多个用户以,隔开)

pm_g = pm

# 该项目的权限配置

[project:/]

# pm_g分组配置读写权限(实际中可以增加只读分组)

@pm_g = rw

43 svnserveconf配置(可默认)

# 匿名用户权限(none:拒绝, write:读写, read:只读权限)

anon-access = none

# 鉴权用户访问

auth-access = write

# 用户信息配置文件(也可以是绝对路径)

password-db = passwd

# 权限配置文件

authz-db = /source/svn/project/conf/authz

三、 启动svn服务器

svnserve -d -r /source/svn

四、 拉取代码

svn co svn://ip/project

SVN软件本身是开源免费的,但有些公司集成了一些方便管理控制用的功能进去,这些公司制作的安装包有的就是收费的了

一般来说,我推荐使用collabnet公司的svn服务器安装包,目前最新的是Collabnet Subversion Edge 211版,内部集成了Aapche、ViewVC,还带了一个控制台,可以通过网页形式增加版本库、添加用户、配置权限、备份管理,一个安装包装完就能用,安装配置过程几乎傻瓜化了,非常省心,而且也是免费的,可以到他们官网下载。

SVN是程序员常用的一款软件,它可以很好的帮助程序员进行版本控制以及代码管理,通常的SVN服务器是搭建在Linux等系统下进行的。但是今天小编分享一种在win7操作系统使用Subversion搭建SVN服务器的方法,而且设置方法也比较简单,感兴趣或有需要的用户可以一起参考下面教程进行设置体验。

具体方法如下:

1、首先来下载和搭建SVN服务器,进入网址后;

2、点开上面红色框标记的VisualSVN连接,下载VisualSVNserver,下载完成后双击安装;

3、点击Next下一步;

4、然后再点击Next项,下一步;

5、选择“标准版本”,点击Next如下;

6、选择安装路径,服务器端文件存放位置,默认端口号(Location是指VisualSVNServer的安装目录,Repositorys是指定你的版本库目录ServerPort指定一个端口,Usesecureconnection勾山表示使用安全连接),点击Next,进入下一步;

7、准备安装,点击Install,进入下一步;

8、等待安装;

9、完成后,点击next,进入下一步;

10、点击Finish即可完成安装。安装完成后,启动VisualSVNServerManage;

11、可以在窗口的右边看到版本库的一些信息,比如状态,日志,用户认证,版本库等要建立版本库,需要右键单击左边窗口的Repositores;

12、在弹出的右键菜单中选择CreateNewRepository或者新建-Repository;

13、键入对象库名称后,进入下一步;

14、选择”空的对象库“,进入下一步;

15、设置对象库的权限,点击create;

16、点击Finish即可完成基本创建。

上述就是win7系统使用Subversion搭建SVN服务器的方法,有需要的用户可以掌握。

1windows下的命令行svn客户端

http://somebody-hjhiteyecom/blog/1415992

我们知道,在linux下面的svn客户端采用命令的方式管理与服务器端svn交互。有些朋友想在windows下也具有相同的功能,而不是TortoiseSVN的GUI管理方式。这样可以使用我们熟悉的svn命令。

在不用安装TortoiseSVN客户端的情况,大家可以再http://subversionapacheorg/packageshtml#windows 找到windows下的svn客户端工具。选择Win32Svn 进行安装。

安装好后,bin目录下就是相应程序了。通过添加环境变量的方式,把bin目录添加到path。启动cmd,敲入 svn help 以确认是否安装成功。

好了,可以找到你的代码,做checkout了。在commit代码的过程中,经常会出现的一个问题是:svn: None of the environment variables SVN_EDITOR, VISUAL or EDITOR is set, and no 'editor-cmd' run-time configuration option was found

这表示你的系统,没有指定svn客户端通过什么样的文本编辑器来写提交的注释。我们添加环境变量,SVN_EDITOR的值为notepad。再次svn ci 代码。notepad弹出了,写完注释保存。代码提交!

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

2使用SVN命令行工具,svn下载,windows命令行下svn

http://hibaiducom/cpuramdisk/item/6e8e0fc29f7dbe2f46d5c038

从http://subversiontigrisorg获取subversion for windows的版本,安装之后就有了svnexe这个基于命令行的客户端工具。当然服务器端的程序也有了,这里就不关心如何配置SVN服务了。安装程序把svnexe的路径加入了path环境变量,我们已经可以在命令行中直接输入svn就可以使用了。

如果你不知道命令怎么用svn命令,可通过如下方式查询:

svn help

知道了子命令,但是不知道子命令的用法,还可以查询:

svn help ci

开发人员常用命令

导入项目

svn import http://svnchinasvncom:82/pthread --message "Start project"

导出项目

svn checkout http://svnchinasvncom:82/pthread

采用 export 的方式来导出一份“干净”的项目

svn export http://svnchinasvncom:82/pthread pthread

为失败的事务清场

svn cleanup

在本地进行代码修改,检查修改状态

svn status -v

svn diff

更新(update)服务器数据到本地

svn update directory

svn update file

增加(add)本地数据到服务器

svn add filec

svn add dir

对文件进行改名和删除

svn mv bc bbc

svn rm dc

提交(commit)本地文档到服务器

svn commit

svn ci

svn ci -m "commit"

查看日志

svn log directory

svn log file

相关的一些东西:

1、在本地文件中,每个目录下都有一个svn文件夹(属性为隐藏),保存了相关的信息。

2、注册环境变量SVN_EDITOR为"E:\Program Files\Vim\vim71\gvimexe",结果在svn ci的时候,出现错误:

'E:\Program' 不是内部或外部命令,也不是可运行的程序

或批处理文件。

svn: 提交失败(细节如下):

svn: system('E:\Program Files\Vim\vim71\gvimexe svn-committmp') 返回 1

把SVN_EDITOR改为"gvimexe",并且在path中添加路径"E:\Program Files\Vim\vim71",这样就可以在提交的时候用vim编写注释了。

附:

提供免费SVN服务的网站:

http://wwwsvnhostcn/(推荐)

http://wwwchinasvncom

http://wwwjavaforgecom

http://unfuddlecom

http://svncoollittlethingscom/indexphp(针对开源免费,针对私人项目收费)

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

3http://spaceitpubnet/14466241/viewspace-713138

Windows下SVN命令行工具使用详解(附加TortoiseSVN)

上一篇 / 下一篇 2011-12-12 09:32:22 / 置顶(3) / 个人分类:网络文摘

查看( 4610 ) / 评论( 1 ) / 评分( 5 / 0 )

根据我的记忆,似乎Windows 7下自自带一个svn命令行工具。如果你的机器没有,不必担心。你可以从http://subversiontigrisorg获 取subversion for windows的版本,安装之后就有了svnexe这个基于命令行的客户端工具。安装程序把svnexe的路径加入了path环境变量,我们已经可以在命令行中直接输入svn就可以使用了。

如今,好用的开源工程遍布世界各地。许多这样的工具都提供了相应的工程源码的SNV下载地址,所以,这个工具你几乎是非了解不可的。以下列出svn使用使用的典型举例。

一、关于命令行工具SVN

如果你不知道命令怎么用svn命令,可通过如下方式查询:

svn help

知道了子命令,但是不知道子命令的用法,还可以查询:

svn help ci

常用命令格式与举例

导入项目

svn import http://svnchinasvncom:82/pthread --message "Start project"

导出项目

svn checkout http://svnchinasvncom:82/pthread

采用 export 的方式来导出一份“干净”的项目

svn export http://svnchinasvncom:82/pthread pthread

为失败的事务清场

svn cleanup

在本地进行代码修改,检查修改状态

svn status -v

svn diff

更新(update)服务器数据到本地

svn update directory

svn update file

增加(add)本地数据到服务器

svn add filec

svn add dir

对文件进行改名和删除

svn mv bc bbc

svn rm dc

提交(commit)本地文档到服务器

svn commit

svn ci

svn ci -m "commit"

查看日志

svn log directory

svn log file

二、关于可视化SVN工具TortoiseSVN

到http://tortoisesvnnet/downloadshtml处下载可视化SVN工具TortoiseSVN。这个工具非常好用,是一个WINDOWS下可视化工具,特别是支持断点续传。

因此,如果下载小型的SVN内容,使用上面的WINDOWS自带的命令行工具SVNEXE足够了。但是,当下载大家伙时,常常下载到中间便失去与服务器的联系。如果再重新下载,非常可怜,而且往往还是不行。我在下载LIBGDX这个游戏引擎的源码工具时便是遇到这样的情况。因此才搜索到这个工具。

下载安装后,这个工具是以WINDOWS资源管理器插件的形式存在的,非常人性化。你只要右键点击一个你想存储下载内容的文件夹,选择“SVN Checkout”选择,然后弹出一个对话框。此后,你输入你的SVN资源地址,便OK了。而且,这个工具下载速度非常快

备注:在这个页面http://bbsmountbladecomcn/viewthreadphptid=168300

有几个截图,参考一下吧。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 如何在windows上安装部署设置SVN服务器

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情