comparison lisp/vc.el @ 94861:142a56989604

Reorganize to-do list.
author Eric S. Raymond <esr@snark.thyrsus.com>
date Sun, 11 May 2008 18:30:35 +0000
parents 7f0ec5dfb100
children 112212c5e23c
comparison
equal deleted inserted replaced
94860:8c21639e34cc 94861:142a56989604
550 ;; is specific to a backend and which does not map to any of the VC 550 ;; is specific to a backend and which does not map to any of the VC
551 ;; generic concepts. 551 ;; generic concepts.
552 552
553 ;;; Todo: 553 ;;; Todo:
554 554
555 ;;;; New Primitives:
556 ;;
555 ;; - deal with push/pull operations. 557 ;; - deal with push/pull operations.
556 ;; 558 ;;
557 ;; - "snapshots" should be renamed to "branches", and thoroughly reworked. 559 ;; - add a mechanism for editing the underlying VCS's list of files
560 ;; to be ignored, when that's possible.
561 ;;
562 ;;;; Improved branch and tag handling:
563 ;;
564 ;; - "snapshots" should be renamed to "tags", and thoroughly reworked.
565 ;;
566 ;; - add a generic mechanism for remembering the current branch names,
567 ;; display the branch name in the mode-line. Replace
568 ;; vc-cvs-sticky-tag with that.
569 ;;
570 ;; - C-x v b does switch to a different backend, but the mode line is not
571 ;; adapted accordingly. Also, it considers RCS and CVS to be the same,
572 ;; which is pretty confusing.
573 ;;
574 ;; - vc-create-snapshot and vc-retrieve-snapshot should update the
575 ;; buffers that might be visiting the affected files.
576 ;;
577 ;;;; Default Behavior:
578 ;;
579 ;; - do not default to RCS anymore when the current directory is not
580 ;; controlled by any VCS and the user does C-x v v
581 ;;
582 ;; - vc-responsible-backend should not return RCS if no backend
583 ;; declares itself responsible.
584 ;;
585 ;;;; Internal cleanups:
586 ;;
587 ;; - backends that care about vc-stay-local should try to take it into
588 ;; account for vc-dir. Is this likely to be useful???
589 ;;
590 ;; - vc-expand-dirs should take a backend parameter and only look for
591 ;; files managed by that backend.
592 ;;
593 ;; - Another important thing: merge all the status-like backend operations.
594 ;; We should remove dir-status, state, and dir-status-files, and
595 ;; replace them with just `status' which takes a fileset and a continuation
596 ;; (like dir-status) and returns a buffer in which the process(es) are run
597 ;; (or nil if it worked synchronously). Hopefully we can define the old
598 ;; 4 operations in term of this one.
599 ;;
600 ;;;; Other
558 ;; 601 ;;
559 ;; - when a file is in `conflict' state, turn on smerge-mode. 602 ;; - when a file is in `conflict' state, turn on smerge-mode.
560 ;; 603 ;;
561 ;; - figure out what to do with conflicts that are not caused by the 604 ;; - figure out what to do with conflicts that are not caused by the
562 ;; file contents, but by metadata or other causes. Example: File A 605 ;; file contents, but by metadata or other causes. Example: File A
563 ;; gets renamed to B in one branch and to C in another and you merge 606 ;; gets renamed to B in one branch and to C in another and you merge
564 ;; the two branches. Or you locally add file FOO and then pull a 607 ;; the two branches. Or you locally add file FOO and then pull a
565 ;; change that also adds a new file FOO, ... 608 ;; change that also adds a new file FOO, ...
566 ;; 609 ;;
567 ;; - add a generic mechanism for remembering the current branch names,
568 ;; display the branch name in the mode-line. Replace
569 ;; vc-cvs-sticky-tag with that.
570 ;;
571 ;; - C-x v b does switch to a different backend, but the mode line is not
572 ;; adapted accordingly. Also, it considers RCS and CVS to be the same,
573 ;; which is pretty confusing.
574 ;;
575 ;; - vc-diff should be able to show the diff for all files in a 610 ;; - vc-diff should be able to show the diff for all files in a
576 ;; changeset, especially for VC systems that have per repository 611 ;; changeset, especially for VC systems that have per repository
577 ;; version numbers. log-view should take advantage of this. 612 ;; version numbers. log-view should take advantage of this.
578 ;; 613 ;;
579 ;; - make it easier to write logs. Maybe C-x 4 a should add to the log 614 ;; - make it easier to write logs. Maybe C-x 4 a should add to the log
580 ;; buffer, if one is present, instead of adding to the ChangeLog. 615 ;; buffer, if one is present, instead of adding to the ChangeLog.
581 ;;
582 ;; - add a mechanism for editing the underlying VCS's list of files
583 ;; to be ignored, when that's possible.
584 ;; 616 ;;
585 ;; - When vc-next-action calls vc-checkin it could pre-fill the 617 ;; - When vc-next-action calls vc-checkin it could pre-fill the
586 ;; *VC-log* buffer with some obvious items: the list of files that 618 ;; *VC-log* buffer with some obvious items: the list of files that
587 ;; were added, the list of files that were removed. If the diff is 619 ;; were added, the list of files that were removed. If the diff is
588 ;; available, maybe it could even call something like 620 ;; available, maybe it could even call something like
598 ;; - vc-diff, vc-annotate, etc. need to deal better with unregistered 630 ;; - vc-diff, vc-annotate, etc. need to deal better with unregistered
599 ;; files. Now that unregistered and ignored files are shown in 631 ;; files. Now that unregistered and ignored files are shown in
600 ;; vc-dir, it is possible that these commands are called 632 ;; vc-dir, it is possible that these commands are called
601 ;; for unregistered/ignored files. 633 ;; for unregistered/ignored files.
602 ;; 634 ;;
603 ;; - do not default to RCS anymore when the current directory is not
604 ;; controlled by any VCS and the user does C-x v v
605 ;;
606 ;; - vc-responsible-backend should not return RCS if no backend
607 ;; declares itself responsible.
608 ;;
609 ;; - vc-create-snapshot and vc-retrieve-snapshot should update the
610 ;; buffers that might be visiting the affected files.
611 ;;
612 ;; - Using multiple backends needs work. Given a CVS directory with some 635 ;; - Using multiple backends needs work. Given a CVS directory with some
613 ;; files checked into git (but not all), using C-x v l to get a log file 636 ;; files checked into git (but not all), using C-x v l to get a log file
614 ;; from a file only present in git, and then typing RET on some log entry, 637 ;; from a file only present in git, and then typing RET on some log entry,
615 ;; vc will bombs out because it wants to see the file being in CVS. 638 ;; vc will bombs out because it wants to see the file being in CVS.
616 ;; Those logs should likely use a local variable to hardware the VC they 639 ;; Those logs should likely use a local variable to hardware the VC they
617 ;; are supposed to work with. 640 ;; are supposed to work with.
618 ;;
619 ;; - Another important thing: merge all the status-like backend operations.
620 ;; We should remove dir-status, state, and dir-status-files, and
621 ;; replace them with just `status' which takes a fileset and a continuation
622 ;; (like dir-status) and returns a buffer in which the process(es) are run
623 ;; (or nil if it worked synchronously). Hopefully we can define the old
624 ;; 4 operations in term of this one.
625 ;;
626 ;; - backends that care about vc-stay-local should try to take it into
627 ;; account for vc-dir. Is this likely to be useful???
628 ;;
629 ;; - vc-expand-dirs should take a backend parameter and only look for
630 ;; files managed by that backend.
631 ;; 641 ;;
632 642
633 ;;; Code: 643 ;;; Code:
634 644
635 (require 'vc-hooks) 645 (require 'vc-hooks)