- (with-temp-buffer
- (insert-file-contents (concat dir "CVS/Entries"))
- (goto-char (point-min))
- (while (not (eobp))
- (let* ((line (buffer-substring (line-beginning-position)
- (line-end-position)))
- (fields (split-string line "/"))
- text)
- (if (eq (aref line 0) ?/)
- (setq fields (cons "" fields)))
- (setq text (nth 1 fields))
- (when text
- (if (string= (nth 0 fields) "D")
- (setq text (file-name-as-directory text)))
- (setq entries (cons text entries))))
- (forward-line))))
+ (when (file-exists-p (expand-file-name "CVS/Entries" dir))
+ (with-temp-buffer
+ (insert-file-contents (expand-file-name "CVS/Entries" dir))
+ (goto-char (point-min))
+ (while (not (eobp))
+ ;; Normal file: /NAME -> "" "NAME"
+ ;; Directory : D/NAME -> "D" "NAME"
+ (let* ((fields (split-string (buffer-substring
+ (line-beginning-position)
+ (line-end-position))
+ "/"))
+ (text (nth 1 fields)))
+ (when text
+ (if (string= (nth 0 fields) "D")
+ (setq text (file-name-as-directory text)))
+ (setq entries (cons text entries))))
+ (forward-line)))))