xssvn3的简单介绍

hacker|
105

文章目录:

简述svn工具工作模式

1.初始化版本库:

将已有的文件Import到一个版本库rep中。

2.团队成员在本地建立work文件夹,用该文件夹Checkout版本库rep,则团队成员就获得了该项目的一个拷贝。

3 团队成员进行修改操作,完成后commit。

4.www服务器目录下建立相应项目文件夹,该文件夹Checkout版本库rep,保持更新,并且禁止commit

hook中post-commit.tmpl修改为post-commit.bat并修改如下代码:可以让www和SVN直接同步。而不需要执行上面所说的第4步。

REPOS="$1"

REV="$2"

SET SVN=E:/SVNserver/bin/svn.exe

SET DIR=D:/httproot/mySVN

CALL %SVN% update %DIR%

以上是Win下 post-commit 的配置(该配置文件是当向svnserver提交commit请求成功后执行的脚本,通常人们用来向管理员发Email,我用它做测试服务器的同步)。

下面是RHEL ES4的配置,不过估计大部分linux都差不多。

一开始将 post-commit 配置为,

svn update /var/www/html

结果当win本地提交后,linux上的apache下的www没有同步更新,郁闷......

从网上查了一堆资料,最有用的是说svn的hooks在无环境变量的情况下执行(为安全起见),也就是说post-commit下的shell命令要用绝对路径。一看我的配置 /var/www/html 就是绝对路径啊,继续郁闷。

接下来做了个测试,在post-commit中加上如下语句, cp /var/svn/aa.txt /var/www/html

当win向linux的svn提交后发现cp命令成功了。然而/var/www/html下仍然没有与版本库同步,也就是

svn update /var/www/html 仍然没有执行。 太郁闷了....

后来在 svn的mail-list里查到一篇文章说在post-commit中写入下测试代码

exec /tmp/svn-up.out 21

PATH=/usr/local/bin:/usr/bin:/bin

cd /var/www/html || exit 1

ls -ld

id

touch foo rm -f foo # 测试html目录是否对操作svn的用户开放写入权限

svn update

exit 0

执行後到 /tmp/svn-up.out 21中查看错误信息:

偶yeah终于看到错误在哪了,svn提示:

svn :Can`t recode string

然后再查这个问题,搜索的结果是修改字符集环境变量,我locale了一下我的是

LANG=zh_CN.GB18030

LC_CTYPE="zh_CN.GB18030"

LC_NUMERIC="zh_CN.GB18030"

LC_TIME="zh_CN.GB18030"

LC_COLLATE="zh_CN.GB18030"

LC_MONETARY="zh_CN.GB18030"

LC_MESSAGES="zh_CN.GB18030"

LC_PAPER="zh_CN.GB18030"

LC_NAME="zh_CN.GB18030"

LC_ADDRESS="zh_CN.GB18030"

LC_TELEPHONE="zh_CN.GB18030"

LC_MEASUREMENT="zh_CN.GB18030"

LC_IDENTIFICATION="zh_CN.GB18030"

LC_ALL=

于是将post-commit加一句 export LANG="zh_CN.GB2312"最后整个文件改为:

export LANG="zh_CN.GB2312"

/usr/bin/svn update /var/www/html

exit 0

一切OK了,其实就加了一句,告诉svn用什么字符集来编码。

我汗!!!!搞电脑的中国人什么时候才不被字符集纠缠啊!!!

相信Thumbs.db这个文件大家都见过。它是在windows下为了加速图片缩略而生成的文件,在每个有图片的文件夹里都有这东西。

YY你说那么多和SVN有啥关系啊!!

当小组成员在win下commit时会把Thumbs.db也一并提交上去,你到linux下一find Thumbs.db会发现所有img的文件夹里都有Thumbs.db,看着很不顺眼,而且据说这东西可能带毒。。。

这个问题我是那么处理的。

(1)首先在win下搜索工作文件夹里的所有Thumbs.db,删除之。然后commit

(2)然后再lin下find Thumbs.db,嗯没有了。

(3)最关键的一步:要用绝后患,需要在TortoiseSVN中设置

鼠标右键-TortoiseSVN-Settings(设置)-General (常规设置) - 在右侧 "Golbal ignore pattern"(全局忽略样式)内填入Thumbs.db- 确定;

这样Thumbs.db每次都会被忽略也就不会再跑到SVN服务器上了。

这样做需要对每台客户机进行设置,希望找到从服务器端设置的方法。

svn commit 提示missing or not locked

事件描述:

work文件夹下有个文件夹叫images,在工作文件夹下删除images后,执行svn commit ,结果提示:

svn: Working copy '/images' is missing or not locked

上网搜了一下,有说cleanup能解决最后以失败告终。

网上说产生这个问题的原理是:

“一些动态生成文件的文件夹造成的,解决的办法就将此文件夹从SVN资源库中删除,并在工程中把此文件夹加入到svn:ignore属性中,这样,SVN将不会对此文件夹进行控制,而且,我们也不需要对动态生成文件的文件夹进行控制。”

所以解决这个问题的思路大致是:先手动将版本库中出现问题的文件处理成与工作文件夹相同的状态。然后让工作文件夹与版本库同步。之后,执行commit。

具体步骤:(一开始最好在工作文件夹下执行clearup)

1、用Tortoises的Repo-browser打开版本库,删除images。

2、此时执行svn status |grep images 显示

! /images

说明images项目已经丢失(例如,你使用svn移动或者删除了它)。

3、执行svn update /images 单独更新改文件。此时显示:

D /images

说明/images是预定义要删除的项目。

4、最后执行svn commit -m “messages”

svn 中的add 和commit命令有何区别啊,谢谢

svn 中的add 和commit的区别在于:

add会将新增的文件加入到编译器中,而不会将修改的文件添加进去。

commit则会将修改的文件添加到编译器中,同时也会将新增的文件添加进去。

如果是只有新增文件使用add,有新增文件又有修改文件或只有修改文件请使用commit。

扩展资料:

SVN安装

(1)首先,到SVN的官方网站htp:/subversion.tigris.org下载最新版本的SVN服务器安装程序。

(2)运行安装程序,安装过程与普通软件的安装过程基本相同,例如F:ASubversion。其余步骤都采用默认设置,依次单击Next按钮,直至安装结束。

参考资料来源:百度百科-svn

如何操作使用svn?

操作使用svn需要在我们的本地硬盘中创建一个新建的空的文件夹,找到检出选项。然后按照步骤一步步进行编辑之后提交到SVN。

1、将版本库中的资源检出到本地工作空间中,首先在我们的本地硬盘中创建一个新建的空的文件夹,比如:E:\Proj_trunk。右击文件夹,选择检出选项,如下图所示:

2、检出操作,如下图所示:

3、当出现如下图所示,这说明已经检出成功了,如下图所示:

4、更新工作副本使之成为版本库中的最新的文件,如下图所示:

5、当更新完毕之后,svn将显示更新的文件的数量和更新的次数,如下图所示:

6、对工作副本进行编辑之后提交到SVN,在右键菜单中点击SVN Commit,如下图所示:

7、最后提交前写好信息,点击确定就完成了。

注意事项:

1、统一在资源库中进行更新、添加、提交等一系列事务。因为在资源库中,对各项待改变或已改变的文件有很直观的比较。

2、提交的时候必须写日志,一个团队中可能有多个人对一个文件进行操作,如果每个人提交的时候不记录本次需要提交的内容,可能会造成以后该文件出错时。

3、提交之前必须更新,因为在提交之前并不知道别人是否对你提交的文件已经做了修改。所以第一部分的时候,才要求各位在资源库中进行操作。

4、反复查看确保正确的前提下,勤更新勤提交。

5、提交只提交自己修改的文件,提交之前检查是否是需要提交的文件。

svn文件冲突后的三个文件要怎么解决

方法/步骤

1

通过SVN客户端更新需要的文件,如果出现有感叹号的文件,找到出现感叹号的文件。

2

选择感叹号文件,即冲突文件,单击鼠标右键对冲突文件进行编辑操作,如下图所示:

3

进入冲突编辑页面对出现问号的部分进行调整,如下图所示:

4

冲突文件调整过程中,可以选择使用自己的版本或对方版本或两个都使用,如下图所示:

5

完成后,点击上图【save】进行保存,至些svn的冲突文件就处理好了,重新提交就可以。

END

注意事项

冲突文件内部的冲突要全部解决才能保存

3条大神的评论

  • avatar
    访客 2022-07-05 上午 11:25:10

    /tmp/svn-up.out 21中查看错误信息:偶yeah终于看到错误在哪了,svn提示:svn :Can`t recode string然后再查这个问题,搜索的结果是修改字符集环境变量,我local

  • avatar
    访客 2022-07-05 上午 09:36:09

    or not locked事件描述: work文件夹下有个文件夹叫images,在工作文件夹下删除images后,执行svn commit ,结果提示: svn: Working

  • avatar
    访客 2022-07-05 下午 05:55:55

    置为,svn update /var/www/html结果当win本地提交后,linux上的apache下的www没有同步更新,郁闷......从网上查了一堆资料,最有用的是说svn的hook

发表评论