- 学 科
- 软件工程
- 应 用
- 软件程序开发
- 外文名
- Subversion
- 优 势
- 速度快、安全性高等
- 中文名
- SVN
- 实 质
- 开放源代码的版本控制系统
-
Eclipse中使用SVN
2014-03-29 20:31:12概述在我们的日常工作中,经常会用到SVN,大多数都是搭配Eclipse/MyEclipse使用。本文主要介绍SVN在Eclipse中的一些最长用的功能,包括SVN插件的下载使用、上传代码到服务器、从服务器下载代码、从服务器更新代码、...推荐阅读
概述
在我们的日常工作中,经常会用到SVN,大多数都是搭配Eclipse/MyEclipse使用。本文主要介绍SVN在Eclipse中的一些最长用的功能,包括SVN插件的下载使用、上传代码到服务器、从服务器下载代码、从服务器更新代码、解决代码冲突。
本文链接:http://blog.csdn.net/v123411739/article/details/22512133
1.在Eclipse里下载Subclipse插件(建议使用方法三)
方法一:从Eclipse Marketplace里面下载
具体操作:打开Eclipse --> Help --> Eclipse Marketplace --> 在Find中输入subclipse搜索 --> 找到subclipse点击install方法二:从Install New Software里下载
具体操作:打开Eclipse --> Help --> Install New Software --> 点击add按钮,输入下载地址:http://subclipse.tigris.org/update_1.10.x,点击OK--> 将Subclipse和SVNKit打勾后,一路next或agree到结束即可(此处由于本人已经安装,因此next是灰色的)方法三:直接下载subclipse的zip文件(建议使用)
具体操作:百度搜索subclipse-site-1.10.x(看自己想安装哪个版本) --> 解压缩后在eclipse目录下找到dropins文件夹,进入dropins文件夹并新建一个文件夹名为svn,将features和plugins文件夹复制到svn目录下-->重启下Eclipse即可2.上传project到SVN服务器
1.在Eclipse中,从Show View里调出SVN资源库视图
2.在SVN资源库窗口的空白位置右键选择新建资源库位置
3.填好服务器的地址
4.资源库导入成功,SVN资源库视图下出现导入的资源库
5.新建project,写好project的初始版本
6.右键Project --> Team --> Share Project
7.选择Repository类型为SVN --> 点击next
8.使用已有资源库位置,或者创建新的资源库位置
9.使用项目名称作为文件夹名 --> 点击Finish --> 输入用户名和密码(此步不一定每个人都有)
10.自由选择是否打开Synchronize视图,建议打开
11.右键project --> Team --> 提交
12.自由选择是否写日志(建议写)
13.点击OK --> 上传到服务器成功,此时刷新对应的资源库,资源库下出现上传的Project
3.从服务器下载project到本地
1.在资源库视图点击资源库左边的小三角形后出现该资源库下的所有Project(如果还没有资源库则参考上面新建一个资源库位,填入资源库地址即可)
2.选择要下载的project右键 --> 检出为
3.自由选择是否更改属性(建议使用默认) --> Finish --> 下载成功
4.从服务器更新代码
1.右键项目Project --> 与资源库同步2.选择打开Synchronize视图3.与本地代码有不同的服务器代码将显示在Synchronize视图下,双击某个代码文件可以查看本地代码和服务器代码的对比,加号的为新增的文件(本地还没有)4.将模式切换到Incoming Mode,这个模式下的代码都是服务器更新的代码,需要下载到本地的,右键要更新的文件 --> Team --> 更新5.如果出现下图这个符号,则代表本地代码和服务器代码有冲突(即:本地代码在未更新到最新版本的情况下,对代码进行了更改;或者在你对a.java写代码的期间,有人往服务器上传了新的a.java代码,使得代码间出现了冲突),有冲突时需要先解决冲突再合并代码
5.冲突情况的解决办法
冲突情况1:服务器代码和自己代码改动的地方相同
这种情况比较复杂,一般只能将自己的代码保存一份到本地,然后直接将服务器代码更新下来,然后在新的代码上修改自己的逻辑。冲突情况2:服务器代码和自己代码改动的地方不同
这种情况比较常见,就是你跟别的开发者都在更改同一个文件,但是由于开发任务是分开的,所以更改的地方是不同的,解决办法如下。1、双击冲突文件进入比较视图2、找到服务器上新增的但本地没有的代码块,选中此代码块,点击右上角的按钮(如下图箭头指向的按钮)将服务器代码复制到本地(其他地方也同此操作),如果点击按钮没用,则关闭比较视图重新打开
下图为成功将服务器代码复制到本地代码,
3.将所有服务器上新增的代码复制到本地文件后,右键冲突文件选择标记为合并即可,此时该文件就会消失在Synchronize视图下,并且该文件的代码已经成功将本地代码和远程代码合并到一起
-
svn
2010-05-23 10:16:001.Subversion是架设一个SVN server 必要的工具,自己必须手动配置Subversion 脚本或者执行命令行命令.最后通过命令行输入访问svn server. 这是没有TortoiseSVN前的时代. 2.TortoiseSVN是Subversion一个客户端访问工具...1.Subversion是架设一个SVN server 必要的工具,自己必须手动配置Subversion 脚本或者执行命令行命令.最后通过命令行输入访问svn server. 这是没有TortoiseSVN前的时代.
2.TortoiseSVN是Subversion一个客户端访问工具,灵活的运用TortoiseSVN 可以最大化的减少配置Subversion 烦琐的命令行 参数输入.
3.安装时Subversion版本要大于等于TortoiseSVN的版本。否则可能会出现导入时提示错误:期望文件系统格式在“1”到“3”之间;发现格式 “4"。
4.执行“diff with previous version”时,如果还没有前一个版本,会报“版本库位置不在版本8中”正常错误。
5./.svn/entries文件中记录了本项目文件在svn中存的位置,所以重装svn服务程序可以不用重新配置应用。
6.http://code.google.com
参考 http://ajava.org/course/manage/13141.html
项目托管步骤:
在www.google.com的更多里找到code,然后点Project Hosting(项目托管),点Project Hosting on Google Code或Eclipse Labs,点Sign in to create a project,登录后,点Sign in to create a project ,按照向导创建你的项目,要注意的是Project name,这一项是将来项目域名的一部分,不要有空格在字母或数字之间,并且它要求只能是小写字母。这样项目就创建好了,点击右上角的【profile】,这时创建的项目显示出来了。
上传前,把不要上传的文件名,或后缀在常规设置的忽略中添加,上传时选择项目文件夹上传。
上传时要认证,和google帐户的密码不同,登录名都是电子邮件地址。
然后,新建一个文件夹,进入文件夹,使用和上传时一样的地址,检出。
7.property/java build path/source/exluded/edit/exlusion patterns/add/ 增加**/.svn,增加**/.svn/** 以解决src下的.svn被编译到bin下的问题。
8.拷贝项目文件项,注意要删除掉其中的.svn文件,.svn文件可能是隐藏的。
9.svn服务器地址更改时,
把工程中的.svn文件夹全删除掉,然后在工程根目录内执行check out, 版本库地址为https://192.168.1.12:7000/svn/xx_android/trunk,检出至目录D:/e_workspace/xxAndroid检出过程会,svn会执行对比操作,不会覆盖。
10.本地的svn D:/SvnRepository,svn地址使用file:///D:/SvnRepository/项目名
启动svn服务:svnserve -d -r D:\svnRepository
创建一个库:新建SvnRepository目录,进入,右键Create resository here。
11.TortoiseSVN是客户端,分为win32,x64版本。Subversion是服务端。
12.在xcode中报:scm error locked,Attempted to lock an already-locked dir 错误时,使命令行用“ svn cleanup /Users/x_workspace/工程目录” 解决
13.如果在同一个Repository内,即Repository未发生变化,只是版本库的内部路径变化了,使用Switch功能,切换到新的路径上。此时如果使用了Relocate功能,会报Relocate can only change the repository part of an URL。
如果Repository更名了,或者Repository被移动到了另一台服务器上,则要使用Relocate功能。
14. SVN简易使用手册
svn resolved <filename or directory that gives trouble>
svn delete 本地filePathNameOrPath
http://blog.csdn.net/kceiw/article/details/2305748
http://www.open.collab.net/scdocs/ddUsingSVN_command-line.html.zh-cn
http://blog.163.com/xue_huashan/blog/static/8044800420111114523154/解决Google Code Settings无法访问的问题http://blog.163.com/xue_huashan/blog/static/8044800420111114523154/
15.提交数据,服务器发送了意外的返回值(405 Method Not Allowed),在响应 “MKACTIVITY” 的请求
使用http://开头的地址,能够正确的从googlecode上update。不过提交得用https://开头的地址。若使用的是TortoiseSVN,在右键中Relocate中修改地址。
执行snv import也可能会出现405,可能因为服务器上已经存在了相同的上传的文件。
16.svn与gif
http://blog.sina.com.cn/s/blog_7c336a8301014gvs.html
gif比svn具有很多优越性,有一种情况,SVN具有的悲观锁的功能,能够实现一个用户在编辑时对文件进行锁定,阻止多人同时编辑 一个文件。这一悲观锁的功能是 Git所不具备的。对于以二进制文件 (Word文档、PPT演示稿) 为主的版本库,为避免多人同时编辑造成合并上的困难,建议使用SVN做版本控制。
17.嵌出指定版本的工程
svn checkout 工程http地址 -r 版本号
如: svn checkout http://.../project1 -r 8321
18. svn diff -r xxxx:xxxx
19.导入
例如:将本地目录myproj导入到版本库的trunk/misc,trunk/misc在导入之前不需要存在,svn import会递归的创建目录。
svn import -m "New import" myproj http://svn.red-bean.com/repos/trunk/misc
这样会把myproj目录下的文件导入到/trunk/misc下,不会创建myproj目录。
并且在导入数据之后,本地的myproj目录并没有纳入版本控制,为了开始工作,要运行svn checkout得到一个干净的目录树工作拷贝。svn import -m "import libs" libs https://xxx.googlecode.com/svn/trunk/xxx/KxxxX/libs
svn import -m "import" controller https://xxx.googlecode.com/svn/trunk/re...../controller/
20.svn ls 列出当前目录下的文件
svn list httpPath
21.
命令行下,提示 "svn: Commit failed (details follow): svn: '/***/xxx.c' is scheduled for addition, but is missing"
用RabbitSVN,图形界面下提示 "/xxx/xxx.c is not a working copy"原因:之前用SVN提交过的文件,被标记为"add"状态,等待被加入到仓库。若此时你把这个文件删除了,SVN提交的时候还是会尝试提交这个文件,虽然它的状态已经是 "missing"了。
解决:在命令行下用 "svn revert xxx.c",在图形界面下,右键--Revert,选中那个文件。这样就告诉SVN把这个文件退回到之前的状态 "unversioned",也就是不对这个文件做任何修改
22.查看某个文件内容
svn cat http://wangwk@192.168.20.249:8080/svn/tianya_wireless/tianya_iphone_client/TianyaQing/Classes/controller/qing/WeiboDetailViewController.m --revision 8927
23.嵌出某版本
svn checkout http://wangwk@192.168.20.249:8080/svn/tianya_wireless/tianya_iphone_client/tianyaClient --revision 9754
24.svn: Commit failed (details follow):
svn: Aborting commit: '/Users/gzty1/x_workspace/TianyaQingV2/TianyaQingV2/skin' remains in conflict解决:svn resolved /Users/gzty1/x_workspace/TianyaQingV2/TianyaQingV2/skin
25:svn: Checksum mismatch for 'skin/day/Config.strings'; expected: '9c27473a8d51d9c539016f48b62ec9a5', actual: '7d9b541562af1efe325d58e4f80125c6'
可能要修改.svn中的entries,或者重新checkout
26.将静态库文件上传到svn
不用Xcode自带svn,用命令行
svn add libaaa.a
svn commit -m "add static lib libaaa.a"27.对比文件修改内容
svn diff -r 12679:12680 MicroForumMainViewController.m
28.创建目录
svn mkdir
若要在工作副本中创建新目录,键入:
svn mkdir PATH
若要在项目存储库中创建新目录,键入:
svn mkdir URL
PATH 或 URL 的最后一部分决定目录名称。在立即提交时在存储库中创建目录,所以还需要一条提交信息
--message (-m) TEXT, --file (-F) FILE, --quiet (-q), --username USER, --password PASS, --no-auth-cache, --non-interactive, --editor-cmd EDITOR, --encoding ENC, --force-log, --config-dir DIR
29.直接操作版本库
svn mkdir https://.../svn/trunk/A 创建A目录
svn copy https://.../svn/trunk/A https://.../svn/trunk/B -m "" 会在B下创建A目录
svn delete https://.../svn/trunk/A -m "" 删除A目录30.
-
centos 搭建 SVN
2020-06-30 16:36:20一,介绍SVN SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是...一,介绍SVN
SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。 ----百度百科
二,安装SV
官网下载: http://subversion.apache.org/packages.html
SVN客户端TortoiseSVN :https://tortoisesvn.net/downloads.html
1,yum install subversion安装
yum install subversion
2,新建一个目录用于存储SVN目录
mkdir /svn
3,新建一个测试仓库
svnadmin create /svn/test/ ll /svn/test/ total 24 drwxr-xr-x. 2 root root 4096 Jul 28 18:12 conf drwxr-sr-x. 6 root root 4096 Jul 28 18:12 db -r--r--r--. 1 root root 2 Jul 28 18:12 format drwxr-xr-x. 2 root root 4096 Jul 28 18:12 hooks drwxr-xr-x. 2 root root 4096 Jul 28 18:12 locks -rw-r--r--. 1 root root 229 Jul 28 18:12 README.txt
以下关于目录的说明:
hooks目录:放置hook脚步文件的目录
locks目录:用来放置subversion的db锁文件和db_logs锁文件的目录,用来追踪存取文件库的客户端
format目录:是一个文本文件,里边只放了一个整数,表示当前文件库配置的版本号
conf目录:是这个仓库配置文件(仓库用户访问账户,权限)
4,配置SVN服务的配置文件svnserver.conf:
[root@localhost conf]# vim svnserve.conf ### This file controls the configuration of the svnserve daemon, if you ### use it to allow access to this repository. (If you only allow ### access through http: and/or file: URLs, then this file is ### irrelevant.) ### Visit http://subversion.tigris.org/ for more information. [general] ### These options control access to the repository for unauthenticated ### and authenticated users. Valid values are "write", "read", ### and "none". The sample settings below are the defaults. anon-access = read ##注意前边不要有空格,要顶齐 auth-access = write ##注意前边不要有空格,要顶齐 ### The password-db option controls the location of the password ### database file. Unless you specify a path starting with a /, ### the file's location is relative to the directory containing ### this configuration file. ### If SASL is enabled (see below), this file will NOT be used. ### Uncomment the line below to use the default password file. password-db = passwd ##注意前边不要有空格,要顶齐 ### The authz-db option controls the location of the authorization ### rules for path-based access control. Unless you specify a path ### starting with a /, the file's location is relative to the the ### directory containing this file. If you don't specify an ### authz-db, no path-based access control is done. ### Uncomment the line below to use the default authorization file. authz-db = authz ### This option specifies the authentication realm of the repository. ### If two repositories have the same authentication realm, they should ### have the same password database, and vice versa. The default realm ### is repository's uuid. realm = This is My First Test Repository ##这个是提示信息 [sasl] ### This option specifies whether you want to use the Cyrus SASL ### library for authentication. Default is false. ### This section will be ignored if svnserve is not built with Cyrus ### SASL support; to check, run 'svnserve --version' and look for a line ### reading 'Cyrus SASL authentication is available.' # use-sasl = true ### These options specify the desired strength of the security layer ### that you want SASL to provide. 0 means no encryption, 1 means ### integrity-checking only, values larger than 1 are correlated ### to the effective key length for encryption (e.g. 128 means 128-bit ### encryption). The values below are the defaults. # min-encryption = 0 # max-encryption = 256
5,配置访问用户及密码
[root@localhost conf]# vim passwd ### This file is an example password file for svnserve. ### Its format is similar to that of svnserve.conf. As shown in the ### example below it contains one section labelled [users]. ### The name and password for each user follow, one account per line. [users] # harry = harryssecret # sally = sallyssecret lqb = lqb123456 test1 = 123456 test2 = 654321
6,配置新用户的授权文件
[root@localhost conf]# vim authz ### This file is an example authorization file for svnserve. ### Its format is identical to that of mod_authz_svn authorization ### files. ### As shown below each section defines authorizations for the path and ### (optional) repository specified by the section name. ### The authorizations follow. An authorization line can refer to: ### - a single user, ### - a group of users defined in a special [groups] section, ### - an alias defined in a special [aliases] section, ### - all authenticated users, using the '$authenticated' token, ### - only anonymous users, using the '$anonymous' token, ### - anyone, using the '*' wildcard. ### ### A match can be inverted by prefixing the rule with '~'. Rules can ### grant read ('r') access, read-write ('rw') access, or no access ### (''). [aliases] # joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average [groups] # harry_and_sally = harry,sally # harry_sally_and_joe = harry,sally,&joe # [/foo/bar] # harry = rw # &joe = r # * = # [repository:/baz/fuz] # @harry_and_sally = rw # * = r admin = lqb,test2 user = test1 [/svn/test/] @admin = rw @user = r
备注:
admin = lqb,test2 创建admin组,组成员为:lqb,test2
user = test1 创建用户组,用户成员:test1
[test:/] 赋予根权限,为了便于管理和权限的控制,可以把权限细化到版本库中相应的目录
@admin = rw admin组有读写的权限
@user = r user组只有读的权限
*= 表示除了上面设置的权限用户组以外,其他所有用户都设置空权限,空权限表示禁止访问本目录,这很重要一定要加上。
备注:版本库的目录格式如下:
[<版本库>:/项目/目录]
@<用户组名> = 权限
<用户名> = 权限
其中[]內容有許多写法:
[/],表示根目录及其一下的路径,根目录是svnserver启动时指定好的,上述实例中我们指定为:/svn/svndata([/]=/svn/svndata).[/]就是表示对全部版本设置的权限
[test:/],表示对版本库test设置权限;
[test:/svnadmin],表示对版本库test中的svnadmin项目设置权限;
[test:/svnadmin/second],表示对版本库test中的svnadmin项目的目录设置权限;
权限的主体可以是用户组,用户或者*,用户组在前面要以@开头,*表示全部用户
权限分为:r ,w, rw和null ,null空表示没有任何权限。
auhtz配置文件中的每个参数,开头不能有空格,对于组要以@开头,用户不需要。
7,启动svn服务
[root@localhost conf]#svnserve -d -r /svn/
注意:更改svnserver.conf时需要重启SVN服务,更改authz,passwd文件时则不需要重启服务
二,通过客户端进行连接:
<一>,Windos客户端连接操作
1,使用windows的客户端来进行连接
2,在Linux使用如下命令行:[root@localhost conf]# svn co svn://192.168.200.200/test A test/工作文档.txt.bak A test/soft Checked out revision 2.
如果失败的话,基本上可以断定authz文件的配置有问题,可以修改下:
admin = lqb,test2 user = test1 [/] @admin = rw @user = r * = ###表示除了上面设置的权限用户组以外,其他所有用户都设置空权限,空权限表示禁止访问本目录
3,check out后会在桌面创建一个文件夹,说明操作成功,接下来向该文件夹放文件,然后右键SVN commit,会看到文件在同步
4,同步完成之后,我们可以在本地查看是否同步到服务器中,右击桌面—>TortoiseSVN→Repo Browser即可查看,也可以先SVN Update更新一下,确保内容是最新的。5,如果要删除文件,直接本地删除然后commit即可。
如果查看历史版本TortoiseSVN,右击文件夹–>TortoiseSVN–>Show log.而且可以查看文档发生了什么变化。
如果版本库地址发生了变化更换的步骤如下:右击文件夹–>TortoiseSVN–>Relocate修改地址确认commit即可
<二>,Linux客户端同步过程:
把linux做为SVN客户端,所以你操作的并不一定是SVN的服务器那台,以后如果说我要定时自动发布代码等等,这时候就要用到脚本了,所以接下来的也是很重要的首先安装SVN,步骤同上,在此就不在赘述。
1,同步文件,check out: svn co svn://192.168.1.202/sadoc /data/svndata/ --username=我的用户名 --password=我的密码
[root@localhost conf]# svn co svn://192.168.200.200/test /svn --username=lqb --password=lqb123456 A /svn/svn.txt.bak A /svn/工作文档.txt.bak.bak A /svn/svn-test.txt A /svn/svn.txt A /svn/工作文档.txt.bak A /svn/ROOT.war A /svn/soft A /svn/soft/ROOT.war Checked out revision 16.
注意! 你的密码,对于认证域: svn://23.110.85.249:3690 68cfb7eb-c123-4643-8825-8a067020e3f4只能明文保存在磁盘上!
如果可能的话,请考虑配置你的系统,让 Subversion可以保存加密后的密码。请参阅文档以获得详细信息。
你可以通过在“/root/.subversion/servers”中设置选项“store-plaintext-passwords”为“yes”或“no”,来避免再次出现此警告。
2,版本库内容更新
[root@localhost conf]# svn update svn://192.168.200.200/test /svn --username=lqb --password=lqb123456 Skipped 'svn://192.168.200.200/test' At revision 16. Summary of conflicts: Skipped paths: 1 [root@localhost conf]#
3,查看svn中的数据
[root@localhost conf]# svn ls svn://192.168.200.200/test/ --username=lqb --password=lqb123456 ROOT.war soft/ svn-test.txt svn.txt svn.txt.bak 工作文档.txt.bak 工作文档.txt.bak.bak [root@localhost conf]#
4,本地数据commit数据到SVN中
[root@localhost svn]# vim 123.log "123.log" [New] 3L, 32C written [root@localhost svn]# svn add 123.log A 123.log [root@localhost svn]# svn ci -m "commit data" Adding 123.log Sending svn.txt Transmitting file data .. Committed revision 17.
-m [–message] ARG: 指定日志信息ARG 不添加-m参数会报错。
<三>,SVN目录树一般比较规范的SVN它会有三个目录,分别为:
/svn/trunk: 主干
/svn/branch: 个人或团队开发的分支
/svn/tag: 标记版本,比如某个版本开发好了。
现在我要创建三个这样的目录,然后我要导入到版本库中去,这里会用到的是import命令
import:将未纳入版本控制的文件或目录树提交到版本库。要分清楚它和commit的区别,commit指的是把工作副本的修改提交到版本库。[root@localhost svndata]# mkdir -p svn/{trunk,branch,tag} [root@localhost svndata]# svn import /svn/svn svn://192.168.200.200/test --username=lqb --password=lqb123456 -m "import" Adding /svn/svn/trunk Adding /svn/svn/tag Adding /svn/svn/branch Committed revision 18. [root@localhost svndata]#
把主干的东西拷到一个分支
[root@localhost svndata]# svn copy svn://192.168.200.200/test/trunk svn://192.168.200.200/test/branch/branch -m "create a branch" --username=lqb --password=lqb123456 Committed revision 19.
参考:https://www.cnblogs.com/weifeng1463/p/7593729.html
-
svn插件myeclipse+svn插件
2012-04-26 15:46:55svn 插件 myeclipse 插件文件+安装方法在压缩包内 -
Linux如何快速搭建svn服务器
2017-10-22 10:26:35linux安装svn服务器(yum方式) 1.查看yum是否安装 在终端中输入yum即可如果已经安装,会显示yum的参数 如果没有安装,会提示yum未安装或无效命令…… 2.安装svn yum -y install subversion 出现下面截图后...1.查看yum是否安装
在终端中输入yum即可如果已经安装,会显示yum的参数
如果没有安装,会提示yum未安装或无效命令……
2.安装svn
yum -y install subversion
出现下面截图后,表示安装完成。
3.创建目录并配置
建立版本库目录
mkdir -p /data/svn/MyProject(项目名)
配置:
svnadmin create /data/svn/MyProject
执行上面的命令后,自动建立MyProject测试库,查看/data/svn/MyProject 文件夹发现包含了conf, db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立。
4.用户密码passwd配置
[root@localhost password]# cd /data/svn/MyProject/conf [root@admin conf]# vim passwd 修改passwd为以下内容: [users] # harry = harryssecret # sally = sallyssecret hello=123 【用户名=密码】 这样我们就建立了hello用户, 123密码 以上语句都必须顶格写, 左侧不能留空格, 否则会出错.
5.权限控制authz配置
[root@admin conf]# vi authz 目的是设置哪些用户可以访问哪些目录,向authz文件追加以下内容: #设置[/]代表根目录下所有的资源 或者写成[repl:/] [/] hello = rw 此处hello对应上一步设置password的用户名 意思是hello用户对MyProject测试库下所有的目录有读写权限,当然也可以限定。 如果是自己用,就直接是读写吧。 以上语句都必须顶格写, 左侧不能留空格, 否则会出错.
6.服务svnserve.conf配置(是对上面配置的passwd及authz的访问调用)
[root@admin conf]# vim svnserve.conf 追加以下内容: [general] #匿名访问的权限,可以是read,write,none,默认为read anon-access=none #使授权用户有写权限 auth-access=write #密码数据库的路径 password-db=passwd #访问控制文件 authz-db=authz #认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字 realm=/data/svn/repositories【自己创建的项目版本控制库】 以上语句都必须顶格写, 左侧不能留空格, 否则会出错.
7.启动svn服务
查看svn的服务是否启动
ps -ef|grep svn
如果没有启动执行 下面命令即可:
svnserve -d -r /data/svn/MyProject--listen-port=3690
8.开启端口
开启端口方式:vim /etc/sysconfig/iptables 增加3690端口号 service iptables restart 即可生效 又或者直接stop防火墙:service iptables stop /sbin/iptables -I INPUT -p tcp --dport 3690 -j ACCEPT /etc/rc.d/init.d/iptables save /etc/init.d/iptables restart /etc/init.d/iptables status
9.windows通过svn客户端访问
Linux安装subversion已经安装好了svn客户端:svn help 显示svn操作命令参数:
[root@localhost conf]# svn ls svn://192.168.1.102/ BIOS^DOS/ 测试计划/ [root@localhost conf]# svn ls svn://192.168.1.102/ BIOS^DOS/ 测试计划/ [root@localhost conf]# svn://ip地址 端口默认为3690,输入配置好的用户名和密码即可。 如果访问不了,请带上端口号!!! 注意:此处千万不能 svn://ip地址/repo,否则无法访问。
Tips:Linux服务器svn的常用命令:
add 添加文件
mkdir 新建目录
ci 提交svn
需要在当前上传的目录下新建文件或文件夹:echo 3>test.c 或者 mkdir test
再使用svn add 【test.c 或 test】
使用svn ci test.c确认提交时,需要带参数-m“日志消息”或者-F
svn del 删除文件,svn ci提交确认删除 svn lock test.c 编辑svn文件时锁定,防止被篡改; svn unlock test.c 编辑完,再解锁 再提交 svn ci test.c svn update 更新目录 co 检出checkout svn co file:///data/svn/MyProject/ 在你需要检查svn文件的目录下执行,就会把当前MyProject仓库下的所有文件都检出来 status 查看svn状态
ls 输出svntree所有文件
用法同上
-
3分钟学会SVN:SVN快速上手
2018-05-26 11:37:36选择SVN客户端 Windows平台 TortoiseSVN:也叫乌龟SVN,Windows上最流行的SVN客户端,安装后你的右键就会多了几个SVN相关的菜单,非常方便Eclipse插件:在Eclipse中集成SVN插件,适合使用Eclipse开发的用户,查看... -
【问题记录】IDEA的SVN报错:No appropriate protocol
2020-09-02 15:46:372.IDEA中添加svn.exe 3.这样就可以正常连接SVN resp 报错,checkOut时提示No appropriate protocol 原因:如果连接地址是svn协议,则不会出现问题,我的连接地址是https://**** 由于是https协议,所以在配置... -
Linux安装配置SVN服务器
2018-02-03 11:04:431. 安装SVN服务器: 检查是否已安装 # rpm -qa subversion 安装SVN服务器 # yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql 验证安装 # cd /etc/httpd/modules # ls | grep svn mod... -
SVN安装包(含服务端、客户端,分32位和64位) 绿色版
2013-08-14 21:04:47SVN服务端、客户端32位/64位。服务端为visual svn,可视化环境,支持windows系统。客户端分32位和64位,根据需要安装。 -
Visual Studio安装SVN插件
2015-11-09 10:30:33在VS上安装SVN插件后,感觉VS的代码版本控制用起来也这么顺手。 -
svn——svn commit 用法
2019-12-25 16:44:25使用svn进行代码的提交有两种方法:一种是通过TortoiseSVN客户端界面进行提交,另一种是通过svn commit指令提交。 方法一:通过TortoiseSVN客户端界面提交代码 在需要提交代码的目录下右键,点击SVN Commit... ... -
svn 查看打开项目所在的svn地址
2018-08-09 12:00:25进入本地项目 –》右击 –》TortoiseSVN –》Repo-browser,此方式前提是已经能够访问当前svn服务器。 -
svn 查看项目的 svn 服务器地址
2017-04-12 15:10:41找到文件 右键 - 属性 - Subversion 有当前文件的svn 服务器地址 项目最外层 - 右键 - svn - relocate - (http://172...../svn/rxzq_dev ) -
svn 安装目录 没有 svn.exe
2018-11-21 18:09:42在我们为 IDEA 等编辑器配置 svn 时,经常需要配置 svn.exe 文件的目录 C:\Program Files\TortoiseSVN\bin\svn.exe ;但打开 svn.exe 文件的安装目录 C:\Program Files\TortoiseSVN\bin,却发现没有 svn.exe 文件,... -
svn: connection refused by the server svn: OPTIONS request failed on ‘/svn/irrigation/trunk/code
2016-11-03 15:10:30今天在更新svn 的时候爆出这些错误信息: svn: connection refused by the server svn: OPTIONS request failed on '/svn/irrigation/trunk/code/web' svn: connection refused by the server svn: OPTIONS ... -
IDEA 配置SVN ,SVN安装后没有svn.exe
2019-05-19 16:34:01在idea中配置svn,首先要在电脑上安装svn (进入官网下载安装即可); svn官网下载 地址:https://tortoisesvn.net/downloads.html 第二,打开idea,选择file->settings->Version Control -> Subversion ,... -
Mac上完美解决SVN问题及svn软件
2018-06-09 10:18:17svn对Mac的支持不算美好,几乎所有软件都很繁琐,我们作为开发其实是不需要那么多功能的,我所在公司svn知识存放开发文档等等的地方,代码一般放在git上。告诉大家mac上使用svn应该用什么软件1、首先去appstore搜索... -
svn代码提交错误 svn: E200007,svn: E175002
2017-09-13 17:27:45因为公司换了一台svn服务器 所以svn地址发生了变化 得到新的地址之后就在svn资源库里重新定位了一下 查看了一下可以看到和导出svn里的资源就觉得可以了 下午提交代码出现 svn: E200007,svn: E175002 错误 ... -
svn TortoiseSVN 回滚版本
2016-06-14 19:24:10SVN是一个版本管理工具,在工作中经常使用,尤其是多人合作开发的时候,版本管理显得更加重要。需要使用回退的场景往往都比较“紧急”,今天就记录一下在使用SVN的时候怎么回退到指定的版本,方便以后随时查看。 ... -
eclipse svn 切换项目svn地址
2015-09-06 17:23:06如果手动在本地目录下删除.svn文件,不能全部删除,网上有一些需要在dos窗口输入一些指令,太麻烦了,本人总结方法: 项目svn从一个地址换到了另一个地址, 现在需要把项目关联到另一个svn地址上去。 1、右键点击... -
SVN:使用命令行模式访问SVN服务器
2019-07-27 19:59:481.1检出 ①首先进入自己的工作目录,例如:D:\DevWorkSpace\SVNSpace ... svn checkout svn://SVN服务器主机地址/具体仓库目录 保存检出内容的目录 举例 svn checkout svn://localhos... -
SVN客户端——SmartSVN功能详解
2019-05-14 16:54:34SmartSVN 11 for Mac是SVN客户端,SmartSVN可让您及时了解团队成员和项目的SVN活动。SmartSVN相对其他客户端更注意细节的变化,是一款非常使用的SVN客户端软件,支持标签和分支处理,操作非常简单和方便,大多数操作... -
svn upgrade
2018-10-08 14:28:00在我们把我们服务器上的svn 版本号升级以后,我们之前的代码再执行svn命令时,会提示需要执行svn upgrade命令把当前的代码由低版本的svn 上迁移到高版本的svn 上去。 直接执行svn upgrade命令就会把所有的代码按照... -
SVN——SVN项目迁移到GIT
2016-10-16 16:54:51svn有很多优点,但是git的出现对svn的冲击的确很大,现在很多公司项目的都迁移的git上了,下面是我自己在做svn迁移项目到git上面时候整理的一些资料。暂时就些整理这些,具体的操作如果有看不懂的,可以和我联系!... -
SVN—SVN服务器搭建和使用
2016-10-16 16:41:12本系列会总结一些svn和git的安装和使用,以及最后svn的项目如何迁移到git上,整个系列会持续输出。 要学习svn,那么首先开始搭建svn服务器和客户端。 下面要讲的有: svn下载和安装 svn配置文件 svn服务器的使用1... -
svn: E200009
2018-05-11 18:54:26root@mapan-virtual-machine:~/wz_server/game# svn commit -m 'zfb' xczfbmjroom.lua svn: E200009: 提交失败(细节如下): svn: E200009: “/root/wz_server/game/xczfbmjroom.lua” 尚未纳入版本控制 root@mapan-... -
删除svn
2018-07-07 14:56:44在记事本输入以下代码:Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN] @="Delete SVN Folders"[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell...
-
webots仿真案例.rar
-
基于X210的裸机时钟温度显示器-第3/3季
-
SpringBoot 在线协同办公小程序开发 全栈式项目实战
-
【数据分析-随到随学】Mysql数据库
-
深入源码,阿里大佬的SpringSecurity手册惊呆我了
-
Kmeans_demo.zip
-
备战2021软考网络规划设计师顺利通关培训套餐
-
MFC开发简单聊天程序
-
Selenium3分布式与虚拟化
-
thinkphp5.1博客后台实战视频
-
STM32——PS2遥控手柄
-
易语言开发通达信DLL公式接口
-
soul网关案例学习:http代理大致流程
-
axios 封装上传图片与thinkphp6.0后端接收图片
-
纯c实现计算器 支持 +-*/%^
-
线程
-
Codeforces Round #696 (Div. 2) C. Array Destruction
-
商业银行会计学的经典资料.zip
-
凡科前端校招面经(2021.1.19)
-
【2021】UI自动化测试框架(Selenium3)