当前位置:文档之家› svn 常见报错

svn 常见报错

常见错误提示:1:‟.‟ is not a working copy. Can‟t open file ….svn/entries‟:系统找不到指定的路径。

原因是输入的访问路径不正确,如svn://192.168.6.200/如果最后少写了“/”,就会出现这种错误提示。

2:将文件checkout之后,没有出现SVN的图标,是怎么回事?有些时候在客户端Checkout文件后,SVN的系统图标也会不显示,可以执行一下“Clean up”,就会出现SVN的系统图标。

3:为什么添加的文件,别人看不到,版本库里也没有?最可能的原因是,你只是执行了“Add”而没有“Commit”,这样只是在本地注明某个文件是预定要增加的,而没有实际添加到版本库中,要添加到版本库必须执行“Commit”。

删除文件也是一样。

4 :“Commit failed。

……You have to update your working copy first”提交失败,需要首先执行更新操作。

多人同时修改同一文件,在提交前其他人已经抢先提交到SVN服务器中,导致该错误;解决方法:对工作复本中的文件进行更新即可。

5. 更新时提示文件发生冲突:“One or more files are not a conflicted state。

”多人同时修改同一文件的同一部分,SVN无法自动进行合并,会导致该错误;解决方法:对工作复本中的文件和服务器的文件进行比较,手工合并即可。

6.“Commit failed;File already exists”提交失败,文件**已存在。

版本管理系统在改变你的计算机上的工作副本时,是非常的小心的。

在做任何事情之前,它都尽可能把您的意图写到你的计算机上的日志文件中去。

但如果偶然地操作中断了(例如:突然停电了,您的计算机死机了),那么日志文件记录就可能同您最后的工作状态不一致。

一种建议解决途径:先把要提交的东西拷出来放到其它目录,再更新本地文件,然后把拷出来的文件重新放回去提交。

7:执行clean up时,出现错误“Subversion reported an error while doing a cleanup!” '**' is not a working copy directory ”遇到这种情况,先删除隐藏文件夹.svn中的tmp下面的临时文件,再执行clean up。

8:因为仓库与目录很多,使用TSVN每次选择目录URL of repository有很多地址,如何才清除呢?像清除浏览器中的历史那样,用什么方法呢?右键->TortoiseSVN->Settings->Saved Data,就可以清除你想要的东西了,包括URL、log、窗口大小、密码缓存等。

9:在SVN中选中一个目录show log时,出现了某些版本只显示版本号和(no date),没有其他信息,什么原因引起的?出现了(no date)的revision,为其他人修改了你所没有权限访问的某个目录下的文件。

常见命令:1、将文件checkout到本地目录2、svn checkout path(path是服务器上的目录)例如:svn checkout svn://192.168.1.1/pro/domain简写:svn co3、往版本库中添加新的文件或文件夹svn add file例如:svn add test.PHP(添加test.php)svn add *.php(添加当前目录下所有的php文件)4、将改动的文件提交到版本库svn commit -m“LogMessage“ [-N] [--no-unlock] PATH(如果选择了保持锁,就使用–no-unlock开关)例如:svn commit -m “add test file for my test“ test.php简写:svn ci5、加锁/解锁svn lock -m “LockMessage“ [--force] PATH例如:svn lock -m “lock test file“ test.phpsvn unlock PATH6、更新到某个版本svn update -r m path例如:svn update如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。

svn update -r 200 test.php(将版本库中的文件test.php还原到版本200)svn update test.php(更新,于版本库同步。

如果在提交的时候提示过期的话,是因为冲突,需要先update,修改文件,然后清除svn resolved,最后再提交commit) 简写:svn up7、查看文件或者目录状态1)svn status path(目录下的文件和子目录的状态,正常状态不显示)【?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定】2)svn status -v path(显示文件和子目录状态)第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人。

注:svn status、svn diff和svn revert这三条命令在没有网络的情况下也可以执行的,原因是svn在本地的.svn中保留了本地版本的原始拷贝。

简写:svn st8、删除文件svn delete path -m “delete test fle“例如:svn delete svn://192.168.1.1/pro/domain/test.php -m “delete test file”或者直接svn delete test.php 然后再svn ci -m …delete test file…,推荐使用这种简写:svn (del, remove, rm)9、查看日志svn log path例如:svn log test.php 显示这个文件的所有修改记录,及其版本号的变化10、查看文件详细信息svn info path例如:svn info test.php11、比较差异svn diff path(将修改的文件与基础版本比较)例如:svn diff test.phpsvn diff -r m:n path(对版本m和版本n比较差异)例如:svn diff -r 200:201 test.php简写:svn di12、将两个版本之间的差异合并到当前文件svn merge -r m:n path例如:svn merge -r 200:205 test.php(将版本200与205之间的差异合并到当前文件,但是一般都会产生冲突,需要处理一下)13、 SVN 帮助svn helpsvn help ci14、版本库下的文件和目录列表svn list path显示path目录下的所有属于版本库的文件和目录简写:svn ls15、创建纳入版本控制下的新目录svn mkdir: 创建纳入版本控制下的新目录。

用法: 1、mkdir PATH…2、mkdir URL…创建版本控制的目录。

1、每一个以工作副本PATH 指定的目录,都会创建在本地端,并且加入新增调度,以待下一次的提交。

2、每个以URL指定的目录,都会透过立即提交于仓库中创建。

在这两个情况下,所有的中间目录都必须事先存在。

16、恢复本地修改svn revert: 恢复原始未改变的工作副本文件(恢复大部份的本地修改)。

revert: 用法: revert PATH…注意: 本子命令不会存取网络,并且会解除冲突的状况。

但是它不会恢复被删除的。

常见符号意义:黄色感叹号(有冲突):--这是有冲突了,冲突就是说你对某个文件进行了修改,别人也对这个文件进行了修改,别人抢在你提交之前先提交了,这时你再提交就会被提示发生冲突,而不允许你提交,防止你的提交覆盖了别人的修改。

要解决冲突,如果你确认你的修改是无效的,则用TSVN还原你的修改就行了;如果认为你的修改是正确的,别人的提交是无效的,那么用TSVN先标记为“解决冲突”,然后就可以提交了;如果你认为你的修改和别人的修改都有一部分是有效的,那么你就把别人的修改手动合并到你的修改中,然后使用TSVN标注为“解决冲突”,然后就可以提交了。

米字号(有本地修改代码):--这是说明你有未提交的本地代码。

问好(新加入的资源):--这说明该文件是项目中新增文件资源,新增资源可以是文件、图片、代码等。

红色感叹号(本地代码与库没有保持一致):--这说明本地代码跟库上没有保持一致,如果用户想修复,可以将带红色感叹号图标文件删除,直接update即可灰色向右箭头(本地修改过)--本地代码没有及时上库。

蓝色向左箭头(SVN上修改过)--记得更新代码后修改,提交前跟svn对比习惯。

灰色向右且中间有个加号的箭头(本地比SVN上多出的文件)--修改完记得跟svn保持一致蓝色向左且中间有个加号的箭头(SVN上比本地多出的文件)--删除该文件后,再次更新,将svn上文件全部更新下来。

灰色向右且中间有个减号的箭头(本地删除了,而SVN上未删除的文件)--也就是说你删除确认后,一定要记得上库,跟svn保持一致蓝色向左且中间有个减号的箭头(SVN上删除了,而本地未删除的文件)--比对svn库上代码,确定需要删除后,更新svn(删除无用代码)。

红色双向箭头(SVN上修改过,本地也修改过的文件)--这个表示本地和svn上都修改过,最好就是把本地修改合并到svn,修改代码前最后先更新。

相关主题