2015-09-04 70 views
0

我知道this answer,也許最終無法解決我的問題。但是,我想實現的是:mercurial:我如何在changegroup鉤子中獲取項目的根文件夾名稱?

每當我的服務器上的回購變更集傳入時,我想執行一些自定義任務。我加了hooks部分hgweb.config

[hooks] 
changegroup = printenv > /tmp/test/env.txt 

從信息是printenv給我我看到我能提取我的唯一標識符回購,但項目沒有名字!我確實需要用於API調用的repo根文件夾的名稱。有什麼方法可以獲取這些信息嗎?

+0

外部鉤子應該以倉庫的根作爲工作目錄執行。您可以通過shell腳本中的「$ PWD」或「$(pwd)」來獲得。對於文件夾的最後部分,使用'「$(basename $ PWD)」或'「$(basename」$(pwd)「)」'。 –

+0

我說過,當我查看''printenv''的輸出時,我看到''「$ PWD」''的內容,但是basename是唯一標識符,而不是最初創建時的項目名稱。 – LarsVegas

+2

Mercurial項目沒有名稱,它不存儲在任何地方,除了目錄名稱(或其中的一部分)作爲約定。如果您以不同名稱的目錄存儲存儲庫,則會丟失該信息。 –

回答

0

hg root給你的版本庫所在的目錄

但是沒有「唯一的名稱」或類似的東西 - 它只是一個目錄的名稱,它可以通過對文件的簡單重命名命令來改變系統級別。

相關問題