SVN在团队开发中使用非常普遍,是一个很方便的版本控制系统。

如果要是能将SVN服务器上的数据自动发布到Web服务器,那将是整个项目开发、测试更加便捷。利用SVN的hook功能就能实现将SVN服务器上的数据同步到Web服务器。

思路:

找到SVN Server中的仓库(Repositories)文件夹的位置,在相应的项目文件夹中找到hooks文件夹。在该文件夹中添加一个post-commit文件;当有commit动作发生时(提交到SVN Server时)就会执行这个post-commit文件,在该文件实现数据的复制。

1.创建web目录(已有目录则略过)

cd /var

mkdir www

chmod 777 www

2.检出副本到/var/www

svn co file:///var/svn/foo

此时web目录是SVN版本库的一个工作副本

3.增加hooks(钩子)文件

在/var/svn/foo/hooks/目录中

# start-commit 提交前触发事务

# pre-commit 提交完成前触发事务

# post-commit 提交完成时触发事务

# pre-revprop-change 版本属性修改前触发事务

# post-revprop-change 版本属性修改后触发事务

我们这里只需要修改post-commit文件:

cp post-commit.tmpl post-commit

编辑该文件

#!/bin/sh

# 配置库地址

REPOS="$1"

REV="$2"

# WEB目录

BASEPATH=/var/www

WEBPATH="$BASEPATH/"

# 避免中文信息乱码

export LANG=zh_CN.UTF-8

# 可以配合svnlook命令更新指定目录

svn update $WEBPATH --username user1 --password password1 --no-auth-cache

保存后需要修改post-commit文件权限为755,否则SVN无法调用执行

chmod 755 post-commit

里面原有的代码全部注释掉.这里可以执行shell命令,每次commit完成后都会调用此文件。

说明:

1、#!/bin/sh 说明是执行shell命令

2、export LANG=zh_CN.UTF-8 是为了解决svn post commit 中文乱码。

如果你是GBK编码可能会提示:Error output could not be translated from the native locale to UTF-8

这是客户端和服务器编码的问题,默认是utf-8,可尝试设置export LANG=zh_CN.GBK或者export LANG=en_US.UTF-8

3、svn update –username 你版本库的用户名 –password 用户名的密码

svn://你的IP地址:端口/repos/project /web/project

svn怎么上传文件到具体目录linux,linux系统下SVN同步文件到WEB目录相关推荐

  1. SVN:安装svn进行上传和检出文件的常用命令

    QUESTION:SVN:安装svn进行上传和检出文件的常用命令 ANWSER: 1.将文件checkout到本地目录svn checkout path(path是服务器上的目录) 例如:svn ch ...

  2. svn怎么上传文件 — 百度经验无耻推广

    2019独角兽企业重金招聘Python工程师标准>>> svn怎么上传文件 - 欢乐地点进去捧场 PS:觉得笔者太无耻,直接在下方评论抨击 转载于:https://my.oschin ...

  3. 向VISUAL SVN SERVER上传文件时报错

    问题:往VISUAL SVN SERVER上传文件时报错 "Commint bloacked by pre-commit hook(exit code 1)with output:" ...

  4. IDEA2019版最新配置SVN及上传教程-超详细图文详解

    IDEA2019版配置SVN图文详解 1. 查看svn仓库 调出svn视图: 连接svn服务器: 连接后效果如下: 补充:如果输入正确的连接地址后出现错误-系统找不到指定的文件 请到设置中检查(Fil ...

  5. 介绍一个工具给大家,做网站时,经常要上传文件到外网服务器,但是上传时往往需要很长时间,如果有一个文件对比工具……...

    介绍一个工具给大家,做网站时,经常要上传文件到外网服务器,但是上传时往往需要很长时间,如果有一个文件对比工具, 可以对比每次版本有什么文件变化,并单独找出来.这样只需要上传需求的文件就可以达到版本更新 ...

  6. CGB2005 JT7-8(文件 图片上传 uuid生成文件名 静态代码块,反向代理,Nginx,Host文件,tomact集群实现项目发布 ,nginx负载均衡种类)

    注意事项 1.京淘文件上传 文件上传api 京淘图片上传 利用静态代码块赋值 图片上传优化(动态赋值) uuid去掉横线 2.反向代理机制(正向反向代理说明) nginx学习 nginx实现反向代理 ...

  7. ideaspringboot项目上传服务器_PHP中使用 TUS 协议来实现可恢复文件上传

    曾经尝试过用PHP上传大文件吗?想知道您是否可以从上次中断的地方继续上传,而不会在遇到任何中断的情况下再次重新上传整个数据?如果您觉得这个场景很熟悉,请接着往下阅读. 文件上传是我们几乎所有现代Web ...

  8. 【转】Linux命令行下svn ignore忽略文件或文件夹用法

    转自:Linux命令行下svn ignore忽略文件或文件夹用法 - 陌上归人的博客 - 博客园 一.忽略单个目录 1.忽略文件夹 假如目录oa.youxi.com是从svn checkout出来的, ...

  9. Linux系统下SVN服务器的搭建过程详解 UpJ}s7+

    Linux系统下SVN服务器的搭建过程详解 UpJ}s7+   1 环境:  服务器放在redhatAS4.0上,客户端在windows 2000. k_lb"5z   Z]jSq@%1H* ...

  10. Mac系统下SVN命令

    Mac系统下SVN命令 安裝 Subversion 首先您須要在您所要工作的機器上安裝 Subversion 這套系統. 若您的機器上已經安裝好了, 您可以跳過這一步. 若您在 FreeBSD 底下, ...

最新文章

  1. Ceres非线性优库入门介绍
  2. nginx文件服务器修改根目录,nginx修改配置文件更改网站根目录无效?
  3. sqlcommand对象的有几个操作方法
  4. UnitTest in .NET(Part 1)
  5. 用面粉和醋洗头 让你的头发黑亮又浓密
  6. Jquery设置select控件指定text的值为选中项
  7. EDIUS插件如何安装?
  8. 如何判断真假“中台”?
  9. 集合竞价如何买入_教你几招!什么是集合竞价?散户如何参与集合竞价?
  10. Exception thrown when sending a message with key=‘null‘
  11. 视频、图像原理 设配选择 图像出入门概念理解
  12. 图像视频伪造检测,针对DeepFake技术检测效果不佳
  13. 2018年带三维团队的一点总结
  14. 一些开源库,提高开发效率
  15. 抗TNF治疗改变JIA患者PBMC基因表达谱,可预测疗效
  16. 传统行业程序员的深度焦虑?——快来互联网行业吧!
  17. 怎么把好几行弄成一行_【excle 如何多行变一行】excel中怎么把多行同一个人的数据变成一行?...
  18. JGit----将 Git 嵌入你的应用
  19. kylin OS 软件源
  20. java上传图片工具类

热门文章

  1. MySQL - 常用语句学习
  2. Excel 公式、图表以及单元格的操作
  3. 学校计算机管理工作计划,计算机教室管理工作计划.doc
  4. SAP S/4HANA BP功能详细解析
  5. java eop_javashop-eop
  6. java基础学习——Java数组
  7. dmp如何导入mysql_如何导入MySQL数据库
  8. 2021neuq暑期集训2部分题解(AKE)
  9. C++实现电子地图管理系统
  10. PPTX|2021消防安全月启动培训课件(120页)(附下载)