svn上传文件钩子

svn钩子

钩子脚本就是shell的写法,钩子就是被某些版本库事件触发的程序。

常用钩子:

post-commit:在提交完成成功创建之后执行该钩子。(提交已经完成,不可更改)

更新之后,通过邮件、微信通知

更新触发checkout程序、然后推送到服务器

pre-commit:提交完成前触发执行该脚本。

限制上传文件的大小和拓展名,控制提交要输入的信息

下面写一个小例子:

rsync与svn钩子结合实现数据实时同步到服务器

1、建立同步web目录

mkdir /data/www

2、将svn中内容checkout到web目录中

svn co svn://ip/sadoc /data/www --username=syk --password=syk123

3、设置钩子

cp post-commit.tmpl post-commit

4、编写脚本

1)、> post-commit

2)、chmod 700 post-commit

3)、vim post-commit添加:

#!/bin/bash

REPOS="$1"

REV="$2"

export LANG=en_US.UTF-8

LOGPATH="/tmp/log"

[ ! -d ${LOGPATH} ]  && mkdir ${LOGPATH} -P

SVN=/usr/bin/svn

$SVN update --username syk --password syk123 /data/www

if [ $? -eq 0 ]

then

/usr/bin/rsync -az --delete /data/www /tmp/

fi

5、测试

这时我们在svn上新建一个文件并提交,在tmp目录下就可以看到有这个新建的文件。

原文地址:https://www.cnblogs.com/shuaihan/p/9434347.html

时间: 2024-08-04 19:45:35

svn上传文件钩子的相关文章

svn上传报Authorization failed错误解决办法

svn上传文件时没有弹出用户登录界面,而是直接报Authorization failed错误.出现该问题基本都是三个配置文件的问题,下面把这个文件列出来 svnserve.conf配置文件中的 [general] anon-access = read auth-access = write password-db = passwd authz-db = authz 注意:这几个配置项都需要在[general]配置项下. passwd配置文件 [users] admin=123 authz配置文件

【阿里云产品公测】ACE下上传文件永久存储实践

本帖主要内容: ;$,=VB:'   在阿里云的ACE下,我是如何实现让上传的文件永久保存的? ,%"!8T   本文以PHP为例,具体知识点如下: WD# 96V   第一,扩展服务“存储服务(Storage)”的入门基础: uzg(C#sp   第二,如何结合实际项目使用: \ne1Xu:hM   uP, iGA ?lq   2 j.6   ]8q#@%v}   写教程前,先发发牢骚吧! M.fAFL   我为什么要用云引擎ACE?因为我讨厌天天去更新系统.打补丁和查日志等等,这么专业的东西

Mac 上SVN上传.a文件

SVN默认是忽略.a文件,所以修改配置文件去掉忽略配置行的 *.a 通过终端打开配置文件: open ~/.subversion/config 把下面两行(也可能是一行)中的注释和*.a去掉, #global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo *.rej *~        #*# .#* .*.swp .DS_Store 注意: 去掉#号后要顶行 ps :可以增加需要忽略的文件类型 Mac 上

SVN如何上传文件

工具/原料 windows TortoiseSVN 步骤 1.首先,在电脑上面安装SVN客户端(TortoiseSVN),配置好setting文件(右键菜单可能会用到某些功能). 2.安装完后随便打开一个文件夹,我在E盘中新建了名为svn的文件夹,选中并右键,出现了TortoiseSVN应用的选项,我们点击“SVN Checkout”,将远程svn库中的文件夹迁下来.svn弹出一个框需要您填入您的远程svn库的URL地址,填写好后点击“OK”,又会弹出框让你填您svn库的账号和密码(可能不会出现

svn上传.a文件

在mac下很多svn管理工具默认都不能上传.a文件,这让人很苦恼.从网上扒了下,找到了两个方法. 方法一: 打开终端,cd 进入到需要上传的.a文件所在的文件夹. 确保 ls能看到.a文件 然后使用命令,如:svn add libzbar.a 使用完成后出现 A  (bin)  libzbar.a 表示添加成功,用svn图形管理工具就可以看到,刚才添加的.a文件,此时就可以手动上传了. 再次update后commit后 .a 文件就传成功了 方法二: 通过终端打开配置文件: open ~/.su

SVN上传代码

概述 SVN上传代码 使用SVN工具上传代码到新浪SAE 1.下载SVN工具http://tortoisesvn.net/downloads.html 2.创建一个文件夹,Checkout,输入SAE安全邮箱账号和密码 3.拷贝Idioms文件夹到新建的文件夹目录下 4.Add Idioms文件夹 弹出如下对话框,点击OK Add Finished,点击OK 文件有一个感叹号图标 5.Commit Idioms 文件夹 弹出如下对话框,在Message文本框里面可以输入备注信息,点击OK Com

springmvc异步上传文件

前提条件 注意:bean的id名不能改变 <!-- 上传文件拦截,设置最大上传文件大小 10M=10*1024*1024(B)=10485760 bytes --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="maxUploadSi

Perforce 上传文件夹

Perforce不能上传空文件夹,而且和SVN不同,不需要单独上传文件夹 上传文件夹下面的文件,该文件夹自动上传了. 命令:p4 [g-opts] add [ -c changelist# ] [ -f -n ] file ... g-opts  全局选项 -c 指定增加与changelist相关的文件: -f 指定增加使用通配符匹配的文件: -n 显示将要增加的文件但不改变元数据库记录 注:p4 submit文件添加至版本库:p4 add后不能使用通配符"..."(...由perfo

Android SVN上传项目

方式一: 1 工具栏 VCS ——import into Version Control - Share Project (SubVersion)(注意不要用import into SubVersion选项) 2 弹窗后添加仓库地址,分支选择带完整项目名文件夹的即可.(注意此时代码还未上传 3 到项目的文件夹目录下,Commit下提交 4设置忽略文件后重新提交一下--------------------- 作者:flyjiang2014 来源:CSDN 原文:https://blog.csdn.