711 (insert (documentation 'hg-help-overview)) |
711 (insert (documentation 'hg-help-overview)) |
712 (let ((pos (point))) |
712 (let ((pos (point))) |
713 (insert (documentation 'hg-mode)) |
713 (insert (documentation 'hg-mode)) |
714 (goto-char pos) |
714 (goto-char pos) |
715 (end-of-line 1) |
715 (end-of-line 1) |
716 (delete-region pos (point))))) |
716 (delete-region pos (point))) |
|
717 (cd (hg-root)))) |
717 |
718 |
718 (defun hg-add (path) |
719 (defun hg-add (path) |
719 "Add PATH to the Mercurial repository on the next commit. |
720 "Add PATH to the Mercurial repository on the next commit. |
720 With a prefix argument, prompt for the path to add." |
721 With a prefix argument, prompt for the path to add." |
721 (interactive (list (hg-read-file-name " to add"))) |
722 (interactive (list (hg-read-file-name " to add"))) |
722 (let ((buf (current-buffer)) |
723 (let ((buf (current-buffer)) |
723 (update (equal buffer-file-name path))) |
724 (update (equal buffer-file-name path))) |
724 (hg-view-output (hg-output-buffer-name) |
725 (hg-view-output (hg-output-buffer-name) |
725 (apply 'call-process (hg-binary) nil t nil (list "add" path))) |
726 (apply 'call-process (hg-binary) nil t nil (list "add" path)) |
|
727 ;; "hg add" shows pathes relative NOT TO ROOT BUT TO REPOSITORY |
|
728 (replace-regexp " \\.\\.." " " nil 0 (buffer-size)) |
|
729 (goto-char 0) |
|
730 (cd (hg-root path))) |
726 (when update |
731 (when update |
727 (with-current-buffer buf |
732 (with-current-buffer buf |
728 (hg-mode-line))))) |
733 (hg-mode-line))))) |
729 |
734 |
730 (defun hg-addremove () |
735 (defun hg-addremove () |
889 '(read-only t)) |
894 '(read-only t)) |
890 (goto-char (point-min)) |
895 (goto-char (point-min)) |
891 (search-forward hg-commit-message-start) |
896 (search-forward hg-commit-message-start) |
892 (add-text-properties (match-beginning 0) (match-end 0) |
897 (add-text-properties (match-beginning 0) (match-end 0) |
893 '(read-only t))) |
898 '(read-only t))) |
894 (hg-commit-mode)))))) |
899 (hg-commit-mode) |
|
900 (cd root)))))) |
895 |
901 |
896 (defun hg-diff (path &optional rev1 rev2) |
902 (defun hg-diff (path &optional rev1 rev2) |
897 "Show the differences between REV1 and REV2 of PATH. |
903 "Show the differences between REV1 and REV2 of PATH. |
898 When called interactively, the default behaviour is to treat REV1 as |
904 When called interactively, the default behaviour is to treat REV1 as |
899 the \"parent\" revision, REV2 as the current edited version of the file, and |
905 the \"parent\" revision, REV2 as the current edited version of the file, and |
927 (call-process (hg-binary) nil t nil "diff" "-r" one path)) |
933 (call-process (hg-binary) nil t nil "diff" "-r" one path)) |
928 (t |
934 (t |
929 (call-process (hg-binary) nil t nil "diff" "-r" rev1 "-r" rev2 path))) |
935 (call-process (hg-binary) nil t nil "diff" "-r" rev1 "-r" rev2 path))) |
930 (diff-mode) |
936 (diff-mode) |
931 (setq diff (not (= (point-min) (point-max)))) |
937 (setq diff (not (= (point-min) (point-max)))) |
932 (font-lock-fontify-buffer)) |
938 (font-lock-fontify-buffer) |
|
939 (cd (hg-root path))) |
933 diff)) |
940 diff)) |
934 |
941 |
935 (defun hg-diff-repo (path &optional rev1 rev2) |
942 (defun hg-diff-repo (path &optional rev1 rev2) |
936 "Show the differences between REV1 and REV2 of repository containing PATH. |
943 "Show the differences between REV1 and REV2 of repository containing PATH. |
937 When called interactively, the default behaviour is to treat REV1 as |
944 When called interactively, the default behaviour is to treat REV1 as |
952 With a prefix argument, prompt for the path to forget." |
959 With a prefix argument, prompt for the path to forget." |
953 (interactive (list (hg-read-file-name " to forget"))) |
960 (interactive (list (hg-read-file-name " to forget"))) |
954 (let ((buf (current-buffer)) |
961 (let ((buf (current-buffer)) |
955 (update (equal buffer-file-name path))) |
962 (update (equal buffer-file-name path))) |
956 (hg-view-output (hg-output-buffer-name) |
963 (hg-view-output (hg-output-buffer-name) |
957 (apply 'call-process (hg-binary) nil t nil (list "forget" path))) |
964 (apply 'call-process (hg-binary) nil t nil (list "forget" path)) |
|
965 ;; "hg forget" shows pathes relative NOT TO ROOT BUT TO REPOSITORY |
|
966 (replace-regexp " \\.\\.." " " nil 0 (buffer-size)) |
|
967 (goto-char 0) |
|
968 (cd (hg-root path))) |
958 (when update |
969 (when update |
959 (with-current-buffer buf |
970 (with-current-buffer buf |
960 (hg-mode-line))))) |
971 (hg-mode-line))))) |
961 |
972 |
962 (defun hg-incoming (&optional repo) |
973 (defun hg-incoming (&optional repo) |
1010 "-r" (format "%s:%s" r1 r2) |
1022 "-r" (format "%s:%s" r1 r2) |
1011 "-l" limit |
1023 "-l" limit |
1012 (if (> (length path) (length (hg-root path))) |
1024 (if (> (length path) (length (hg-root path))) |
1013 (cons path nil) |
1025 (cons path nil) |
1014 nil))) |
1026 nil))) |
1015 (hg-log-mode)))) |
1027 (hg-log-mode) |
|
1028 (cd (hg-root path))))) |
1016 |
1029 |
1017 (defun hg-log-repo (path &optional rev1 rev2 log-limit) |
1030 (defun hg-log-repo (path &optional rev1 rev2 log-limit) |
1018 "Display the revision history of the repository containing PATH. |
1031 "Display the revision history of the repository containing PATH. |
1019 History is displayed between REV1 and REV2. |
1032 History is displayed between REV1 and REV2. |
1020 Number of displayed changesets is limited to LOG-LIMIT, |
1033 Number of displayed changesets is limited to LOG-LIMIT, |
1039 (hg-abbrev-file-name (hg-root)) |
1052 (hg-abbrev-file-name (hg-root)) |
1040 (hg-abbrev-file-name |
1053 (hg-abbrev-file-name |
1041 (or repo hg-outgoing-repository)))) |
1054 (or repo hg-outgoing-repository)))) |
1042 (call-process (hg-binary) nil t nil "outgoing" |
1055 (call-process (hg-binary) nil t nil "outgoing" |
1043 (or repo hg-outgoing-repository)) |
1056 (or repo hg-outgoing-repository)) |
1044 (hg-log-mode))) |
1057 (hg-log-mode) |
|
1058 (cd (hg-root)))) |
1045 |
1059 |
1046 (defun hg-pull (&optional repo) |
1060 (defun hg-pull (&optional repo) |
1047 "Pull changes from repository REPO. |
1061 "Pull changes from repository REPO. |
1048 This does not update the working directory." |
1062 This does not update the working directory." |
1049 (interactive (list (hg-read-repo-name " to pull from"))) |
1063 (interactive (list (hg-read-repo-name " to pull from"))) |
1050 (hg-view-output ((format "Mercurial: Pull to %s from %s" |
1064 (hg-view-output ((format "Mercurial: Pull to %s from %s" |
1051 (hg-abbrev-file-name (hg-root)) |
1065 (hg-abbrev-file-name (hg-root)) |
1052 (hg-abbrev-file-name |
1066 (hg-abbrev-file-name |
1053 (or repo hg-incoming-repository)))) |
1067 (or repo hg-incoming-repository)))) |
1054 (call-process (hg-binary) nil t nil "pull" |
1068 (call-process (hg-binary) nil t nil "pull" |
1055 (or repo hg-incoming-repository)))) |
1069 (or repo hg-incoming-repository)) |
|
1070 (cd (hg-root)))) |
1056 |
1071 |
1057 (defun hg-push (&optional repo) |
1072 (defun hg-push (&optional repo) |
1058 "Push changes to repository REPO." |
1073 "Push changes to repository REPO." |
1059 (interactive (list (hg-read-repo-name " to push to"))) |
1074 (interactive (list (hg-read-repo-name " to push to"))) |
1060 (hg-view-output ((format "Mercurial: Push from %s to %s" |
1075 (hg-view-output ((format "Mercurial: Push from %s to %s" |
1061 (hg-abbrev-file-name (hg-root)) |
1076 (hg-abbrev-file-name (hg-root)) |
1062 (hg-abbrev-file-name |
1077 (hg-abbrev-file-name |
1063 (or repo hg-outgoing-repository)))) |
1078 (or repo hg-outgoing-repository)))) |
1064 (call-process (hg-binary) nil t nil "push" |
1079 (call-process (hg-binary) nil t nil "push" |
1065 (or repo hg-outgoing-repository)))) |
1080 (or repo hg-outgoing-repository)) |
|
1081 (cd (hg-root)))) |
1066 |
1082 |
1067 (defun hg-revert-buffer-internal () |
1083 (defun hg-revert-buffer-internal () |
1068 (let ((ctx (hg-buffer-context))) |
1084 (let ((ctx (hg-buffer-context))) |
1069 (message "Reverting %s..." buffer-file-name) |
1085 (message "Reverting %s..." buffer-file-name) |
1070 (hg-run0 "revert" buffer-file-name) |
1086 (hg-run0 "revert" buffer-file-name) |