我試圖在Git中使用Trac。在Trac中使用Git commit消息關閉門票
- 我已經配置了Git的插件 - 它 正確地顯示在 「瀏覽源代碼」選項卡存儲庫和變更。
- 打開CommitTicketUpdater 插件,配置它:關閉 驗證,設置爲不使用任何 括號,左側關鍵字爲默認值。
- 增加了一些門票。
- 完成提交包含「close#5」的消息。
Trac看到門票號碼(在變更中它被標記爲紅色並鏈接到門票)但沒有關閉門票否5.什麼可能是錯誤的?
TIA
我試圖在Git中使用Trac。在Trac中使用Git commit消息關閉門票
Trac看到門票號碼(在變更中它被標記爲紅色並鏈接到門票)但沒有關閉門票否5.什麼可能是錯誤的?
TIA
如果我按照documentation,你應該嘗試與closes #5
。如果它仍然不起作用,請嘗試檢測post-commit-hook is correctly configured。
#XXX
是引用XXX票據的標準Trac/Wiki語法,另一方面,[YYYY]
將引用YYYY提交,即使未定義任何提交後掛鉤,它也將始終工作。
一定要通過following this link
很不幸,如果它不識別'關閉#5',Git提交消息標準通常使用命令式的心情。 –
其實我試過文檔中列出的大多數關鍵字,包括「關閉」,「關閉」,還嘗試過「參考」,「看到」等。 – alekwisnia
@alekwisnia:它似乎是後提交鉤子不正確配置或啓動 –
我放棄了Trac系統激活後提交鉤,切換到管理平臺。它現在更好一點 - 與給定機票的ID參考票據承諾,但再次 - 「修復#1」不關閉票號1 ... Afaik Redmine不需要掛鉤..
是的,有點愚蠢,Trac需要一個運行「trac-admin TRAC_ENV changeset added」的git post-receive鉤子。它可以每隔一段時間檢查一次新的提交。 –
如何你使用trac存儲庫?通常情況下,您的trac運行在您推送到的服務器上。推後鉤子不會運行。
在這種情況下,您需要一個post-receive鉤子。 我對git-plugin包中的post-receive hook做了一些修改,因爲它有一些bug。 (f.ex.你只能對trac中的一張票進行一次更改/秒,所以我不得不添加一次睡眠(1),因爲當你按下所有的提交時,將會在同一秒內得到處理,而且你還可以提供一些工作小時)
這種後收到鉤可以在我的github上可以找到:https://github.com/JensTimmerman/TRAC-SVN-to-GIT-migration/blob/master/hooks/trac-post-receive-hook.py
您必須安裝這/path/to/your/.git/hooks/post-receive 和確保它是可執行的(在linux中爲chmod + x /path/to/your/.git/hooks/post-receive),並將「TRAC_ENV ='/ home/jens/tractest /'」更改爲指向您的trac環境。
編輯:
如果你不是在同一臺服務器上託管你的Git倉庫,你正在運行TRAC你可以做一個拉一個臨時混帳回購協議,並再次推到一個TRAC使用帶有cron工作左右。這將再次觸發您的真實存儲庫中的post-receive鉤子並更新trac。
我有這樣的到位:
[email protected]:~/git$ ls
gitcron.log realrepo syncgit.sh tmprepo
其中tmprepo只是其中i推拉並realrepo有我的位置後收到鉤。 與syncgit.sh:
cd /home/username/git/tmprepo;
git pull;
git push real;
和tmprepo一套遠程 '真實' 到
[email protected]:~/git/tmprepo$ git remote -v show
origin https://[email protected]/hpcugent/easybuild.git
real ../realrepo/
,一切得到的由crontab項目同步(把這個crontab -e命令)
*/3 * * * * /hhome/username/git/syncgit.sh >> /home/username/git/gitcron.log 2>&1
這裏有一個想法:用Trac在服務器上創建一個裸克隆鏡像(帶有必要的post-receive hook)。你可以用cron作業每小時推鏡頭。 –
這是一個更好的方法,使用本地回購,並在達到某種穩定表單時推送到服務器(與post-receive掛鉤)。 –
是的,如果你在Trac所在的同一臺服務器上託管git repo,那就行得通了。所以我會說「不同」,而不是「更好」。 :)如果您的回購託管在其他地方(如Github),我的建議很方便。 –
我有同樣的問題。 git的CommitTicketUpdater插件似乎默認期待各地術語方括號,如[關閉#5]也在這blog entry
爲commit_ticket_update_envelope
見trac.init如果有幫助,我充滿了我的trac INI下列要求:
[機票] commit_ticket_update_commands.close =接近
的官方文件宣稱,如果你離開「commit_ticket_update_commands.close =」空,commiter更新將使用一些默認的關鍵字,以決定是否必須關閉票,但這對我不起作用。唯一可行的是在該字段中明確設置一些關鍵字,例如(commit_ticket_update_commands.close = close)
您可以發佈您當前用於提交後掛鉤腳本的代碼嗎? – bta
'/ usr/local/bin/trac-admin/home/trac/project changeset添加了「$ 1」「$ 2」' – alekwisnia
@ alekwisnia-是存儲在倉庫中的'hooks/post-commit',還是在單獨的腳本「後提交」調用? – bta