@@ -944,6 +944,8 @@ vc-git-checkin
(let ((default-directory (file-name-directory file1)))
(make-nearby-temp-file "git-msg")))))
(when vc-git-patch-string
+ (unless (eq (vc-git-command nil t nil "diff" "--cached" "--quiet") 0)
+ (error "Index not empty"))
user-error, maybe?
Will be fixed.
(let ((patch-file (make-temp-file "git-patch")))
(with-temp-file patch-file
(insert vc-git-patch-string))
Looking great otherwise. Please install whenever you think it's ready.
Not yet great :) I tried to fix another long-standing problem
because its solution should also define the names of new functions here.
The problem is that currently using 'C-c C-d' (log-edit-show-diff)
in the *vc-log* buffer doesn't show the same diff that will be really
committed when different files were marked in *vc-dir* parent buffer
before typing 'C-c C-c' in *vc-log*.
This is because currently log-edit-diff-function is set to vc-diff
that is not suitable here since it tries to deduce fileset again
from *vc-dir*, but files to commit are set in the buffer-local
'vc-log-fileset' in *vc-log*. So I added a new function
'log-edit-diff-fileset' that shows the diff from 'vc-log-fileset'.
Using the same naming scheme, I renamed 'vc-diff-patch' to
'log-edit-diff-patch'.
This shows the difference from the previous patch,
but later these changes could be committed separately: