但这必须每个客户端都设置这个,如果有人没有设置,他就仍然能够上传。要想确保这个文件不被上传,就得在SVN服务器端设置钩子文件pre-commit,这个钩子会在commit前自动被执行,可以在这个钩子里写脚本来判断上传的文件是否包括你要忽略的文件,如果有的话就拒绝上传。1、无法复制/移动‘XXXsvn-base‘到’XXXtmp‘:系统找不到指定文件。
这个错误信息通常在你更新工作拷贝时出现,可能的原因有两个:
版本库中有两个文件的名字只是大小写不同,这在Windows下是不允许签出的,因为Windows的文件系统是大小写不敏感的。很可能其中一个文件是误添加的,所以你要找出是哪一个,然后删除它,以确保不会把更改提交到错误的文件。
某个文件的文件名是非法的(对Windows来说非法),比如,“con”,“lpr”,“com”都是非法的,因为这些都是设备名。当然,含有“/?:|”和其它特殊字符在Windows(NTFS和FAT)也是不允许的。
是,我们知道这个错误信息对解决问题没什么实质性的帮助,但这个错误信息是来自Subversion库的,我们改不了。
有几个办法可以避免这个问题,请看这里。
2、无法打开文件’XXXnnn-ntxnchanges‘:无法访问,文件正被其它程序使用。
通常报告这个错误的人都说这个问题是随机发生的,并且通常会在一次大的提交中发生。重新提交可能成功,也可能在别的地方出错。
最有可能的原因是,有一个病毒扫描程序正在非正常地占用这个文件。你可以试着禁用病毒扫描,或者让它忽略你的版本库文件。
类似的错误也可能发生在你的工作拷贝,试试让它忽略svn文件夹。
3、添加‘XXX’失败:同名对象已存在。
这个错误通常是在你更新工作拷贝时发生。之所以抛出这个错误是因为Subversion绝对不会擅自删除或者覆盖你已有的本地文件。有三个可能原因会导致这个错误:
你有一个未纳入版本控制的本地文件,名字跟其他人已添加的文件一样。这种情况下你可以先移走或者重命名你的本地文件再更新。之后你可以决定是需要合并还是把你的文件改个名字。
版本库中的一个文件被重命名了,但只是大小写不一样,如Installtxt改为installtxt,而你在本地作了修改。当你更新时就会遇到第一种情况,你修改过的本地文件被视为未纳入版本控制。将它移到其它地方,再更新,问题解决。
版本库中有两个文件的名字只是大小写不同,这在Windows下是不允许签出的,因为Windows的文件系统是大小写不敏感的。很可能其中一个文件是误添加的,所以你要找出是哪一个,然后删除它,以确保不会把更改提交到错误的文件。
4、OPTIONSof’《path》‘:401AuthorizationRequired《url》
升级到14x版之后,你发现无法访问版本库了,每次都出这个错:OPTIONSof’path‘:401AuthorizationRequired’url‘。
这是因为14x版使用了SSPI自动验证,即TortoiseSVN会自动使用登录Windows域控制器的用户信息来作身份验证。
如果你设置你的服务器以SSPI的方式向域控制器作身份验证,而域控制器又没开放GUEST用户的话,不会有问题。但是如果开放了GUEST用户,自然所有以GUEST用户进行的验证都会通过——但是一般来说你是不会授权GUEST访问你的版本库的。这就造成了验证通过了,但授权不成功。
另一个失败的原因是,你设置用来访问版本库的用户跟你用来登录工作站的用户不一致(那我就奇怪了,如果是这样你根本就不应该以SSPI方式来验证呀)。
有几个方法可以解决此问题:
在域控制器中禁用GUEST用户
将登录工作站的用户和访问版本库的用户设为一样
不用SSPI来做版本库验证
检查用户名的大小写,将控制文件中的用户名改为小写对解决问题也可能有帮助
5、客户端版本太旧,不能 *** 作工作拷贝‘XXX’
完整的错误信息是:客户端版本太旧,不能 *** 作工作拷贝’。‘;请下载更高版本的Subversion客户端。
当先使用一个比较高版本的Subversion客户端,然后又用比较低版本的客户端来执行命令,就会发生这个错误。比如你先用了14x版的客户端 *** 作工作拷贝,然后用13x版的 *** 作同一个工作拷贝。
这是因为Subversion14和15会自动更新工作拷贝的格式,而老版本的客户端不认新的格式。
唯一的解决办法是升级你的客户端,或者用你老版本的客户端重新签出。
6、工作拷贝已过期
这个错误是在提交修改的时候出现的,通常是因为在版本库里,你想要提交的文件已经被其他人修改了。
这时你要先用更新命令更新的的工作拷贝到版本库当前的版本。
你可能会不明白为什么要这么做,尤其是在你确知版本库并没有被修改过的情况下。答案很简单,因为提交的时候,并不会彻底更新你的工作拷贝,而只是那些修改的文件会被自动更新。举个例子,有个新建的版本库:
AddFolderinrevision1
AddFile1andFile2inrevision2
ModifyFile1andcommitinrevision3
现在版本库处于修订版本3,但你的工作拷贝的版本会是这个样子:
Folder:revision1
Folder/File1:revision3
Folder/File2:revision2
这时如果你修改File2然后提交,就会失败。因为客户端告诉版本库File2是在版本2的基础上作修改的,但是版本库已经处于版本3了。如果此时你执行更新命令,就会将File2也变成版本3(当然,你的本地修改还会在的)。
这个错误还可能在你试图创建分支或标记时出现。答案永远都是:如果工作拷贝已经过期,那就更新呗!
7、无法写到标准输出
TortoisePlink使用的是标准的plink代码,但不是针对Windows编译的,因而无法正常发送错误信息。在TSVN的设置-》网络里,将SSH客户端指向标准plink,错误信息就会输出到一个命令行窗口中。设置好之后再像之前一样运行TortoisePlink。
“无法写到标准输出”表示Plink想要抛出一个错误,但是因为TortoisePlink并没有提供一个DOS窗口,所以就没没有标准输出来接收这个错误信息。
知道是设置有问题后,可以先使用普通的plink程序,看到底是什么错误,解决它。
如果普通plink挂住了,那就是参数不对(设置-》网络)。
另一个可能是SSH后台程序找不到svnserve可执行文件。以你将要使用的用户(此处为myuser)登录到服务器,输入“whichsvnserve”,如果没有显示指向可执行文件的路径,就把该文件(以及其它Subversion可执行文件)设为对于该用户可全局访问。
8、400服务器未能理解请求(400BadRequest)
REPORTrequestfailedon’。。。‘REPORTof’。。。‘:400BadRequest(> 一、准备工作
1、SVN服务器:解压缩包,可以从官方网站下载最新版本。
2、SVN客户端:TortoiseSVN,即常说的小乌龟,是一个客户端程序,用来与服务器端通讯。
二、安装服务器和客户端程序
1、SVN服务器:直接解压缩到某个文件夹下即可。示例路径:c:\svn\
备注:如果下载的是msi程序,直接运行按提示安装即可。
2、SVN客户端:直接运行按提示安装即可。示例路径:C:\Program Files\Subversion
三、建立版本库(Repository):示例路径:e:\svnroot。建立版本库有两种方法:
方法一,建立空目录e:\svnroot\repos1,进入repos1文件夹,在空白处点击右键,选择“TortoiseSVN->Create Repositoryhere”,
方法二,建立空目录e:\svnroot\repos2,进入DOS命令行,输入如下命令:
svnadmincreate e:\svnroot\repos2
四、运行SVN服务器,启动服务。启动服务有两种方法:
方法一,临时启动服务,在DOS下输入如下命令:
svnserve -d -r e:\svnroot\repos1--listen-host ip地址 --listen-port=端口号
说明:“listen-host”和“listen-port”可选。默认端口是3690,如果端口已经被占用,可以通过选项listen-port指定端口号。
注意:请不要关闭命令行窗口,关闭窗口会把 svn服务就停止了。
方法二,启动SVN服务为后台运行程序:
sc create svnserve binPath="c:\svn\bin\svnserveexe --service -r e:\svnroot\repos1" displayname= "Subversion"depend=Tcpip start= auto>蓝屏的原因往往集中在不兼容的硬件和驱动程序、有问题的软件、病毒等。解决办法:
A、病毒的原因。使用腾讯电脑管家——病毒查杀。
B、 内存的原因。用橡皮擦把内存条的金手指擦拭一下,把氧化层擦掉,确保内存条安装、运行正常。
C、 机箱不清洁CPU风扇积灰太多不能正常运行,造成CPU温度过高,用毛刷、电吹风将机箱内壁、CPU风扇、显卡风扇、主板上的积灰都清理一遍。
D、也有一种可能就是系统的不稳定,这时需要把电脑重启按F8进入启动菜单项,选择"启动到最后一次正确配置"。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)