linux svn上传文件,SVN限制上传文件类型和强制提交信息
pre-commit需要700权限,放置hooks即可
pre-commit
#!/bin/bash
#site www.linuxea.com
#blog www.linuxea.com
#by mark
#####################################
REPOS="$1"
TXN="$2"
MAX_SIZE=524280 #限制上传文件大小file 5M
FILTER='\.(zip|rar|o|ibj|tar|gz)$' #限制扩展名
SVNLOOK=/usr/bin/svnlook
#LOGMSG=`$SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" | wc -c`
LOGMSG=`$SVNLOOK log -t "$TXN" "$REPOS" |wc -c`
#如果提交的信息小于9则不让提交
if [ "$LOGMSG" -lt 9 ];
then
echo -e "error: can not be empty, you must enter at least 8 characters" 1>&2
exit 1
fi
files=$($SVNLOOK changed -t $TXN $REPOS |cut -d "" -f 4-)
#echo "$files" >&2
#echo "$r" >&2
#exit 1
rc=0
echo "$files"|while read f;
do
#check file type
if echo $f |tr A-Z a-z|grep -Eq $FILTER;
then
echo "File $f is not allow ($FILTER) file" >&2
exit 1;
fi
#check file size
filesize=`$SVNLOOK cat -t "$TXN" "$REPOS" "$f" |wc -c`
if [ "$filesize" -gt "$MAX_SIZE" ]; #比对上传文件大小
then
echo "File $f is too large(must <=$MAX_SIZE) B" >&2
exit 1;
fi
done
#ALL checks passed. so allow the commit.
if [ $? -eq 1 ];
then
exit 1
else
exit 0
fi
除非另有说明,否则本站上的内容根据以下许可进行许可: CC署名-非商业性使用-相同方式共享4.0国际许可协议4.0进行许可
本文作者:www.linuxea.com for Mark
文章链接:http://www.linuxea.com/1344.html (转载请注明本文出处和本章链接)
linux svn上传文件,SVN限制上传文件类型和强制提交信息相关推荐
- 选下拉框的的值对应上传相应的图片_vue.js如何拿到多种类型表单值提交到后台,包含上传图片、单选、复选、文本框、下拉列表框...
2016-01-17 编辑更新 vue.js如何拿到多种类型表单值提交到后台,包含上传图片.单选.复选.文本框.下拉列表框 下面的html包括多种类型的表单,其中包括图片上传,如何拿到这些表单的值提交 ...
- Linux SVN一次增加多个文件并批量上传
命令行下操作svn没有使用界面形式的TortoiseSVN直观,但是不管怎样,命令行下操作svn还是有它的有点,如果你碰到一次需要svn add许多个文件怎么办?下面的命令可以帮助你解决这个问题 一次 ...
- php获取svn文件,然后ftp上传服务器代码
配置文件 <?php //setup commandline $svn_cmd1 = 'svn.exe update '; $svn_cmd2 = ' --username xxx --pass ...
- Mac如何使用svn添加副本,检出上传以及更新代码文件
SnailSVN精简版的妙用 SnailSVN的下载,安装和配置 SnailSVN分为专业版和精简版, 专业版是收费的,我们使用精简版是完全ok的,只不过精简版只能添加一个副本. 下载 :Appsto ...
- 将项目代码上传至svn服务器,xcode 把项目代码提交到远程SVN服务器
环境 xcode 7 Mac air xcode默认支持GIT源码管理工具,但现在想把代码提交到已有到SVN服务器上,步骤如下: 1,在safari中打开svn链接地址,信任证书,输入用户名密码 , ...
- 本地idea项目上传到svn
本地idea项目上传到svn 1.在idea中选择file-setting-version control,添加如下配置,点击确定,此时你的项目会变红 2.在version control-ignor ...
- 2021-02-13-idea使用svn检出代码和更新上传代码
idea使用svn检出代码和更新上传代码 前言 整合 检出(跟导入一个意思)项目代码 更新上传代码 前言 一般,进入公司开发一个项目,你的领导一般会给你一个svn的链接和账号密码 你只需要学会从svn ...
- 如何将本地文件通过终端上传到linux服务器 /服务器/阿里云
scp -P 端口 c://xxxx.txt user@ip:/home/root 注意: -P 大写 -i 公钥 (我是将文件上传到阿里云) (1)在本地的终端下,而不是在服务器上.在本地的终端上才 ...
- linux xshell上传文件夹,XShell上传文件到Linux服务器上
Xshell很好用,然后有时候想在windows和linux上传或下载某个文件,其实有个很简单的方法就是rz,sz. 首先你的Linux上需要安装安装lrzsz工具包,(如果没有安装请执行以下命令,安 ...
最新文章
- NVIDIA深度学习Tensor Core性能解析(下)
- 206. Reverse Linked List
- aspnetcore mvc 异常处理_深入探究ASP.NET Core异常处理中间件
- Hibernate 双向一对一实现(基于annotation)
- gridcontrol 控件的用法
- 端口号被占用时,查找占用该端口号的进程并释放端口号
- 10.1-10.12-广州软件所-实习工作日记
- 【转】二叉树、B树、B-树、B+树、B*树
- 关于vue2用vue-cli搭建环境后域名代理的http-proxy-middleware解决api接口跨域问题
- C# WinForm开发系列 - ComboBox
- mp3/rmvb转换
- visio使用手册---网络拓扑图的利器
- 基于单片机出租车计价器设计
- HTAP的下一步?SoTP初探(上):从“大”数据到“小”而“宽”数据
- js怎么模拟点击网页元素
- 智能家居雷声越来越大 雨点还是那么小
- PPT中含图片太大,需压缩
- java浮点型数据的比较
- JavaScript实现的转盘抽奖html页面前端源码
- HTML如何设置幻灯片大小和位置,javascript – 动态调整skitter幻灯片图像大小