博主找了网上一推的素材,什么修改pre-revprop-change为pre-revprop-change.bat 然后填写命令,最后还是提示权限不足等一堆乱七八糟的问题,于是自己成功后重新整理
环境:win7
svn服务器:VisualSVN Server
svn客户端:TortoiseSVN ,又名小乌龟
1.打开
服务端的VisualSVN Server
2.在左侧菜单栏,选择
Storage
,查询到svn的仓储存放地址,博主使用的e盘
3.找到仓储后,找到
hooks
目录,
然后在里面新建
pre-revprop-change.cmd
文件,,文件内容
为空
新建
pre-revprop-change.bat
里面内容为
下面代码
setlocal
set REPOS=%1
set REV=%2
set USER=%3
set PROPNAME=%4
set ACTION=%5
if not "%ACTION%"=="M" goto refuse
if not "%PROPNAME%"=="svn:log" goto refuse
goto OK
:refuse
echo Cann't set %PROPNAME%/%ACTION%, only svn:log is allowed 1>&2
endlocal
exit 1
endlocal
exit 0
至此,VisualSVN Server 操作已经配置完成回到
客户端电脑
1.进入想修改的项目目录
2.右键进入TortoiseSVN菜单栏,选择
显示日志(英文版<
Show log
>)
3.右键想要修改版本项,选择
修改作者
或
编辑日志内容
或
显示版本属性(英文版:show revision properties)
博主这边以修改日志时间为例
4.选中需要修改的项<svn:date>,点击编辑,, 修改提交时间 确认保存后,点击左下放的刷新按钮,,
然后你会发现<svn:date>的值已经被修改成功了 但是外层提交列表中的时间并没有得到更新
5.清除并关闭客户端TortoiseSVN配置中的缓存
关闭日志缓存
这样修改<svn:author> <svn:date> <svn:log> 保存后,重新整理(也就是刷新)就可以看到效果了~
博主找了网上一推的素材,什么修改pre-revprop-change为pre-revprop-change.bat 然后填写命令,最后还是提示权限不足等一堆乱七八糟的问题,于是自己成功后重新整理环境:win7svn服务器:VisualSVN Serversvn客户端:TortoiseSVN ,又名小乌龟1.打开服务端的VisualSVN Server2.在左侧菜单栏,...
SVN
全
名
Subversion,即版本控制系统,实现服务系统的软件。
SVN
与CVS一样,是一个跨平台的软件,支持大多数常见的操作系统。作为一个开源的版本控制系统,Subversion 管理着随
时间
改变的数据。 这些数据放置在一个中央资料档案库 (repository) 中。 这个档案库很像一个普通的
文件
服务器, 不过它会记住每一次
文件
的变动。 这样你就可以把档案恢复到旧的版本, 或是浏览
文件
的变动历史。Subversion 是一个通用的系统, 可用来管理任何类型的
文件
, 其中包括了程序源码。
SVN
的安装和配置
安装:(1) apache Http Server 2.2.4 。 用于和
SVN
整合
(2)
svn
-
win
32-1.4.5.zip
SVN
服务器端
配置步骤:安装完毕之后就开始了APACHE与
SVN
的整合配置。
(1),将
SVN
的bin目录下的扩展
名
为*.so的
文件
复制到apache的modoles
文件
夹下
(2),将
SVN
的bin 目录下的扩展
名
为*.dll的
文件
复制到apache的bin
文件
夹下
(3),将前面的#去掉(有#即被注释掉了):
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
添加:LoadModule dav_
svn
_module modules/mod_dav_
svn
.so
LoadModule authz_
svn
_module modules/mod_authz_
svn
.so
(4),
修改
apache目录下conf
文件
中的httpd.conf
文件
:
Listen 9090 #
修改
端口号为9090,因为Apache默认安装为80端口,需要关闭IIS避免端口冲突所以我们在安装好之后调整端口。
ServerAdmin zzxy@xinyuan.com.cn #
ServerName localhost:9090
在最后添加:
<Location /
svn
> #其中 /
svn
就是访问时第一级目录的
名
字
DAV
svn
SVN
ParentPath e:/
svn
/repository #
SVN
ParentPath是物理地址
Authz
SVN
AccessFile e:/
svn
/authz.conf #用户权限列表
AuthType Basic #访问方式
AuthName "Subversion.zoneyump"
AuthUserFile e:/
svn
/authfile.cfg #创建用户列表
文件
,由apache的bin目录下htpasswd程序创建,密码为密文。
Require valid-user #设置用户的访问权限为读写均受限制
</Location>
(5),用语句
svn
admin create e:/
svn
/repository/project1 创建库
(6),重启Apache服务器,使用浏览器打开 http://localhost:9090/
svn
/project 将会看到要求登录的对话框,输入你刚设置的用户
名
和口令即可。
这样Apache和
SVN
的整合就基本完成了
(7),现在在浏览器中输入: http://localhost:9090/
svn
/project就会出现
SVN
的库的
内容
了
(8),Apache提供一个htpasswd工具来管理用户
名
和口令,现在我们设置用户
名
为user的用户:htpasswd –c d:\passwd\passwords user
控制台会提示输入密码的。
第一次不存在passwd
文件
时用参数c,以后用户的创建就可以用m或者是p了。
htpasswd用法(htpasswd -?):
-c Create a new file.
-n Don't update file; display results on stdout.
-m Force MD5 encryption of the password (default).
-d Force CRYPT encryption of the password.
-p Do not encrypt the password (plaintext).
-s Force SHA encryption of the password.
-b Use the password from the command line rather than prompting for it.
-D Delete the specified user.
On
Win
dows, NetWare and TPF systems the '-m' flag is used by default.
On all other systems, the '-p' flag will probably not work.
用-c必须是在建立
文件
时候使用,且密码为密文,当在有
文件
后继续使用时原来的用户信息将全部丢失,相当于重新建立了用户信息列表。在已经建立了
文件
之后使用-m/p时,列表中出现的密码将是明文。如果在建立
文件
之后仍然想在列表中建立密码为密文的用户时直接使用:
htpasswd d:\passwd\passwords user
(9),设置用户权限,可以直接
修改
权限列表
文件
,格式为:
[groups]
m-dev = kxlele, yangle, renyuan,lulifang
o-dev = zhangjunwang, luoyuehua, zhiyanfeng
readonly = user, test
everyone = @m-dev, @o-dev
@everyone = r
@readonly = rw
[project:/]
@everyone = r
@readonly = r
[project1:/]
@m-dev = rw
@readonly = r
后记:
svn
远程控制用户
名
及密码的
修改
方法:将附件中的apchepasswd.cgi以及apchepasswd.cgi.ini配置
文件
放入apache根目录下的cgi-bin目录中。
修改
apchepasswd.cgi.ini中的usersfile
文件
,改为配置中的路径。运行:http://localhost:9090/cgi-bin/apachepasswd.cgi就可以看到
修改
密码的页面了。
ApacehPasswd就是用来
修改
上面配置中的C:\
SVN
_repos\passwd这个
文件
的
使用方法:
1将
文件
ApachePasswd.cgi及ApacehPasswd.cgi.ini复制到Apache的CGI脚本目录下,通常是cgi-bin目录。
2确保cgi-bin目录可以运行cgi脚本
3
修改
配置
文件
ApachePasswd.cgi.ini中authuserfile路径,如下
[path]
authuserfile=这里改为你的Subversion所用的authuserfile全路径,如e:\
SVN
\passwd
4现在访问你服务器的http://localhost:9090/cgi-bin/ApachePasswd.cgi就可以看到
修改
subversion密码的界面了。
1配置
文件
可用的配置项
[path]
authuserfile=这里改为你的Subversion所用的authuserfile全路径,如C:\
SVN
_repos\passwd
日志
文件
名
logfile=
svn
pass.log
[setup]
passminlen=1
[html]
title=
修改
SubVersion密码
description=
修改
SubVersion密码
yourname = 用户
名
oldpasswd = 旧密码
newpasswd1 = 新密码
newpasswd2 = 验证新密码
btn_change = 修 改
btn_reset = 重 置
changepassok=成功
修改
密码
changepassfailed=
修改
密码失败
oldpasserror=旧密码错误
servererror=服务器错误
passmustgreater=密码位数必须大于
twopassnotmatched=两密码不一致
entername=请输入用户
名
back=返回
2我一般用时都是将ApachePasswd.cgi改
名
为
svn
pass,这样用户
修改
密码时可以少打些字,
如访问http://193.193.193.242:9090/cgi-bin/
svn
pass就可以
修改
密码了,
当改
名
为
svn
pass时,配置
文件
ApachePasswd.cgi.ini要相应地改为
svn
pass.ini,因为这个脚本是根据自己的
文件
名
找配置
文件
的.
问题:运行CGI
文件
时报错原因:
将ApachePasswd.cgi改
名
为ApachePasswd.exe后系统提示缺少几个dll
文件
,把Apache2.0中bin的几个dll
文件
复制倒Apache 2.2.4 的cgi-bin目录下就可以解决了
使用Tortoise
SVN
管理代码,对于已经
提交
的
记录
,可以
修改
提交
作者
和
提交
日志
,不过会报如下错误:Repository has not been enabled to accept re
vision
propchanges;
ask the administrator to create a pre-revprop-change hook解决方法如下:
- 打开Visual
SVN
SET PROPNAME="%4"
SET ACTION="%5"
IF %ACTION% == "M" (IF %PROPNAME% == "
svn
:log" (EXIT 0))
IF %ACTION% == "M" (IF %PROPNAME% == "
svn
:author" (EXIT 0))
有个问题,我在
SVN
服务器上的
时间
由于测试原因,被我改成 2007.11.30 了。现在
提交
的 re
vision
的
提交
日期也就显示为 2007.11.30上日期,我想把这个日期改回 2007.11.12的,怎么办?
1. 服务器上直接
修改
re
vision
的属性
文件
假设你要
修改
的版本是112,到版本库的db\revprops\目录下,打开112
文件
,你会看到类似下面这样的文字
Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、
文件
操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。
Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、
文件
操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。