Как узнать кто удалил ветку в геррите - PullRequest
1 голос
/ 27 марта 2020

В нашем репозитории Gerrit кто-то удалил ветку. Есть ли способ просмотреть человека, который удалил эту ветку. Локальный журнал не отображает детали.

Привет Von C, По этой ссылке https://gerrit-review.googlesource.com/Documentation/rest-api-projects.html#get-reflog Я пытаюсь найти детали человека через REST-API.

curl -v -k -H "Authorization: user:<http-password>" -X GET https://gerrit-server/gerrit/projects/core/test-repo/branches/dev/reflog HTTP/1.0

Но это показывает ниже ошибка.

< HTTP/1.1 404 Not Found
< Server: nginx
< Date: Mon, 30 Mar 2020 07:59:55 GMT
< Content-Type: text/plain;charset=utf-8
< Content-Length: 19
< Connection: keep-alive
< Content-Disposition: attachment
< X-Content-Type-Options: nosniff
< Cache-Control: no-cache, no-store, max-age=0, must-revalidate
< Pragma: no-cache
< Expires: Mon, 01 Jan 1990 00:00:00 GMT
<
Not found: core
* Connection #0 to host gerrit-server left intact
Note: Unnecessary use of -X or --request, GET is already inferred.
* Could not resolve host: HTTP
* Closing connection 1
curl: (6) Could not resolve host: HTTP

1 Ответ

0 голосов
/ 27 марта 2020

I упомянул ранее , что один Git не обеспечит адекватный аудит для определения того, кто выдвинул удаление ветви.

Сам Gerrit предлагает ограниченную функцию аудита (например, Gerrit 2.12 и его журнал группового аудита ) или, как указано в OP, reflog .

(возможно, доступ к журналам прослушивателя сервера Gerrit (сервер S SH или HTTPS) Вы можете согласовать возможную дату удаления с некоторым журналом доступа к сети, но, похоже, он выходит за пределы.)

ОП пытается:

 GET https://gerrit-server/gerrit/projects/core/test-repo/branches/dev/reflog

Но это возвращает 404, и при использовании этого вызова API необходимо уважение:

GET /projects/{project-name}/branches/{branch-id}/reflog

Оказалось это была проблема с URL:

 curl --user user:<http-password> https://gerrit-server/gerrit/a/projects/core%2Ftest-repo/branches/dev/reflog

Обратите внимание на '/a/' в gerrit-server/gerrit/a/projects/...: кажется обязательным в случае ОП.

...