Svnlook使用浅谈(配置svn上传必须添加备注和删除权限)

news/2024/9/30 12:00:27

    在配置svn上传必须添加备注和删除权限前,我先隆重介绍下今天用到的svn命令svnlooksvnlook是检验Subversion版本库不同方面的命令行工具,不会对版本库有任何修改,只是查看包括作者信息、文件内容、更改历史、文件大小、属性等当然它有自己的独特语法

(1)语法格式:svnlook REPOS_PATH [ARGS & OPTIONS ...]其中,`REPOS_PATH` 是指向Subversion版本库的路径。

(2)查看svnlook版本:svnlook --version

(3)svnlook全局参数:如:–no-diff-deleted:不要输出删除文件造成的差异

我们大多数情况下是用到svnlook子命令配置svn上传必须添加备注和删除权限时,我们用到的子命令主要是:svnlook log、svnlook author、svnlook changed(具体说明见附录),话不多说,上操作步骤:

一、配置svn上传必须添加备注和删除权限

1、打开SVN版本库服务器SVN服务器端

2、右键点击项目,选择所有任务,选择Manage hooks

 3、点击Hooks选项卡,选中Pre-commit hook

 

4、点击下方的edit按钮

5、在弹出框中输入“svn上传必须添加备注和删除权限”代码:

@echo off
setlocal
set Repos=%1
set TXN=%2
rem 设置允许对版本库中的文件做删除操作的人员账号,中间用空格隔开
set SCM=lixingrem 保证输入10个字符,用来限制日志的字数,可按实际需求增加“点”数,若错误则执行:err_bak
svnlook log %REPOS% -t %TXN% | findstr ".........." > nul if %errorlevel% gtr 0 goto :err_bak rem 过滤空格字符,可根据实际添加“空格数” svnlook log %REPOS% -t %TXN% | findstr /ic:" " > nul if %errorlevel% gtr 0 goto :allow rem 备注信息验证通过后,验证人员对文件的操作权限 :allow svnlook author -t "%TXN%" "%Repos%" | findstr "%SCM%" IF %ERRORLEVEL% gtr 0 goto :check exit 0 rem 删除文件验证 :check svnlook changed -t "%TXN%" "%Repos%" | findstr "^D" if %ERRORLEVEL% == 0 goto :err pause exit 0 #不能删除文件提示 :err echo 您无法删除文件,请获取删除权限 1>&2 pause exit 1 #备注未添加的提示信息 :err_bak echo 请填写本次文件提交任何变更的日志信息,最少5个汉字。1>&2 echo *******************禁止无意义字符或空格数据***************** 1>&2 goto :exit 1

6、点击窗口下方的ok按钮,再点击父窗口的确定按钮即完成了设置。

注意:我这里已经将svn的安装地址设置到电脑的环境变量中,所以没有指定svn安装路径

二、svn上传必须添加备注和删除权限

很简单,删除Pre-commit hook中添加的代码信息,确定即可。

 

温馨小提示:我用的是UI操作界面设置,当然也可以通过编写脚本直接完成,若通过脚本,只需将“svn上传必须添加备注和删除权限”的代码复制粘贴到txt中,并重新命名txt文件为:pre-commit.cmd,然后将文件放到项目仓库的hook路径下,例如:“D:\Repositories\test\hooks”(“D:\Repositories\test\”为我的test项目路径)。

 

 

附录:svnlook子命令介绍

1. svnlook author: 输出指定修订版本或事务的作者。

如,`svnlook author REPOS_PATH`,可以添加 `-r` 或 `-t` 参数指定版本或事务。

2.svnlook cat: 输出版本库中指定文件的内容。

`svnlook cat REPOS_PATH FILE_PATH`,同样支持 `-r` 和 `-t` 参数。

 3. svnlook changed: 列出修订版本或事务中的改动路径。`svnlook changed REPOS_PATH`,可以加上 `-r`, `-t` 参数,以及 `--copy-info` 显示复制操作详情。

 4. svnlook date: 输出修订版本或事务的时间戳。

如, `svnlook date REPOS_PATH`,同样接受 `-r` 和 `-t` 参数。

 5. svnlook diff: 显示文件和属性的差异,以GNU样式输出。`svnlook diff REPOS_PATH`,可添加 `-r` 或 `-t` 参数。

 6. svnlook dirs-changed: 列出修改(属性或子文件)的目录。

 7. svnlook filesize: 输出文件大小。`svnlook filesize REPOS_PATH PATH_IN_REPOS`。

 8. svnlook help: 提供子命令的帮助信息。

 9. svnlook history: 输出路径的历史记录,默认为根目录。

 10. svnlook info: 输出修订版本或事务的作者、时间戳、日志信息大小和日志信息。

 11. svnlook lock: 查看文件或目录的锁定信息。

 12. svnlook log: 打印日志信息。

 13. svnlook propget: 获取指定路径的属性值。

 14. svnlook proplist: 列出指定路径的属性列表。

 15. svnlook tree: 输出版本库的目录结构。

 16. svnlook uuid: 显示版本库的UUID,这是版本库的全局唯一标识符。

 17. svnlook youngest: 输出版本库的最新修订版本号。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/66462.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

php: 查看opcache的使用情况

一,代码: opcache的各项参数设置效果怎么样?是否需要调整?我们需要了解一个opcache使用情况的统计,以供调整参数时处理 看php代码: <?php // 确保已经启用了Opcache if (extension_loaded(Zend OPcache) && function_exists(opcache_get_status)) {$status = …

adb命令输入中文字符

前言: adb 可以输入英文的文本,由于不支持unicode编码,所以无法输入中文,github上有个国外的大神写了个ADBKeyBoard输入法的apk,完美支持unicode编码,也能输入中文和其它字符及表情.解决方法: 1、https://zhangka.lanzouw.com/iKPQM2b7q9wd  密码:ah9d,下载并安装apk…

在 win10 2021 LTSC 上安装配置 wsl2 和 ubuntu

在 win10 2021 LTSC 上安装配置 wsl2 和 ubuntu 的过程: 参考官方文档:https://learn.microsoft.com/zh-cn/windows/wsl/install-manual(最后一步安装ubuntu发行版时,请自己解压, 然后拷贝到其他目录 再运行 ubuntu.exe, 否则默认放到了c盘 )win10系统启用wsl2:wsl --inst…

platformio创建工程过慢问题

在vscode安装platformio插件后,打开插件,等待platformio code安装完成后,关闭vscode打开任务管理器,结束进程platformio.exe和所有的Python.exe进程全部结束打开文件C:\用户名\你的用户名.platformio\penv\pip.conf,修改为如下配置[global] index-url = https://mirrors.h…

Guava Cache

1 Guava Cache 介绍 Guava 是 Google 提供的一套 JAVA 的工具包,而 Guava Cache 则是该工具包中提供的一套完善的 JVM 级别的高并发缓存框架。其实现机制类似 ConcurrentHashMap,但是进行了众多的封装与能力扩展。作为 JVM 级别的本地缓存框架,Guava Cache 具备缓存框架该有…

PART0-Oracle数据库介绍

1. Oracle数据库介绍 1.1. 关于关系型的数据库 每个组织都有必须存储和管理的信息,以满足其需求。例如,公司必须收集和维护员工的人力资源记录。这些信息必须对需要它的人可用。信息系统是一个用于存储和处理信息的正式系统。 信息系统可以是一组包含文件夹的纸箱,以及存储和…

六个核桃科技有限公司——团队展示

这个作业属于哪个课程 https://edu.cnblogs.com/campus/hniit/AI2022这个作业要求在哪里 https://edu.cnblogs.com/campus/hniit/AI2022/homework/13280团队名称 六个核桃科技有限公司这个作业的目标 让湖南信息学院人工智能专业成绩提高10%其他参考文献 kimi作业正文 智慧核桃…

电影《浴火之路》百度云下载资源/迅雷BT[HD-1280P/2.12GB/MP4中字]4k中字已更新

《浴火之路》:人性光辉与生命尊严的较量2024年国庆档,电影市场迎来了一场别开生面的盛宴,其中,《浴火之路》以其独特的题材、精彩的剧情、强大的演员阵容和震撼的视觉呈现,成为了备受瞩目的焦点。该片由五百执导,尚可编剧,肖央、赵丽颖、刘烨等实力派演员主演,是一部聚…