commit 241a3b1222c05b9c84b192f6afa4ee6eb71f4a7f from: Omar Polo date: Wed Aug 11 20:04:51 2021 UTC implement unregister Even if it isn't really useful (it's only used in vc-transfer-file AFAICS) but it's easy to do and maybe can help someone eventually. See also github pr #7 for more background. commit - 26362bf08ddddf6e93d703ea4e7ef8cbd7174fe2 commit + 241a3b1222c05b9c84b192f6afa4ee6eb71f4a7f blob - 6a75d699fb09972eebfac46bcce155085982502f blob + 2f897c15f74a636ac046cad5214bdc8344b8d0fe --- vc-got.el +++ vc-got.el @@ -48,7 +48,7 @@ ;; * register DONE ;; - responsible-p DONE ;; - receive-file NOT NEEDED, default `register' works fine -;; - unregister NOT IMPLEMENTED, no use case +;; - unregister DONE ;; * checkin DONE ;; * find-revision DONE ;; * checkout NOT IMPLEMENTED @@ -566,6 +566,12 @@ FILES is nil, consider all the files in DIR." (vc-got--add files)) (defalias 'vc-got-responsible-p #'vc-got-root) + +(defun vc-got-unregister (file) + "Unregister FILE." + (with-temp-buffer + (unless (zerop (vc-got--call "remove" "-fk" "--" file)) + (error "[vc-got] can't unregister %s: %s" file (buffer-string))))) ;; XXX: generally speaking, files cannot be nil. But we have to ;; handle that case too, because vc-got-stage-commit will call