comparison lisp/vc.el @ 94569:c6ccf57e7e6e

Added to-do items.
author Eric S. Raymond <esr@snark.thyrsus.com>
date Sat, 03 May 2008 06:01:19 +0000
parents a0bb8ca25a33
children b288a2a8adc3
comparison
equal deleted inserted replaced
94568:b7071012e28e 94569:c6ccf57e7e6e
602 ;; - "snapshots" should be renamed to "branches", and thoroughly reworked. 602 ;; - "snapshots" should be renamed to "branches", and thoroughly reworked.
603 ;; 603 ;;
604 ;; - when a file is in `conflict' state, turn on smerge-mode. 604 ;; - when a file is in `conflict' state, turn on smerge-mode.
605 ;; 605 ;;
606 ;; - figure out what to do with conflicts that are not caused by the 606 ;; - figure out what to do with conflicts that are not caused by the
607 ;; file contents, but by metadata or other causes. 607 ;; file contents, but by metadata or other causes. Example: File A
608 ;; gets renamed to B in one branch and to C in another and you merge
609 ;; the two branches. Or you locally add file FOO and then pull a
610 ;; change that also adds a new file FOO, ...
608 ;; 611 ;;
609 ;; - add a generic mechanism for remembering the current branch names, 612 ;; - add a generic mechanism for remembering the current branch names,
610 ;; display the branch name in the mode-line. Replace 613 ;; display the branch name in the mode-line. Replace
611 ;; vc-cvs-sticky-tag with that. 614 ;; vc-cvs-sticky-tag with that.
615 ;;
616 ;; - C-x v b does switch to a different backend, but the mode line is not
617 ;; adapted accordingly. Also, it considers RCS and CVS to be the same,
618 ;; which is pretty confusing.
612 ;; 619 ;;
613 ;; - vc-diff should be able to show the diff for all files in a 620 ;; - vc-diff should be able to show the diff for all files in a
614 ;; changeset, especially for VC systems that have per repository 621 ;; changeset, especially for VC systems that have per repository
615 ;; version numbers. log-view should take advantage of this. 622 ;; version numbers. log-view should take advantage of this.
616 ;; 623 ;;
669 ;; from a file only present in git, and then typing RET on some log entry, 676 ;; from a file only present in git, and then typing RET on some log entry,
670 ;; vc will bombs out because it wants to see the file being in CVS. 677 ;; vc will bombs out because it wants to see the file being in CVS.
671 ;; Those logs should likely use a local variable to hardware the VC they 678 ;; Those logs should likely use a local variable to hardware the VC they
672 ;; are supposed to work with. 679 ;; are supposed to work with.
673 ;; 680 ;;
681 ;; - Another important thing: merge all the status-like backend operations.
682 ;; We should remove dir-status, state, dir-state, and dir-status-files, and
683 ;; replace them with just `status' which takes a fileset and a continuation
684 ;; (like dir-status) and returns a buffer in which the process(es) are run
685 ;; (or nil if it worked synchronously). Hopefully we can define the old
686 ;; 4 operations in term of this one.
687 ;;
674 ;; - backends that care about vc-stay-local should try to take it into 688 ;; - backends that care about vc-stay-local should try to take it into
675 ;; account for vc-dir. Is this likely to be useful??? 689 ;; account for vc-dir. Is this likely to be useful???
676 ;; 690 ;;
677 ;; - vc-dir listing needs a footer generated when it's done to make it obvious 691 ;; - vc-dir listing needs a footer generated when it's done to make it obvious
678 ;; that it has finished. 692 ;; that it has finished.
679 ;; 693 ;;
694
680 ;;; Code: 695 ;;; Code:
681 696
682 (require 'vc-hooks) 697 (require 'vc-hooks)
683 (require 'tool-bar) 698 (require 'tool-bar)
684 (require 'ewoc) 699 (require 'ewoc)
1502 (message "All version-controlled files below %s selected." 1517 (message "All version-controlled files below %s selected."
1503 default-directory) 1518 default-directory)
1504 (cons 1519 (cons
1505 (vc-responsible-backend default-directory) 1520 (vc-responsible-backend default-directory)
1506 (list default-directory)))) 1521 (list default-directory))))
1522 ;; If we're allowing unregistered fiiles and visiting one, select it.
1507 ((and allow-unregistered (not (vc-registered buffer-file-name))) 1523 ((and allow-unregistered (not (vc-registered buffer-file-name)))
1508 (cons (vc-responsible-backend 1524 (cons (vc-responsible-backend
1509 (file-name-directory (buffer-file-name))) 1525 (file-name-directory (buffer-file-name)))
1510 (list buffer-file-name))) 1526 (list buffer-file-name)))
1511 (t (error "No fileset is available here."))))) 1527 (t (error "No fileset is available here.")))))