Summary: | Найти способ запрета публикации merge-коммитов | ||
---|---|---|---|
Product: | [Свободные проекты (Open source projects)] Girar | Reporter: | Vitaly Lipatov <lav> |
Component: | Girar services | Assignee: | Евгений Синельников <sin> |
Status: | CLOSED FIXED | QA Contact: | Vitaly Lipatov <lav> |
Severity: | minor | ||
Priority: | P4 | CC: | baraka, lav, piastry, sin |
Version: | 0.7 | ||
Target Milestone: | --- | ||
Hardware: | PC | ||
OS: | All | ||
Whiteboard: | |||
Заявки RT: | Связано с: | ||
Дата напоминания: | |||
Deadline: | 2013-04-20 |
Description
Vitaly Lipatov
2012-04-16 17:23:08 MSK
Женя, ты возьмёшься провести необходимые исследования и сделать хук для git или патч, в крайнем случае? Надо бы решить эту задачу, чтобы не позволять случайных ошибок. Отладил скрипт взяв варианты проверки из примера: http://stackoverflow.com/questions/5488442/pre-receive-hook-on-server-side-that-refuse-any-push-to-master-which-has-any-non Осталось внести изменения и собрать. Сделал сборку 0.3-alt1.eter46.M60P.47.Build1 для p6 (0.3-alt1.eter47 для сизифа). Обновил git.eter и git.office. Нужно проверить, как всё работает. Для управления проверки и отклонения пакетов коммитов с "мёрджами" добавлена новая команда: $ ssh git.eter help|grep merges merges <path to git repository> [<value>] $ ssh git.eter init-db test-merges girar-init-db: /people/sin/packages/test-merges.git $ ssh git.eter merges test-merges no $ git push git.eter:packages/test-merges master Counting objects: 7282, done. Delta compression using up to 4 threads. Compressing objects: 100% (2799/2799), done. Writing objects: 100% (7282/7282), 1.06 MiB, done. Total 7282 (delta 5015), reused 6554 (delta 4450) remote: Merge commit detected: 52d5de9fc44b8a975fda1be0099e4a72d3fb9d78 To git.eter:packages/test-merges ! [remote rejected] master -> master (pre-receive hook declined) error: failed to push some refs to 'git.eter:packages/test-merges' $ git push git.eter:packages/test-merges old Counting objects: 3711, done. Delta compression using up to 4 threads. Compressing objects: 100% (1474/1474), done. Writing objects: 100% (3711/3711), 571.57 KiB, done. Total 3711 (delta 2596), reused 3211 (delta 2220) remote: Merge commit detected: a878a0213fcde08ec0de19b71e64f44faaf13c49 To git.eter:packages/test-merges ! [remote rejected] old -> old (pre-receive hook declined) error: failed to push some refs to 'git.eter:packages/test-merges' $ ssh git.eter merges test-merges yes $ git push git.eter:packages/test-merges old Counting objects: 3711, done. Delta compression using up to 4 threads. Compressing objects: 100% (1474/1474), done. Writing objects: 100% (3711/3711), 574.96 KiB, done. Total 3711 (delta 2597), reused 3211 (delta 2220) remote: girar-sendmail: email notification about `refs/heads/old' update sent. remote: Repacking repository... done remote: Updating committer date cache... done To git.eter:packages/test-merges * [new branch] old -> old $ ssh git.eter merges test-merges no $ git push git.eter:packages/test-merges master:old Counting objects: 3681, done. Delta compression using up to 4 threads. Compressing objects: 100% (1326/1326), done. Writing objects: 100% (3572/3572), 516.66 KiB, done. Total 3572 (delta 2414), reused 3348 (delta 2229) remote: Merge commit detected: 52d5de9fc44b8a975fda1be0099e4a72d3fb9d78 To git.eter:packages/test-merges ! [remote rejected] master -> old (pre-receive hook declined) error: failed to push some refs to 'git.eter:packages/test-merges' (В ответ на comment #3) > Сделал сборку 0.3-alt1.eter46.M60P.47.Build1 для p6 (0.3-alt1.eter47 для > сизифа). Обновил git.eter и git.office. Нужно проверить, как всё работает. > > Для управления проверки и отклонения пакетов коммитов с "мёрджами" добавлена > новая команда: > $ ssh git.eter help|grep merges > merges <path to git repository> [<value>] Для /projects у нас настроено shared по умолчанию для новых. Можно ли сделать для новых проектов в /projects отключенное разрешение на merges? Готово: 0.3-alt1.eter46.M60P.47.Build2 (0.3-alt1.eter47.Build1) Не понимаю, что означает этот вывод: $ ssh git.eter merges /projects/korinf/korinf.git default $ ssh git.eter merges girar no (by default) |