linuxsvn配置文件linuxsvn配置
svn5800vt配置?
一,intel版本,带显示器,键盘鼠标
cpu+主板:i59400f+华硕b365m-plusgamings(京东1729元)
显卡:铭_rx5808g(京东939元)
SSD:西部数据sn550512g(京东599元)
内存:威刚ddr42666x2(京东2292=458元)
散热:乔思伯CR-1000(京东88元,4热管带灯)
机箱:银欣PS15B(京东219元,双U3)
电源:长城500w(京东249元)
显示器:戴尔u2417h(京东1299元)
机械键盘:ikbcc87(京东288元)
鼠标:罗技g102(京东109元)
全京东总价:5977元
二,AMD版本,带显示器,键鼠
cpu+主板套装:微星破击炮b450mMortarmax+3600(京东1749元)
显卡:铭_rx5808g(京东939元)
SSD:西部数据sn550512g(京东599元)
内存:十铨ddr43200x2(京东519元)
散热:原装散热
机箱:银欣PS15B(京东219元,双U3)
电源:长城500w(京东249元)
显示器:戴尔u2417h(京东1299元)
机械键盘:ikbcc87(京东288元)
鼠标:罗技g102(京东109元)
全京东总价:5970
其中cpu+主板,ssd如果走淘宝,可以控制总价在5800以内。
若办公需求:显示器推荐u2417h
若游戏需求:显示器推荐AOC144hz238寸24G2,(京东价1169元)
如何在eclipse中配置svn插件?
在Eclipse下安装SVN插件步骤:
1、打开Eclipse,点击菜单Help—>InstallNewSoftware
2、进入安装窗体后,点击安装窗体的Add按钮,然后在弹出的窗体中输入插件安装地址http://subclipsetigrisorg/update_18x
3、等待Eclipse读出安装内容后,勾选需要安装的内容,这里Subclipse是必须安装内容,SVNKit为可选内容(建议全部勾选)
4、点击安装窗体下方的Next按钮,进入下一页后继续点击Next,然后需要手动同意安装许可
5、安装过程中可能会出现安全警告,直接点击OK继续安装即可
6、安装完成后Eclipse会提示是否重启软件,点击Yes重启Eclipse就完成SVN插件的安装了
30怎么安装和使用svn?
SVN,即subversion,是一个开源的版本控制系统,版本控制器。是CVS的派生版。
它是一个C/S模式的软件,既有SVN服务器,也有SVN客户端。利用它可以将数据更新到最新版本,也可以找回历史版本,可以检查文件的修改历史。
1SVN的基本功能
根据文件修改的次数,自动增加版本库的版本号(库中所有的文件共用一个版本号),以便找回历史文件。
防止团队开发时,多人同时修改同一文件导致文件被覆盖或删除。
2软件的安装
服务器的安装(建议先安装服务器)
Setup-Subversion-1617msi
客户端的安装
TortoiseSVN-161621511-win32-svn-1617msi
装完客户端后,需要重启电脑。
安装完毕以后,在桌面右击鼠标,如果出现两个SVN相关的选项,说明SVN安装成功
3服务器的搭建
a创建一个空文件夹,作为SVN服务器的目录例如E:server文件夹的名字可以随便取
b进入该文件夹,右键,选择TortoiseSVN菜单,单击里面的Createrepositoryhere(创建版本库)。系统就会自动在该目录中生成一些文件和文件夹
c修改conf文件夹中的passwd配置文件,添加代码yangjun=123456即添加用户和设置密码
d修改conf文件夹中的svnserveconf主配置文件,去掉#password-db=passwd所在行的注释。(目的是让passwd配置文件生效)
这样,SVN服务器就搭建好了。
4服务器的启动
打开Windows的命令行,执行命令svnserveexe-d-rE:server
之后,SVN服务器的目录(版本库)E:server就可以被SVN客户端访问了。需要注意的是,命令行界面(DOS界面)不能关闭,否则服务就停止了。
5客户端的使用
a新建一个空文件夹作为SVN客户端的目录。例如F:user1
b进入该文件夹,右键,选择TortoiseSVN菜单,单击里面的Repo-browser(浏览版本库),会弹出URL的输入框,输入svn://127001或svn://localhost(前面的表示访问服务器的协议,后面的表示服务器所在主机的ip)。
c右键,选择SVNCheckout(检出),连接服务器(第一次连接服务器的时候,需要检出,以后就不需要了)。
以后,就把SVN客户端的目录F:user1作为自己项目文件的目录,通过SVN服务器进行文件的上传、修改、下载和删除等操作。
6SVN客户端的目录中的文件的图标及含义
问号表示该文件是刚引入的新文件,还未被SVN版本库识别
加号表示该文件已经添加至服务器的观察名单,但还未上传至服务器
对号表示该文件的版本和服务器中的版本是一样的
感叹号表示该文件的内容和服务器中的文件内容不一样,也就是从版本库同步之后,该文件又作了修改,但还未上传至服务器
锁表示该文件已被锁定
客户端目录中新添加的文件,由于还未被服务器识别,所以是以问号标识的。
选择问号标识的文件,右键,选择TortoiseSVN菜单,单击里面的Add选项,添加至服务器的观察名单。这时,问号就变成了加号。
选择加号标识的文件,右键,选择SVNCommit(提交),执行上传。会弹出一个对话框,输入用户名和密码即可。这时,加号就变成了对号。
把对号标识的文件内容进行更改后,对号就变成了感叹号。
选择感叹号标识的文件,右键,选择SVNCommit(提交),执行上传。之后,感叹号就变成了对号。
选择对号标识的文件,右键,选择TortoiseSVN菜单,单击里面的Getlock(锁定)。之后,对号就变成了锁。
选择锁标识的文件,右键,选择TortoiseSVN菜单,单击里面的Releaselock(解锁)。之后,锁就变成了对号。
7远程用户下载SVN服务器中的文件的步骤
这里在F盘新建一个空目录F:user2进行模拟。
进入该文件夹,右键,选择SVNCheckout(检出),连接服务器,输入正确的URL。就会自动把版本库中的所有文件下载到当前目录。
以后,如果版本库中的文件有改动,右键,选择SVNUpdate(更新),就可以和版本库中的文件同步。即当前客户端目录中的文件和版本库中的一致。
可以理解为用户第一次下载用SVNCheckout(检出),以后下载就用SVNUpdate(更新)。
8文件的删除
进入客户端目录F:user1,直接删除你想要删除的文件(这时,只是客户端的文件被删除)。
要想把服务器中的对应文件也删除,可以右键,选择SVNCommit(提交),弹出一个对话框,勾选刚才删除的文件,点击确定。之后服务器中的对应文件也被删除了。
服务器上的某个文件被删除后,当其他客户端的用户,执行SVNUpdate(更新)时,就会和服务器中的文件同步。(对应的文件也会被删除)
9历史版本的找回
如果误删除了服务器上的某个文件,想要找回该文件,可以恢复到历史版本。
在客户端目录F:user1中,右键,选择TortoiseSVN菜单,再单击Updatetorevision,弹出一个对话框,选择revision,输入你想恢复到的版本号(一般是上一个版本号),确定。
10历史版本间的差异对比
如果某一个文件被多个人依次更新修改过,之后,大家也都同步了服务器的版本库。发现,某一个文件被别人更新过,可以通过以下方法查看差异。
选择被更新的文件,右键,选择TortoiseSVN菜单,再单击Diffwithpreviousversion,会对比显示出该文件的历史版本和当前版本的差异。
左边的是历史版本,右边的是当前版本。
11冲突的解决
冲突指定的是,当多个人同时对同一个文件进行修改后,某一个用户(user1)先进行了提交(更新了服务器的版本库),其他用户(user2)后进行的提交,此时,就会出现文件过时而无法提交的现象(因为user2修改的文件版本不是最新版本,所以会提示文件过时,导致无法提交)。
冲突的产生是SVN版本控制器的一个保护措施,可以有效防止客户端中低版本的文件覆盖服务器中高版本的文件。
如何解决冲突?
选择出现冲突的文件,右键,选择TortoiseSVN菜单,再单击Editconflicts,会对比显示出该文件的服务器版本和自身版本的差异。
左边的是服务器的版本,右边的是自身版本。
冲突的解决,是靠人为手动来解决的,一般是冲突相关的多个用户之间商量后,决定以某个文件版本为主。比如,经过大家商量后,决定以服务器中的版本为主。接下来,就应该这样操作:在左边区域(服务器的版本),右键,选择usethiswholefile或者在产生冲突的行,右键,选择usethistextblock来各取所长,依次处理完所有有冲突的行,之后,点击保存,关闭窗口。
然后,选择出现冲突的文件,右键,选择TortoiseSVN菜单,再单击Resolved(已解决)。告诉SVN冲突经大家商量后,已经解决。
这时,该文件就可以正常提交了。选择它,右键,选择SVNCommit(提交),上传至服务器。最后可以看到文件的标识变为对号。
12将SVN服务器安装至系统服务
前面我们说过,SVN客户端操作的过程中,开启SVN服务的命令行窗口不可以关闭,否则,SVN服务也会终止,导致客户端无法连接服务器。
这里,我们可以把SVN服务添加到系统的自启动服务当中。操作方法如下:
重新打开cmd命令行,在命令行中执行以下命令
sccreatesvnservebinpath="D:ProgramFilesSubversionbinsvnserveexe--service--rootE:server"
如果提示“CreateService成功”,则表明创建系统服务成功。此时,添加的服务名为svnserve,状态默认是关闭的,启动方式为手动。
之后,我们就可以利用Windows系统自带的服务管理界面进行管理,比如开启SVN服务,设置为自启动等。而不用通过命令行来控制了。
删除系统服务scdeletesvnserve(如果删除了系统的svnserve服务,我们就又只能通过命令行来开启SVN服务,且不能关闭命令行窗口)
13取消记住的用户名和密码
如果在进行身份验证的时候,我们勾选了记住用户名和密码。那么,当我们需要使用别的用户名进行操作时,便会出现无法更改账号的情况,这时,我们可以取消记住的用户名和密码。下次进行身份验证的时候,我们就可以选择输入其他的用户名和密码。
取消记住用户名和密码的方法:
删除身份验证时保存在系统中的相关文件(auth文件夹)即可。进入C:UsersAdministratorAppDataRoamingSubversion这个目录,删除里面的auth文件夹。
14权限管理
SVN的默认权限设定是匿名用户也可以连接到服务器,访问服务器中的文件,还可以进行下载。也就是说,任何一个人只要知道了SVN服务器所在主机的ip,就可以下载版本库中的所有文件。这种默认的权限设定是不安全的。因此,我们有必要进行SVN服务器的权限管理。
打开SVN服务器的主配置文件E:serverconfsvnserveconf,将这行代码
#anon-access=read
修改成
anon-access=none
保存即可。
之后,匿名用户对服务器就没有读的权限。也就是说,用户在浏览版本库和下载文件时,需要输入用户名和密码。
15权限分配
权限分配指的是,给不同的用户分配不同的权限,比如,需要设定某些用户(管理员)对所有的文件都有读和写的权限,其他用户(普通用户)只有读的权限或者只对服务器目录中的某个文件夹有读和写的权限时,就可以用到权限分配。
这时,我们需要修改服务器配置文件目录(E:serverconf)中的三个配置文件:svnserveconf、passwd和authz。
详细操作方法可自行查阅相关文档·
如何在myeclipse上配置svn插件?
在myeclipse中安装svn图解:
步骤如下:
1找到MyEclipse10在安装目录下的dropins文件夹
2打开dropins文件夹,新建一个svn文件夹
3解压缩下载好的压缩包
4把features和plugins文件夹拷贝到dropins文件夹下的SVN文件夹中
5这样就可以在MyEclipse10中安装好SVN插件了。
客户端需要安装客户端软件,就可以使用了,需要看你安装的什么版本的subversion,安装完毕之后执行svn,看看是否有提示,如果报错找不到命令,那么重启服务器让他加载一次,具体的命令就不细说了,客户端不需要配置,只需要配置服务端即可
通常,很多Linux发行版已经自带了svn软件,安装系统时候选择即可。因此,本文并不讲解如何安装svn相关软件,而是重点总结一下如果使用svnserve服务器来构建自己的代码仓库,并且允许别人远程访问。本文的整个内容参考了svn手册。
一、新建并初始化版本库
1新建代码仓库
# svnadmin create /home/myrepos
这样,我们就在/home目录下新建了版本库myrepos。
2初始化代码仓库
#mkdir -p code/{branches,tags,trunk}
按照svn手册上的建议,我们版本库的布局采用branches/tags/trunk这样的三个目录。然后可以将代码直接拷贝的trunk目录,也可以随后采用svn add的方式添加。
#svn import code file: ///home/myrepos
将我们构造好的版本库布局(以及代码,如果已经拷贝到trunk下的话)提交到版本库。由于这里我们是在本地操作,因此可以直接使用file协议方式提交。格式为:file:// + 版本库绝对的路径
OK,到这里我们已经构建了一个本地版本库,可以再本地使用svn ci的方法得到版本库的副本了。如果前面只是提交了版本库布局,而没有提交代码的话,则可以通过如下命令,提交版本代码:
#svn co file: ///home/myrepos/trunk repos
通常只从主线目录trunk下取出源码,放在了新建的repos目录。然后可以将源码拷贝到repos目录。
执行以下两条命令将代码添加的版本库。
#svn add
#svn ci -m "Committed codes"
首先需要将拷贝的代码加入到当前的副本中,然后将代码提交到版本库。
二、配置并启动svnserve
1 配置svnserve
这一步主要完成远程用户访问版本的权限。
在版本库目录下有个conf目录:home/myrepos/conf,该目录包含三个文件:authz,passwd,svnserveconf。
(1)svnserveconf
此文件重点的设置内容如下:
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
其中,anon-acces s和auth-access分别代表设置匿名用户和授权用户的访问权限。read代表只读,write代表可读可写,还有一个none,代表禁止访问。如果不想让匿名用户访问的话,可以设置anon-access = none。
password-db为保存版本库的用户名和密码,通常为conf目录下的passwd文件。
authz-db指向的文件,主要用于将用户进行分组,并赋予不同的组不同的权限。譬如有多个目录时,设置某个组的用户只可以访问其中的那些目录。
(2)passwd
如前面介绍,这个文件的主要内容如下
[users]
harry = harrysecret
sally = sallyssecret
以上两行就是可以访问版本库的用户名和密码。格式为:user = passwd。
(3)authz
[groups]
# harry_and_sally = harry,sally
# [/foo/bar]
# harry = rw
# =
# [repository:/baz/fuz]
# @harry_and_sally = rw
# = r
以上就是authz文件的格式。先给用户分组,然后分别设置每个组的工作目录以及权限等。
本文的讲解并未用到authz的配置。
2 启动svnserve
#svnserve -d -r /home/
svnserve将以守护进程的方式运行。同时,通过-r选项指定了版本库的目录。这个目录可以是版本库的上级目录(/home),也可以是版本库的目录(/home/myrepos)。具体的区别会在后面讲到。当然,也可以不用-r指定。
三、远程访问svnserve。
假设版本服务器的地址为10111,那么用户可以在远程linux端输入命令:
#svn checkout svn://10111/myrepos myrepos
这样版本库的所有内容都被check出来,存放在当前目录myrepos下。这里相当于使用svn协议,不用搭建http服务器。
如果启动svnserve的时候,-r选项指定的是版本库的目录,譬如/home/myrepos,那么检出版本的时候,执行的命令为:
#svn checkout svn://10111/ myrepos
如果启动svnserve是没有指定-r选项,则要输入版本库的绝对路径:
#svn checkout svn://10111/home/myrepos myrepos
四、容易出现的问题
在访问svnserve时,遇到了不少的问题,大致总结一下:
1 这一步最容易避免,一定要记得启动svnserve。
2 记得要正确的修改配置文件svnserveconf和passwd。
3 保证版本库服务器没有配置限制远程访问svnserve的规则。有时在访问svn服务器的时候,会提示服务器积极拒绝链接。简单起见,可以看看iptables -L INPUT和iptables -L OUTPUT有没有限制访问的规则。
4 要保证输入版本库的URL正确。
后记:
1 版本库的初次导入可以采用多种方式:
(1)直接构建好版本库目录,并将源码拷贝的对应的位置,然后svn import即可;
(2)先用svn checkout取出版本,然后构建目录和源码,执行svn add 并且svn commit即可。
2 导入或者提交文件类型的控制
svn客户端是可以配置忽略哪些些文件,比如说我们不想提交o之类的文件。那么可以通过设置svn:ignore或者global-ignore来进行过滤相关的文件。通常默认的情况就会过滤掉o, so,a等被svn认为是中间生成的文件。我本人使用的客服端不管是WIN的还是Linux的都是这种默认情况。
但是,如果有时基于某种需要,或者是导入一个别人之前维护的工程,里面有些so,a文件必须保留,那么如果在第一次import的时候全部导入呢?曾经问过有些朋友说,svn add或者svn import是可以直接把这种文件导入到版本库的。但是我个人进行测试的时候,确实导入不进去,除非你直接svn add这个文件,然后提交应该就可以了。
如果这样的文件比较多,而且比较分散,那么如何解决呢?看一下svn import和svn add这两个命令的帮助,都有--no-ignore选项。这个选项的功能就是执行相应动作的时候,不忽略任何文件。那么执行以下两条命令:
svn import [source] [repository] --no-ignore
或
svn add [source] --no-ignore
会自动将source目录下所有的内容全部import或者add。
因此,通过--no-ignore选项,可以满足提交一些特殊文件的需求。
3 用一个旧版本的svnadmin创建的版本库,直接拷贝到另外一台svn版本比较高的PC上使用时,发现提示数据库版本不匹配。解决的方法:
(1)导出旧的版本库内容,包含版本信息
具体使用的命令为svnadmin dump, 详细使用方法参考手册。该命令的格式为:
svnadmin dump REPOS_PATH [-r LOWER[:UPPER]] [--incremental]
如果我将版本库完整的信息都倒出来的话,执行如下命令:
# svnadmin dump old_repos > reposdump
默认版本库dump的时候是输出在终端的,通过重定下输出到reposdump文件里面。该文件实际是文本文件。
(2)导入旧版本库的内容
在需要导入的位置,新建一个版本库
# svnadmin create new_repos
然后将reposdump文件导入到新的版本库:
# svnadmin load new_repos < reposdump
该命令成功执行完毕之后,新的版本库中已经包含了old_repos版本库中的所有版本内容。
svnadmin dump和svnadmin load命令都支持导入/导出某个指定revsion或者某个指定范围的所有revision
初步接触服务器,水平有限,不当的地方望指正。
服务器的形式有很多种,比如File Server,Database Server,Mail Server,Web Server,FTP Server,DNS Server,AP Server,Proxy Server,SVN Server。
这次说的是SVN上建立分支的方法。
按照如下步骤可以在SVN上创建branch。
1:首先,将需要创建分支的file/folder下载下来。
0条评论