天天看點

5、Gerrit權限控制

此權限允許使用者丢棄一個送出的change。如果使用者有push權限,給使用者配置設定此權限的同時使用者也被配置設定了restore a change的權限。

此權限管理使用者是有可以建立references,branches,tags。此權限一般與普通的push權限一起被配置設定。

僞造發起人權限,此權限允許使用者繞過送出時的身份驗證(Gerrit預設會比對送出資訊中author或者committer行中的email位址,如果 Email位址不比對,則不允許送出)。

僞造送出者權限,此權限允許使用者繞過送出時的身份驗證(Gerrit預設會比對送出資訊中author或者committer行中的email位址,如果 Email位址不比對,則不允許送出 )。

僞造Gerrit伺服器權限,此權限允許在committer行中使用server owner和email

此權限允許使用者修改香項目的配置,具體如下:

修改項目描述 通過ssh的"create-branch"指令建立分支 在web UI界面建立/删除branch 允許/撤銷任何通路權限,包括Owner權限。

此分類控制使用者被允許怎樣推送新commit到Gerrit。

所有已存在的branch可以快進到新的commit。建立新分支受“Create Reference”控制,不允許删除已存在的分支,這是最安全的模式(因為commit不可以被丢棄)。

允許已存在的branch被删除。開啟此選項可以從項目曆史中删除送出記錄。

此權限主要用來給那些隻想用Gerrit的通路控制,不需要Gerrit的代碼審查功能的工程使用。

此push權限配置設定在refs/for/refs/heads/BRANCH命名空間上,允許使用者送出一個未合并(non-merge)的commit到refs/for/BRANCH命名空間,建立一個新的代碼審查change。

使用者必須能夠clone和fetch一個工程才可以送出change,是以使用者還必須擁有Read權限。

此權限允許使用者送出merge commits,它是Push權限的附屬物,如果想隻允許通過Gerrit做merge操作,那麼應該隻配置設定Push僅限而不配置設定此權限。

此類權限允許使用者向工程倉庫送出一個annotated tag。通常使用以下兩種方式送出:

git push ssh://USER@HOST:PORT/PROJECT tag v1.0 或者:

Tags必須被注釋(使用git tag -a),必須在refs/tags/下存在,而且必須是新的。

一般在工程達到了穩定且可釋出的時候會打一個Tag。

此權限允許建立一個未簽名的Tag。打Tag者的email位址必須與目前使用者的一緻。

如果要送出不是自己打的Tag,則必須同時配置設定Forge Committer Identity權限。

如果要送出輕标簽(lightweight tags)配置設定Create Reference權限給引用/refs/tags/*

如果要删除或覆寫一個已存在的tag,配置設定Push權限并開啟Force option。

此類權限允許使用者向工程倉庫送出一個PGP簽名的 tag。通常使用以下兩種方式送出:

此類權限控制工程的changes, comments,和code diffs可見性,和是否可通過SSH或HTTP通路Git。

如果在單獨工程的ACL中設定的此權限,那麼全局ACL中的設定将不起作用。

此類僅限允許使用者通過web頁面的“Rebase Change”按鈕衍合(Rebase)修改

此類權限允許使用者在一個change的reviewers list中移除其他使用者。

change所屬者可以移除0分或負分的reviewers(即使沒有此權限)。

項目所有者和網站管理者可以移除所有reviewers(即使沒有此權限)。

沒有此權限的使用者隻可以移除自己。

// TODO

此類權限允許使用者送出changes。

送出一個change會使該change盡可能快的合并到目的分支,使其作為項目曆史永久的一部分。

為了送出change,所有的labels都必須允許送出,并且不能block它。

如果要快速送出一個push上的change,使用者需要在refs/for/<ref>(e.g. on refs/for/refs/heads/master)有此權限。

此類權限允許有Submit權限的使用者代表其他使用者送出change。

在project.config檔案中,此權限被命名為submitAs。

此類權限允許使用者檢視其他使用者送出的drafts changes

change所用者和任何明确添加的reviewers也可以檢視(即使沒用此權限)

此類權限允許使用者釋出其他使用者送出的drafts changes

此類權限允許使用者删除其他使用者送出的drafts changes

允許使用者編輯送出到review的change的話題名。

change所用者,分支所用者,項目所用者和網站管理者都可以編輯此話題名(即使沒有此權限)。

“Force Edit”辨別控制是否可以編輯已關閉的change标題,如果此辨別設定隻能編輯open changes,則不可以編輯已關閉的change 标題。

允許使用者在送出到reviews的changes上添加或移除hashtags。

其他權限:

Often changes that together implement a feature or a user story are group by a topic.

Set Topic on Push

1

<code>  </code><code>$ git push origin HEAD:refs</code><code>/for/master</code><code>%topic=multi-master</code>

Changes can be uploaded as drafts. By default draft changes are only visible to the change owner. This gives you the possibility to have some staging before making your changes visible to the reviewers. Draft changes can also be used to backup unfinished changes.

A draft change is created by pushing to the magic <code>refs/drafts/&lt;target-branch&gt;</code> ref.

Push a Draft Change

By pushing to <code>refs/drafts/&lt;target-branch&gt;</code> you can also upload draft patch sets to non-draft changes. Draft patch sets are immediately visible to all reviewers of the change, but other users cannot see the draft patch set. A draft patch set can be published and deleted in the same way as a draft change.

本文轉自 曾哥最愛 51CTO部落格,原文連結:http://blog.51cto.com/zengestudy/1774176,如需轉載請自行聯系原作者