Subversion commit log 自動寄信通知

简介: 要隨時看 Subversion 的 repository 有被任何人修改, 於是讓它在 commit 時, 自動寄更新通知信出來, 順便將 commit 版本與前一個版本自動做 diff 的動作.
要隨時看 Subversion 的 repository 有被任何人修改, 於是讓它在 commit 時, 自動寄更新通知信出來, 順便將 commit 版本與前一個版本自動做 diff 的動作.

設定 SVN Commit 自動寄信

設定 SVN commit 完成後, 自動寄信的步驟如下: (假設 SVN 路徑: /home/svn/repository/PROJECT_NAME)

  1. cp /home/svn/repository/PROJECT_NAME/hooks/post-commit.tmpl /home/svn/repository/PROJECT_NAME/hooks/post-commit # commit 完後, 會自動執行 post-commit 檔.
  2. chmod +x /home/svn/repository/PROJECT_NAME/hooks/post-commit
  3. vim /home/svn/repository/PROJECT_NAME/hooks/post-commit # 修改下述

    /usr/share/subversion/hook-scripts/commit-email.pl \
     "$REPOS" "$REV" commit-watchers@example.org

  4. 改成

    export LC_CTYPE="zh_TW.UTF-8"
    /usr/share/subversion/hook-scripts/commit-email.pl "$REPOS" "$REV" svn@domain

SVN Commit 中文亂碼問題

Debian lenny 裝的 subversion package 是 1.5.1, 此版的 SVN 預設 hooks 自動寄信功能, 就已經有兩個版本的 diff 囉~

唯一的問題是 Commit 的註解寫中文的話, 收到的信會是亂碼.

解法: 要是 svnlook LC_CTYPE locale 設定問題, 於 commit-email.pl 加上 export LC_CTYPE="zh_TW.UTF-8", 之後收到的信就有中文囉~ :)

關於 hooks 其它的檔案有何用處?

下述轉載自: 寄送 subversion repository 的更新通知(感謝 yungyuc 好文)

  • start-commit: 在 commit 開始之前執行,常用來檢查使用者是否有權執行動作。
  • pre-commit: 在 transaction 完成而未真正 commit 之前執行,常用來檢查 commit 動作的有效性。可以在這個地方對 commit 時的 log 訊息進行要求。
  • post-commit: 在 transaction 完成而 commit 結束,建立了新的 revision 之後執行,常用來寄送 e-mail 通知訊息。
  • pre-revprop-change: subversion 的 revision property 並不會存入 repository,這個 hook 可以在 revision property 變更之前作一些處理,譬如把更新的資訊存到外部的紀錄檔裡面。
  • post-revprop-change: 用途與 pre-revprop-change 類似,但會在 revision property 變更之後執行。

相關文章

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
目录
相关文章
|
算法 数据库 索引
慢查询日志中出现commit
在慢查询日志中出现commit,就是因为事务提交(commit)的时间过长。
596 0
慢查询日志中出现commit
|
消息中间件 存储 编解码
重新理解RocketMQ Commit Log存储协议
Consumer Queue Offset是连续的吗, Commit Log Offset是连续的吗?今天我们一起重新理解RocketMQ Commit Log存储协议。
618 0
重新理解RocketMQ Commit Log存储协议
|
测试技术 开发工具 git
git commit message——git提交日志规范备忘
使用git提交时,最好能注意保持规范,可能某些公司对这方面没有要求,但是提交日志不规范的话,不方便查阅和管理。 在此记录下commit的类别,备忘,更详细的介绍,可以查看文末链接。
574 0
|
开发工具 git
【Git&GitHub - 5】:Git添加文件并提交到本地(git status、git add、git commit、git log命令的使用)
【Git&GitHub - 5】:Git添加文件并提交到本地(git status、git add、git commit、git log命令的使用)
522 0
【Git&GitHub - 5】:Git添加文件并提交到本地(git status、git add、git commit、git log命令的使用)
|
存储 SQL 关系型数据库
【redo log、bin log、undolog、purge操作、group commit】
【redo log、bin log、undolog、purge操作、group commit】
408 0
|
SQL 数据库
FAQ系列 | slow log中出现commit、binlog dump等奇怪的记录
FAQ系列 | slow log中出现commit、binlog dump等奇怪的记录
200 0
|
SQL 数据库
FAQ系列 | slow log中出现commit、binlog dump等奇怪的记录
FAQ系列 | slow log中出现commit、binlog dump等奇怪的记录
144 0
|
SQL 数据库
FAQ系列 | slow log中出现commit、binlog dump等奇怪的记录
FAQ系列 | slow log中出现commit、binlog dump等奇怪的记录
183 0
|
弹性计算 关系型数据库 测试技术
为什么高并发小事务, unlogged table不比logged table快多少? - commit wal log
标签 PostgreSQL , unlogged table , logged table , wal writer 背景 unlogged table,这些表的写操作不记录WAL日志。那么这种表的高并发写入一定比logged table快,快很多吗? 实际上一个事务,在事务结束时,也会记录一笔commit或rollback xlog,所以如果是高并发的小事务,commit xlog的
1077 0
|
SQL 数据库
FAQ系列 | slow log中出现commit、binlog dump等奇怪的记录
FAQ系列 | slow log中出现commit、binlog dump等奇怪的记录
下一篇
开通oss服务