svn云服务器?如何利用网盘搭建svn网络服务器
大家好,今天小编来为大家解答以下的问题,关于svn云服务器,如何利用网盘搭建svn网络服务器这个很多人还不知道,现在让我们一起来看看吧!
如何搭建svn服务器
以小鸟云为例:
Subversion是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说.
首先来下载和搭建SVN服务器.
现在Subversion已经迁移到apache网站上了
这是二进制文件包的下载地址,你可在左侧的导航栏找到源代码,
windows操作系统下面的二进制文件包一共有5种
请教SVN服务器的问题
小鸟云——为你解答:
第一、更新时提示文件发生冲突:“One ormore files are not a conflicted state。”
解答:多人同时修改同一文件的同一部分,SVN无法自动进行合并,会导致该错误;解决方法:对工作复本中的文件和服务器的文件进行比较,手工合并即可。
解答:原因是输入的访问路径不正确,如svn://192.168.6.200/如果最后少写了“/”,就会出现这种错误提示。
第二、Working copy’**’locked.Please execute the’Clean up’command.
解答:Subversion客户端在提交内容之前会在本地的工作拷贝写日志,防止其他客户端再次作操作,如果这个提交过程中发生错误,就会存在未清理的日志,解决这个问题之需要执行“清理”操作,整理你的计算机上的工作副本,清理错误的日志记录,使您可以继续操作。
3、为什么添加的文件,别人看不到,版本库里也没有?
解答:最可能的原因是,你只是执行了“Add”而没有“Commit”,这样只是在本地注明某个文件是预定要增加的,而没有实际添加到版本库中,要添加到版本库必须执行“Commit”。删除文件也是一样。
4、“Commit failed。……You have toupdate your working copyfirst”提交失败,需要首先执行更新操作。
解答:多人同时修改同一文件,在提交前其他人已经抢先提交到SVN服务器中,导致该错误;解决方法:对工作复本中的文件进行更新即可。
5、 is not a working copy.Can’t open file‘.svn/entries’:系统找不到指定的路径。
6、“Commit failed;File alreadyexists”提交失败,文件**已存在。
解答:版本管理系统在改变你的计算机上的工作副本时,是非常的小心的。在做任何事情之前,它都尽可能把您的意图写到你的计算机上的日志文件中去。但如果偶然地操作中断了(例如:突然停电了,您的计算机死机了),那么日志文件记录就可能同您最后的工作状态不一致。一种建议解决途径:先把要提交的东西拷出来放到其它目录,再更新本地文件,然后把拷出来的文件重新放回去提交。
7、将文件checkout之后,没有出现SVN的图标,是怎么回事?
解答:有些时候在客户端Checkout文件后,SVN的系统图标也会不显示,可以执行一下“Cleanup”,就会出现SVN的系统图标。
8、执行cleanup时,出现错误“Subversion reported an error while doing a cleanup!”'**'is not a working copy directory”
解答:遇到这种情况,先删除隐藏文件夹.svn中的tmp下面的临时文件,再执行cleanup。
9、因为仓库与目录很多,使用TSVN每次选择目录URL ofrepository有很多地址,如何才清除呢?像清除浏览器中的历史那样,用什么方法呢?
解答:右键->TortoiseSVN->Settings->SavedData,就可以清除你想要的东西了,包括URL、log、窗口大小、密码缓存等。
10、在SVN中选中一个目录showlog时,出现了某些版本只显示版本号和(nodate),没有其他信息,什么原因引起的?
解答:出现了(no date)的revision,为其他人修改了你所没有权限访问的某个目录下的文件。
11、Attempted to lock analready-locked dir is not under versioncontrol
I deleted the log file in the.svn directory(I also deleted theoffending file in.svn/props-base)
Then did acleanup.. Then resumed my update.
12、svn: warning:'xxxxx' isalready under version control解决办法?
只添加相应目录到SVN,但不添加目录下的文件:
#svn stuploads|grep ^?|awk"{print/$2}"|xargs svn add-N
原因:很可能是.svn隐藏目录版本信息被修改了
解决办法:
删除uploads目录下的.svn目录及下面的文件(保留uploads目录的.svn)
#finduploads|grep'uploads/[^/.]*/.svn'|xargs rm-rf
或者:find.-name".svn"|xargs rm-Rf
Mac svn命令linux同样适用
1、将文件checkout到本地目录
svn checkoutpath(path是服务器上的目录)
例如:svn checkout svn://192.168.1.1/pro/domain
简写:svn co
2、往版本库中添加新的文件或文件夹
svn add file
例如:svn add test.php(添加test.php)
svn add*.php(添加当前目录下所有的php文件)
3、将改动的文件提交到版本库
svn commit-m“LogMessage“ [-N] [--no-unlock]PATH(如果选择了保持锁,就使用–no-unlock开关)
例如:svn commit-m“add test file for my test“ test.php
简写:svn ci
4、加锁/解锁
svn lock-m“LockMessage“ [--force] PATH
例如:svn lock-m“lock test file“ test.php
svn unlock PATH
5、更新到某个版本
svn update-r mpath
例如:
svn update如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。
svn update-r 200 test.php(将版本库中的文件test.php还原到版本200)
svn updatetest.php(更新,于版本库同步。如果在提交的时候提示过期的话,是因为冲突,需要先update,修改文件,然后清除svnresolved,最后再提交commit)
简写:svn up
6、查看文件或者目录状态
1)svn status path(目录下的文件和子目录的状态,正常状态不显示)
【?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定】
2)svn status-v path(显示文件和子目录状态)
第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人。
注:svn status、svn diff和 svnrevert这三条命令在没有网络的情况下也可以执行的,原因是svn在本地的.svn中保留了本地版本的原始拷贝。
简写:svn st
7、删除文件
svn delete path-m“deletetest fle“
例如:svn delete svn://192.168.1.1/pro/domain/test.php-m“delete testfile”
或者直接svn delete test.php然后再svn ci-m‘delete testfile‘,推荐使用这种
简写:svn(del, remove,rm)
8、查看日志
svn log path
例如:svn log test.php显示这个文件的所有修改记录,及其版本号的变化
9、查看文件详细信息
svn info path
例如:svn info test.php
10、比较差异
svn diff path(将修改的文件与基础版本比较)
例如:svn diff test.php
svn diff-r m:n path(对版本m和版本n比较差异)
例如:svn diff-r 200:201 test.php
简写:svn di
11、将两个版本之间的差异合并到当前文件
svn merge-r m:n path
例如:svn merge-r 200:205test.php(将版本200与205之间的差异合并到当前文件,但是一般都会产生冲突,需要处理一下)
12、SVN帮助
svn help
svn help ci
13、版本库下的文件和目录列表
svn list path
显示path目录下的所有属于版本库的文件和目录
简写:svn ls
14、创建纳入版本控制下的新目录
svn mkdir:创建纳入版本控制下的新目录。
用法: 1、mkdir PATH…
2、mkdir URL…
创建版本控制的目录。
1、每一个以工作副本 PATH指定的目录,都会创建在本地端,并且加入新增
调度,以待下一次的提交。
2、每个以URL指定的目录,都会透过立即提交于仓库中创建。
在这两个情况下,所有的中间目录都必须事先存在。
15、恢复本地修改
svn revert:恢复原始未改变的工作副本文件(恢复大部份的本地修改)。revert:
用法: revert PATH…
注意:本子命令不会存取网络,并且会解除冲突的状况。但是它不会恢复
被删除的目录
16、代码库URL变更
svn switch(sw):更新工作副本至不同的URL。
用法: 1、switch URL [PATH]
2、switch–relocate FROM TO [PATH...]
1、更新你的工作副本,映射到一个新的URL,其行为跟“svn update”很像,也会将
服务器上文件与本地文件合并。这是将工作副本对应到同一仓库中某个分支或者标记的
方法。
2、改写工作副本的URL元数据,以反映单纯的URL上的改变。当仓库的根URL变动
(比如方案名或是主机名称变动),但是工作副本仍旧对映到同一仓库的同一目录时使用
这个命令更新工作副本与仓库的对应关系。
17、解决冲突
svn resolved:移除工作副本的目录或文件的“冲突”状态。
用法: resolved PATH…
如果有问题或需要“服务器”等的问题——(小鸟云)为你解决!
如何利用网盘搭建svn网络服务器
1、安装网盘
选择一个国内有名的网盘存储,例如金山网盘、360云盘等,注册账户会默认赠送几G的使用空间,然后下载其对应的网盘客户端管理软件(也可以使用浏览器方式),使用账号登录,就可以上传、管理文件等。
2、建立SVN Reporsitory
于网盘创建svn reporsitory
,在网盘中创建目录,例如“svn”目录,进入该目录后使用TortoiseSVN工具创建仓库(reporsitory)
3、SVN使用-导出
创建项目目录为”project”,在”project”中点击右键选择SVN Checkout,配置如下图所示信息:仓库http://www.cnblogs.com/gaojun/admin/”svn”及导出目录”project”点击OK完成导出
4、SVN使用-提交
在”project”中添加一个测试文件”textSVN.txt”,然后在”project”目录上右键,使用“SVN Commit”提交测试是否成功,
5、同步SVN数据
在其它电脑上做同样的步骤,网盘账号使用同一个,这样”svn”目录既是一个即时更新的网盘目录,又是一个即时同步的SVN库。这样其实是在两台电脑上做了两个SVN库,但是因为网盘客户端的存在和SVN强大的版本控制功能,这两个SVN库随时都会保持一致。
6、总结
此方法比使用google.code等要快的多,并且google.code经常被我们伟大的“长城”给封阻,个人感觉比较适用一些小项目
关于本次svn云服务器和如何利用网盘搭建svn网络服务器的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。