簡體   English   中英

svn高級開發人員在提交代碼之前進行確認

[英]svn senior Developer confirmation before commit codes

我想通過高級開發人員檢查初級開發人員的代碼,然后再將其提交給SVN。 如何使用SVN進行管理? 我的意思是高級開發人員通知初級開發人員想要提交其代碼(例如,通過電子郵件),並在確認后提交代碼。 我們的SVN在Windows服務器上

謝謝。

Subversion不直接支持“代碼審查”模型,就像您可能習慣使用GitHub Pull Request一樣。 這里有一些附加工具可能會有所幫助,但是我從未推薦過任何附加工具,因為我從未使用過。

您可能想嘗試的是讓開發人員在自己的分支機構中工作並作出承諾,然后請高級開發人員進行審核,然后合並到中央干線或其他分支機構中。

有兩種可能性:

  1. 您可以使用分支和SVN中的--reintegrate選項將它們自動合並回主干。 只要您遵循一些規則(可以彎曲它們,可以破壞它們,但是會遇到困難),此方法就可以很好地工作:

    • 從不進行任何子樹合並(合並子目錄;僅在主干或分支級別合並)
    • 永遠不要在不同分支之間合並,除了要分支的路徑(通常是主干)。 因此,同事之間沒有交叉分支。
    • 始終將分支中的所有提交合並到主干中,並始終將主干中的分支完全同步。 所以不要采摘櫻桃
    • 通過遵循這些規則,您可以輕松合並並保持中繼線清潔,而無需使用任何修訂號。 有關更多詳細信息,請參見svnbook / merging
    • 這也意味着集成合並(從開發人員分支到主干) 始終是無沖突的,因為所有更改(主干)通常都是由開發人員事先合並的。 如果主干維護者在合並期間遇到沖突,他將拒絕分支,並告訴開發人員從主干同步合並以解決其分支上的此沖突。
    • 您應該保護主干免受初級開發人員的提交,但這對整個過程既沒有必要也沒有重要
    • 另請參閱https://stackoverflow.com/a/7387277/23264了解更多信息(帶有一些精美的ascii藝術)
  2. 您可以接受補丁供人們發送。 這是一個非常手動的過程,但是取決於您擁有多少初級開發人員。 請注意,雖然聽起來不可能,但整個svn開發過程都是通過將補丁發送到郵件列表來進行的,直到您發送了足夠的內容以獲得committer-privilege為止。

您可以使初級開發人員僅在分支上工作,並停止將它們提交到主干。 您可以通過設置SVN服務器上特定回購路徑的權限或編寫預提交掛鈎來實現。

如果您使用的是VisualSVN Server,則可以在此對話框中對其進行配置:

VisualSVN服務器路徑屬性

在此示例中,我通過設置覆蓋權限來欺騙。 對於較大的團隊,您希望具有更高的可擴展性,您可以在存儲庫上設置只讀權限,然后顯式地授予開發人員對/ branches /和高級開發人員對/ trunk /的訪問權限。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM