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限制上传文件类型和强制提交信息相关推荐

  1. 选下拉框的的值对应上传相应的图片_vue.js如何拿到多种类型表单值提交到后台,包含上传图片、单选、复选、文本框、下拉列表框...

    2016-01-17 编辑更新 vue.js如何拿到多种类型表单值提交到后台,包含上传图片.单选.复选.文本框.下拉列表框 下面的html包括多种类型的表单,其中包括图片上传,如何拿到这些表单的值提交 ...

  2. Linux SVN一次增加多个文件并批量上传

    命令行下操作svn没有使用界面形式的TortoiseSVN直观,但是不管怎样,命令行下操作svn还是有它的有点,如果你碰到一次需要svn add许多个文件怎么办?下面的命令可以帮助你解决这个问题 一次 ...

  3. php获取svn文件,然后ftp上传服务器代码

    配置文件 <?php //setup commandline $svn_cmd1 = 'svn.exe update '; $svn_cmd2 = ' --username xxx --pass ...

  4. Mac如何使用svn添加副本,检出上传以及更新代码文件

    SnailSVN精简版的妙用 SnailSVN的下载,安装和配置 SnailSVN分为专业版和精简版, 专业版是收费的,我们使用精简版是完全ok的,只不过精简版只能添加一个副本. 下载 :Appsto ...

  5. 将项目代码上传至svn服务器,xcode 把项目代码提交到远程SVN服务器

    环境 xcode 7  Mac air xcode默认支持GIT源码管理工具,但现在想把代码提交到已有到SVN服务器上,步骤如下: 1,在safari中打开svn链接地址,信任证书,输入用户名密码 , ...

  6. 本地idea项目上传到svn

    本地idea项目上传到svn 1.在idea中选择file-setting-version control,添加如下配置,点击确定,此时你的项目会变红 2.在version control-ignor ...

  7. 2021-02-13-idea使用svn检出代码和更新上传代码

    idea使用svn检出代码和更新上传代码 前言 整合 检出(跟导入一个意思)项目代码 更新上传代码 前言 一般,进入公司开发一个项目,你的领导一般会给你一个svn的链接和账号密码 你只需要学会从svn ...

  8. 如何将本地文件通过终端上传到linux服务器 /服务器/阿里云

    scp -P 端口 c://xxxx.txt user@ip:/home/root 注意: -P 大写 -i 公钥 (我是将文件上传到阿里云) (1)在本地的终端下,而不是在服务器上.在本地的终端上才 ...

  9. linux xshell上传文件夹,XShell上传文件到Linux服务器上

    Xshell很好用,然后有时候想在windows和linux上传或下载某个文件,其实有个很简单的方法就是rz,sz. 首先你的Linux上需要安装安装lrzsz工具包,(如果没有安装请执行以下命令,安 ...

最新文章

  1. NVIDIA深度学习Tensor Core性能解析(下)
  2. 206. Reverse Linked List
  3. aspnetcore mvc 异常处理_深入探究ASP.NET Core异常处理中间件
  4. Hibernate 双向一对一实现(基于annotation)
  5. gridcontrol 控件的用法
  6. 端口号被占用时,查找占用该端口号的进程并释放端口号
  7. 10.1-10.12-广州软件所-实习工作日记
  8. 【转】二叉树、B树、B-树、B+树、B*树
  9. 关于vue2用vue-cli搭建环境后域名代理的http-proxy-middleware解决api接口跨域问题
  10. C# WinForm开发系列 - ComboBox
  11. mp3/rmvb转换
  12. visio使用手册---网络拓扑图的利器
  13. 基于单片机出租车计价器设计
  14. HTAP的下一步?SoTP初探(上):从“大”数据到“小”而“宽”数据
  15. js怎么模拟点击网页元素
  16. 智能家居雷声越来越大 雨点还是那么小
  17. PPT中含图片太大,需压缩
  18. java浮点型数据的比较
  19. JavaScript实现的转盘抽奖html页面前端源码
  20. HTML如何设置幻灯片大小和位置,javascript – 动态调整skitter幻灯片图像大小

热门文章

  1. python做题记录之乘法运算
  2. mysql upgrade 报错_mysql_upgrade升级的坑
  3. 产品投入英国市场的UKCA认证标志使用方式
  4. Python下cplex的安装
  5. 具体问题——使用ArcGIS进行空间校正的步骤(矢量数据)
  6. 线程锁的概念函数EnterCriticalSection和LeaveCriticalSection的用法
  7. Android Java调用cocos2d-js传参
  8. Spring装配bean的三种方法:自动化装配,java代码装配,XML装配及它们的混合使用
  9. 移动互联的未来,谁在紧握命运的咽喉?
  10. 带宽测试工具 iperf3