2012-11-22 30 views
1

我在一個由5-6名軟件開發人員組成的團隊中工作。我們所有人都在開發Linux(主要是Ubuntu)。我們使用不同的IDE /編輯器編寫代碼(emacs,KDevelop,vim等)。我想強制執行一個策略,使提交的代碼遵循標準格式。我正在尋找的理想解決方案是一個代碼格式化工具(例如bcpp),以指定爲顛覆後檢查鉤。可以有人指導我如何做到這一點?C/C++代碼格式化工具作爲顛覆後檢查鉤子

另外我聽說Ubuntu有一個工具,可以讓你比較不同的格式化工具。有誰知道這樣的工具?如果是,該工具的名稱是什麼

+7

「Ubuntu有一個工具,可以讓你比較不同的格式化工具」 - 元元元元編程? – 2012-11-22 22:40:04

回答

2

的UNIX用於修復一段代碼的命令行工具indent-style被稱爲indent。 除了能夠根據您的口味調整幾乎任何東西外,它還具有用於常用縮進樣式的預定義參數集。

您也可能想要查看Linux內核樹中的checkpatch.pl腳本,該腳本在提交之前必須檢查修補程序。

4

無法(或至少不推薦使用,請參閱msg from the devs here, at end of chapter)更改服務器上的提交事務。

原因是更改不會迴流到客戶端。 SVN服務器只會給出一個「OK」,客戶端認爲他有當前版本(它發送來提交的版本),實際上它被鉤子腳本改變了,因此下一次(在服務器和客戶端上)計算的所有差異將會不正確,因爲服務器和客戶端不同步。

SVN將而不是在提交後發送完整版本的提交文件。

建議的解決辦法是檢查如果文件的格式正確無誤,並拒絕與錯誤信息的提交,如果文件的格式不正確

3
  1. 「檢查」行動在Subversion中不存在,因此「後檢鉤」也不存在 - 您必須學會SVN-specific jargon
  2. 「我想強制執行策略」 - 執行策略是用戶管理問題,而不是VCS。你要學會,how to ask good question
  3. 真的只有pre-commit hooks可以執行(通過阻斷提交)
  4. 無論如何,* -hooks can not modify內容交易的,強制執行將承擔人工返工拒絕提交