[英]Need help[step by step] in setting up and testing a pre-commit hook in SVN running on Linux machine which I access remotely
我會盡量坦率地解決我的問題。
我在 Windows 計算機上。 SVN 存儲庫位於 Linux 機器上。
我遠程訪問 Linux 機器,使用 Putty 並以 root 身份登錄。 一切都是通過命令行完成的。
現在,我必須設置一個預提交鈎子,它不允許在源代碼文件中出現像 [éáú] 這樣的特殊字符。 為了做到這一點,我開始研究如何設置預提交掛鈎。
這是我所做的:
然后我嘗試提交對存儲庫的更改,我得到:
提交被預提交鈎子(退出代碼 255)阻止,沒有輸出
好吧,我發現我設置預提交文件的方式有問題,所以我刪除了腳本並添加了一個簡單的 echo“hello world”。
現在提交通過了,但回顯消息根本沒有出現。 如果我將exit 1放在腳本的末尾,我會收到錯誤代碼 1 並且回顯消息仍然沒有顯示。
我確實在互聯網上進行了高低搜索,但沒有找到解決我的問題的方法。
我需要的:
例如,我看過很多腳本,其中有這樣的內容:
#!/bin/bash
REPOS="$1"
TXN="$2"
我應該在 REPOS 和 TXN 中放入什么? 我假設在 REPOS 中我應該放置存儲庫路徑? TXN呢?
任何幫助表示贊賞。
干杯
預提交鈎子的鋼坯(*Nix 采用)
總是失敗
#!/bin/bash echo You failed 1>&2 exit 1
提交樣本
>svn commit -m "Changes"
Sending Folder1\Folder2\Folder3
Sending Folder4
svn: E165001: Commit failed (details follow):
svn: E165001: Commit blocked by pre-commit hook (exit code 1) with output:
You failed
注意echo
中輸出的正確重定向
關於 $REPO 和 $TXN (已鏈接) SVN Book 章節有完整說明
傳遞給鈎子程序的命令行參數依次為:
- 存儲庫路徑
- 提交事務名稱
因為在預提交鈎子命令中最常用的需要這些參數,比如 svnlook
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.