Function: vc-git-delete-revision
vc-git-delete-revision is a byte-compiled function defined in
vc-git.el.gz.
Signature
(vc-git-delete-revision REV)
Documentation
Rebase current branch to remove REV.
Source Code
;; Defined in /usr/src/emacs/lisp/vc/vc-git.el.gz
(defun vc-git-delete-revision (rev)
"Rebase current branch to remove REV."
(vc-git--assert-revision-on-branch rev (vc-git--current-branch))
(with-temp-buffer
(vc-git-command t 0 nil "log" "--merges" (format "%s~1.." rev))
(unless (bobp)
(error "There have been merges since %s; cannot delete revision"
rev)))
(unless (zerop (vc-git-command nil 1 nil "rebase"
rev "--onto" (format "%s~1" rev)))
;; FIXME: Ideally we would leave some sort of conflict for the user
;; to resolve, instead of just giving up. We would want C-x v v to
;; do 'git rebase --continue' like how it can currently be used to
;; conclude a merge after resolving conflicts.
(vc-git-command nil 0 nil "rebase" "--abort")
(error "Merge conflicts while trying to delete %s; aborting" rev)))