Svn 命令与问题记录

1、常用命令

svn info : 查看svn信息

svn ci :(svn commit)提交更新

svn co [Path]:(svn check out [Path])将XXX下载到当前目录

svn up :(svn update)更新,同步服务器内容

2、命令使用

这里记录我常用的一些命令,可能会比较搓,如有更好的替代命令或方法,欢迎告知。

1、svn st -q | xargs rm -rf

把一些本地与服务器有不同的文件删掉,然后可以重新up。

当然revert命令会更好,不过习惯这样了。

2、svn up . --username xxx --password xxxx

临时切换账户,--username和--password可以放到很多命令后面进行账户的强制使用

永久切换账户的处理,是rm -rf ~/.subversion/auth/ 。下次操作就可以重新输入账户。

3、svn co --depth immediates http://...

这样可以只下载svn地址所处目录的所有文件,包括文件夹,而不会下载子目录内容。

然后可以选择你要下载的目录,cd进去,执行svn up . --set-depth infinity即可下载该目录及子目录所有内容。

实现svn下载需要用到的文件。

此命令参考--depth ARG选项的使用

3、问题记录

No.1

问题:
       Tortoise SVN Commit,出现以下提示,无法提交成功。

Commit failed (details follow):
svn: E195022: File 'xxxx' is locked in another working copy
svn: E170007: No lock on path 'xxxx'
(Status 423 on PUT Request)
svn: E175002: Server sent unexpected return value (423 Locked) in response to PUT request for 'xxxx'

解决办法:

    在svn处理目录,右键选择“TortoiseSVN” –>“Get Lock”,勾选 “Steal the locks”,等待完成后,再次进行提交即可。

     image

 

No.2

问题: 
       svn up时,出现以下提示,无法将服务器代码更新到本地。

svn: E155017: Checksum mismatch while updating 'xxxxxxfile':
expected: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
actual: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

解决办法:

    文件的标识码本地与远程不一致,最省力的办法是,在文件所在目录执行:

  svn up . --set-depth empty(注意这个命令会将该目录下所有文件删除,可先行备份)

  svn up . --set-depth infinity(重新up下载)

posted @ 2014-12-03 11:44  慕黎笙丶  阅读(1002)  评论(0编辑  收藏  举报