[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/vc-got 8228942 050/145: fix vc-got-dir-status-files
From: |
ELPA Syncer |
Subject: |
[elpa] externals/vc-got 8228942 050/145: fix vc-got-dir-status-files |
Date: |
Thu, 9 Sep 2021 15:58:31 -0400 (EDT) |
branch: externals/vc-got
commit 82289421895601458f16fa160107b9154be83342
Author: Omar Polo <op@omarpolo.com>
Commit: Omar Polo <op@omarpolo.com>
fix vc-got-dir-status-files
now it works correctly even when an untracked files gets deleted.
---
vc-got.el | 40 +++++++++++++++++++++++++---------------
1 file changed, 25 insertions(+), 15 deletions(-)
diff --git a/vc-got.el b/vc-got.el
index c36a3ac..746bd0b 100755
--- a/vc-got.el
+++ b/vc-got.el
@@ -362,21 +362,31 @@ DIR-OR-FILE."
(vc-got--parse-status-flag (vc-got--status file))))
(defun vc-got-dir-status-files (dir files update-function)
- (let ((fs (seq-filter (lambda (file)
- (and (not (string= file ".."))
- (not (string= file "."))
- (not (string= file ".got"))))
- (or files
- (directory-files dir)))))
- (cl-loop with result = (mapcar (lambda (x)
- (list (car x) (cdr x) nil))
- (vc-got--parse-status
- (apply #'vc-got--status dir files)))
- for file in fs
- do (unless (cadr (assoc file result #'string=))
- (cl-pushnew (list file 'up-to-date nil)
- result))
- finally (funcall update-function result nil))))
+ (let* ((fs (seq-filter (lambda (file)
+ (and (not (string= file ".."))
+ (not (string= file "."))
+ (not (string= file ".got"))))
+ (or files
+ (directory-files dir))))
+ (stats (vc-got--parse-status (apply #'vc-got--status dir files)))
+ (res))
+ ;; collect deleted and removed files
+ (cl-loop for (file . st) in stats
+ do (when (or (eq st 'missing)
+ (eq st 'removed))
+ (push (list file st nil) res)))
+ (cl-loop for file in fs
+ do (let ((s (if (file-directory-p file)
+ (list file 'unregistered nil)
+ (if-let (status (cdr (assoc file stats #'string=)))
+ (list file status nil)
+ ;; if file doesn't exists, it's a
+ ;; untracked file that was removed.
+ (when (file-exists-p file)
+ (list file 'up-to-date nil))))))
+ (when s
+ (push s res)))
+ finally (funcall update-function res nil))))
(defun vc-got-dir-extra-headers (_dir)
(concat
- [elpa] externals/vc-got 65255dc 133/145: update README.md, (continued)
- [elpa] externals/vc-got 65255dc 133/145: update README.md, ELPA Syncer, 2021/09/09
- [elpa] externals/vc-got c3185bf 113/145: add various -- to avoid arguments being interpreted as flags, ELPA Syncer, 2021/09/09
- [elpa] externals/vc-got 8b45e61 137/145: mention version requirement for got send, ELPA Syncer, 2021/09/09
- [elpa] externals/vc-got d06f988 019/145: suggest to add .got to vc-directory-exclusion-list, ELPA Syncer, 2021/09/09
- [elpa] externals/vc-got ba12390 027/145: adding vc-got-stage, ELPA Syncer, 2021/09/09
- [elpa] externals/vc-got 21914ca 032/145: apply-impl should not be interactive, ELPA Syncer, 2021/09/09
- [elpa] externals/vc-got 0a66694 046/145: vc-got--log: add flag for reverse and mark as no side effects, ELPA Syncer, 2021/09/09
- [elpa] externals/vc-got a5c1731 047/145: drop vc-got-stage, ELPA Syncer, 2021/09/09
- [elpa] externals/vc-got 8da4c01 049/145: remove debugging comments, ELPA Syncer, 2021/09/09
- [elpa] externals/vc-got 3f25d9f 051/145: add vc-got-annotate (#4), ELPA Syncer, 2021/09/09
- [elpa] externals/vc-got 8228942 050/145: fix vc-got-dir-status-files,
ELPA Syncer <=
- [elpa] externals/vc-got fab791a 052/145: vc-got--call flatten and filter arg list, ELPA Syncer, 2021/09/09
- [elpa] externals/vc-got 8b635a9 054/145: implement repository-url, ELPA Syncer, 2021/09/09
- [elpa] externals/vc-got c27df03 055/145: print more info in vc-got-dir-extra-headers, ELPA Syncer, 2021/09/09
- [elpa] externals/vc-got a96df0e 056/145: provide unregister and delete-file commands (#7), ELPA Syncer, 2021/09/09
- [elpa] externals/vc-got 3d2d3c3 059/145: drop vc-got-unregister, not used, ELPA Syncer, 2021/09/09
- [elpa] externals/vc-got c819459 077/145: trap c-g during stage operation, ELPA Syncer, 2021/09/09
- [elpa] externals/vc-got eacbf76 065/145: don't hardcode got questions, ELPA Syncer, 2021/09/09
- [elpa] externals/vc-got 2d83de2 074/145: implement vc-got-dir-printer, ELPA Syncer, 2021/09/09
- [elpa] externals/vc-got 43c93a8 063/145: typo, ELPA Syncer, 2021/09/09
- [elpa] externals/vc-got 6eea6cf 075/145: drop unnecessary `:group's directive in defcustom, ELPA Syncer, 2021/09/09