summary refs log tree commit diff
path: root/emacs/elisp/my-gerrit.el
diff options
context:
space:
mode:
Diffstat (limited to 'emacs/elisp/my-gerrit.el')
-rw-r--r--emacs/elisp/my-gerrit.el76
1 files changed, 0 insertions, 76 deletions
diff --git a/emacs/elisp/my-gerrit.el b/emacs/elisp/my-gerrit.el
deleted file mode 100644
index 4a9dc27..0000000
--- a/emacs/elisp/my-gerrit.el
+++ /dev/null
@@ -1,76 +0,0 @@
-;;; my-gerrit.el --- magit integration for Gerrit -*- lexical-binding: t -*-
-;; Author: Franck Cuny <franck@fcuny.net>
-
-;;; Commentary:
-
-;; interact with Gerrit from magit
-
-;;; Code:
-
-(require 'magit)
-(require 's)
-
-(defgroup my/gerrit nil
-  "Customization options for Gerrit integration with magit."
-  :group 'magit)
-
-(defcustom my/gerrit-remote "origin"
-  "Name of the git remote for Gerrit."
-  :type '(string)
-  :group 'my/gerrit)
-
-(defun my/gerrit-ref (target-branch &optional flags)
-  "Target ref to push change based on TARGET-BRANCH, with optional FLAGS."
-  (let ((flag-suffix (if flags (format "%%%s" (s-join "," flags))
-                       "")))
-    (format "HEAD:refs/for/%s%s" target-branch flag-suffix)))
-
-(transient-define-suffix my/magit-gerrit-push-for-review ()
-  "Push to Gerrit for review."
-  (interactive)
-  (magit-push-refspecs my/gerrit-remote (my/gerrit-ref (magit-main-branch)) nil))
-
-(transient-append-suffix 'magit-push "m"
-  '("R" "push to Gerrit for review" my/magit-gerrit-push-for-review))
-
-;; By appending `%wip' to the ref, we mark the change as `work in progress'.
-;; https://gerrit-review.googlesource.com/Documentation/intro-user.html#wip
-(transient-define-suffix my/magit-gerrit-push-for-review-wip ()
-  "Push to Gerrit as work in progress."
-  (interactive)
-  (magit-push-refspecs my/gerrit-remote (my/gerrit-ref (magit-main-branch) '("wip")) nil))
-
-(transient-append-suffix 'magit-push "R"
-  '("W" "push to Gerrit for review (WIP)" my/magit-gerrit-push-for-review-wip))
-
-;; By appending `%ready' to the ref, we mark the change as ready for
-;; review.
-;; https://gerrit-review.googlesource.com/Documentation/intro-user.html#wip
-(transient-define-suffix my/magit-gerrit-push-for-review-ready ()
-  "Push to Gerrit as ready."
-  (interactive)
-  (magit-push-refspecs my/gerrit-remote (my/gerrit-ref (magit-main-branch) '("ready")) nil))
-
-(transient-append-suffix 'magit-push "W"
-  '("r" "push to Gerrit for review (ready)" my/magit-gerrit-push-for-review-ready))
-
-;; For this to work, permissions need to be setup, as per
-;; https://gerrit-review.googlesource.com/Documentation/user-upload.html#auto_merge
-(transient-define-suffix my/magit-gerrit-submit ()
-  (interactive)
-  (magit-push-refspecs my/gerrit-remote (my/gerrit-ref (magit-main-branch) '("submit")) nil))
-
-(transient-append-suffix 'magit-push "r"
-  '("P" "push to Gerrit to submit change" my/magit-gerrit-submit))
-
-(transient-define-suffix my/magit-gerrit-shipit ()
-  "Ship it."
-  (interactive)
-  (magit-push-refspecs my/gerrit-remote (my/gerrit-ref (magit-main-branch)'("l=Code-Review+2" "publish-comments")) nil))
-
-(transient-append-suffix 'magit-push "P"
-  '("S" "Approve the change in Gerrit" my/magit-gerrit-shipit))
-
-(provide 'my-gerrit)
-
-;;; my-gerrit.el ends here