Mercurial > emacs
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) |