2009-12-16 26 views
8

由於我在我的免費帳戶上(GitHub)耗盡了我的空間(是的,我正在考慮升級),因此我在Gitorious上設置了新的git存儲庫(另請參閱GitHub vs Gitorious)。 GitHub的一個很棒的功能就是post-commit鉤子,它允許我通知(也很棒)CIA network ...Gitorious是否掛鉤了CIA提交通知?

但是,我一直無法找到Gitorious是否支持這樣的鉤子...所以,我想問一下在CIA網絡上爲Gitorious託管的git存儲庫獲取提交消息的最佳實踐。

更新:使用輔助機制來觸發CIA提交消息的解決方案不是我所期待的。

+1

還發現它在谷歌組上提問,但沒有回答:http://groups.google.com/group/gitorious/browse_thread/thread/3cf48f0f8631cf8a – 2009-12-19 08:56:06

+1

KDE也在努力解決同樣的問題,並且似乎已經做出了一個自定義的解決方案:http://techbase.kde.org/Projects/MovetoGit#Post_Update_hooks – 2009-12-19 08:59:11

回答

2

而是直接推到Gitorious的,推到你已經配置(在其接收後掛機)的本地存儲庫來推動雙方的一切你Gitorious倉庫,並通知CIA。

+0

我將如何配置該本地存儲庫? – 2010-03-07 20:57:23

+1

把你的CIA通知放到更新鉤子中(@maxy放一個鏈接:http://cia.vc/clients/git/ciabot.bash)。在更新後的鉤子中,放置一個「git push --mirror Gitorious/url」(或者git push --all,以較合適的爲準) – 2010-03-07 22:15:32

2

我目前的解決辦法是建立一個LOAL庫(稱爲CIA)和總是通過一個微小的shell腳本推:

#!/bin/bash 
set -e 
git push origin master 
git push cia master 

在我安裝http://cia.vc/clients/git/ciabot.bash電子郵件發送到中情局CIA本地資源庫。

+0

我猜第一推應該是拉? – 2010-01-08 09:45:04

+0

不,我總是將相同的提交推送到兩個不同的存儲庫,這是我希望我的代碼的地方(原產地),以及當我推送 – maxy 2010-01-10 11:44:50

3

KDE項目也有類似的問題在that thread,有一個有趣的選擇:

它不會對gitorious.org機器運行。至少,不 電子郵件/ CIA/RSS /任何報告

這是我們的老git-p4鉤在辦公室的工作原理:
發出了一個UDP包帶版本號的P4機。另一臺機器抓住了它並進行了導入。 (該值被丟棄)

我們可以做同樣的:

  • gitorious.org機發送一個數據包UDP與 改變了分支機構,他們的新SHA-1
  • 另一臺機器提取並生成提交日誌。
    最糟糕的情況是由於丟包UDP而丟失了某人。

就像我說的,這個工程的報告 - 因爲這是由 post-receive鉤運行任何程序。
對於任何需要pre-receive鉤子(實際上,pre-update,但名稱在Git中是錯誤的),它必須在其服務器上運行。

+0

時將發送電子郵件的本地人員(CIA)。你的評論? – 2010-03-07 20:56:22

+0

@Egon:對不起,這是我最初的答案中的第一個不正確的編輯。我的意思是KDE項目。 – VonC 2010-03-07 22:22:15

5

Gitorious正在獲得Web鉤子支持。它目前在gitorious.org上運行,但沒有用於將它們添加到存儲庫的UI;原因是提交數據的JSON表示仍然可能會有一兩次更改,因此應該配置一個測試版功能。

任何人都感慨了起來編寫集成代碼(處理gitorious'網絡掛接請求),請發送電子郵件到gitorious.org支持,我們將建立集成資源庫

+0

請問您可以添加一些URL來獲取更多關於此鉤子支持的信息嗎? – 2010-03-08 08:57:26

+0

生成的JSON有效負載的示例(和歷史)在http://www.postbin.org/wqpx3l – zmalltalker 2010-03-09 12:43:16

+2

那是2010年3月。現在是2012年,我仍然沒有看到這樣的功能! – 2012-09-26 21:26:21

相關問題