SVN post-commit趟过的坑

2017-06-23  本文已影响37人  smilemlz

在最近项目中,需要提交到服务器,由于服务器是新的,里面并没有安装SVN之类的,而且项目是两个人开发的,所以我就现在本地开发,等待开发成熟了,是复制上去的,于是噩梦开始了,当我次次调整代码的时候需要及时看到效果,于是每次都需要复制到服务器上,然后刷新观看。。。次数多了,心累了,导致了本地跟服务器上有些文件可能没复制上去,本地调试一点问题没有,服务器总有问题,上去一看,wc,代码不一样啊。算是半路搭建SVN环境。

服务器是window的,用到的SVN有   VisualSVN Server   和 小乌龟 。以前都是在本地装个小乌龟就可以了,服务器端的都是他人搭建好的。

两个软件都是一路向北的安装,除非对服务器上的版本库有调整路径的话。在服务器上同样安装了小乌龟,便于拉下来代码。

这篇文章有详细的安装步骤,没安装过的可以看下。

于是我的问题就接二连三的出现了。

1,SVN检出时,请求地址有效,但找不到请求的类型。

当我两个软件安装好之后,准备欢天喜地的开始上传,先Check out一下,于是出错了,这个时候我用的是从服务器上版本库复制来的URL。

几种可能性导致出现本错误。当我把ip地址换上后突然可以了,注意:仍然用的https,我试过http,还是错误。

于是本问题解决了。

2,post-commit问题

我需要在本地提交到版本库,然后在服务器中指定的WEB地址中在拉下来代码,时间长了感到好麻烦啊,于是想到了用钩子,这样就可以同步了。

在项目的版本库中hooks中添加了post-commit.bat

内部代码是


@echo off

SET REPOS=%1

SET USER=%2

SET SVN="C:\Program Files\VisualSVN Server\bin\svn.exe"

SET DIR="D:\phpStudy\WWW"

(call %SVN% update %DIR% --username xxx --password xxx --non-interactive)


只需要把  SVN  和  DIR  替换成自己服务器上的  VisualSVN Server  中  svn.exe  路径和项目的路径,然后添加管理者的用户名和密码就可以了。

当有代码在本地commit的时候就会调用这个  bat  然后就会同步到指定的项目目录中。

思想很丰满,现实很骨感。

error

当我添加上  bat  后只要commit 都会有这两个错误,当我删除  bat  后就会出现, 于是去百度,最接近的一个是这篇文章,查看任务管理器,找到了  VisualSVN Server  的用户组是 SYSTEM ,并不是Administrator ,果断改掉。

当我再去commit的时候,完美的同步到了固定的路径中,至此全部解决了。

上一篇下一篇

猜你喜欢

热点阅读