Mercurial > hg > mercurial-crew-with-dirclash
comparison contrib/mercurial.el @ 2316:3d58376a7103
Emacs: separate limitations of revision range and shown changesets.
For revision range limitation,
use "-r" opt with range notation at "hg log" invocation, and
use hg-rev-completion-limit as default value.
For shown changesets limitation,
use "-l" opt at "hg log" invocation, and
use hg-log-limit as default value.
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Thu, 18 May 2006 22:44:36 -0700 |
parents | 68e84563c540 |
children | 6d0a9de9a8ac |
comparison
equal
deleted
inserted
replaced
2314:e9b5749e4de3 | 2316:3d58376a7103 |
---|---|
388 (and path (file-name-directory path)) | 388 (and path (file-name-directory path)) |
389 nil nil | 389 nil nil |
390 (and path (file-name-nondirectory path)) | 390 (and path (file-name-nondirectory path)) |
391 'hg-file-history)) | 391 'hg-file-history)) |
392 path)))) | 392 path)))) |
393 | |
394 (defun hg-read-number (&optional prompt default) | |
395 "Read a integer value." | |
396 (save-excursion | |
397 (if (or (not default) current-prefix-arg) | |
398 (string-to-number | |
399 (eval (list* 'read-string | |
400 (or prompt "") | |
401 (if default (cons (format "%d" default) nil) nil)))) | |
402 default))) | |
393 | 403 |
394 (defun hg-read-config () | 404 (defun hg-read-config () |
395 "Return an alist of (key . value) pairs of Mercurial config data. | 405 "Return an alist of (key . value) pairs of Mercurial config data. |
396 Each key is of the form (section . name)." | 406 Each key is of the form (section . name)." |
397 (let (items) | 407 (let (items) |
948 (goto-char (point-min)) | 958 (goto-char (point-min)) |
949 (when (looking-at "^searching for changes") | 959 (when (looking-at "^searching for changes") |
950 (kill-entire-line)) | 960 (kill-entire-line)) |
951 (run-hooks 'hg-log-mode-hook)) | 961 (run-hooks 'hg-log-mode-hook)) |
952 | 962 |
953 (defun hg-log (path &optional rev1 rev2) | 963 (defun hg-log (path &optional rev1 rev2 log-limit) |
954 "Display the revision history of PATH, between REV1 and REV2. | 964 "Display the revision history of PATH. |
955 REV1 defaults to hg-log-limit changes from the tip revision, while | 965 History is displayed between REV1 and REV2. |
956 REV2 defaults to the tip. | 966 Number of displayed changesets is limited to LOG-LIMIT. |
967 REV1 defaults to the tip, while | |
968 REV2 defaults to `hg-rev-completion-limit' changes from the tip revision. | |
969 LOG-LIMIT defaults to `hg-log-limit'. | |
957 With a prefix argument, prompt for each parameter." | 970 With a prefix argument, prompt for each parameter." |
958 (interactive (list (hg-read-file-name " to log") | 971 (interactive (list (hg-read-file-name " to log") |
959 (hg-read-rev " to start with" "-1") | 972 (hg-read-rev " to start with" |
960 (hg-read-rev " to end with" (format "-%d" hg-log-limit)))) | 973 "tip") |
974 (hg-read-rev " to end with" | |
975 (format "%d" (- hg-rev-completion-limit))) | |
976 (hg-read-number "Output limited to: " | |
977 hg-log-limit))) | |
961 (let ((a-path (hg-abbrev-file-name path)) | 978 (let ((a-path (hg-abbrev-file-name path)) |
962 (r1 (or rev1 (format "-%d" hg-log-limit))) | 979 (r1 (or rev1 (format "-%d" hg-rev-completion-limit))) |
963 (r2 (or rev2 rev1 "-1"))) | 980 (r2 (or rev2 rev1 "tip")) |
981 (limit (format "%d" (or log-limit hg-log-limit)))) | |
964 (hg-view-output ((if (equal r1 r2) | 982 (hg-view-output ((if (equal r1 r2) |
965 (format "Mercurial: Log of rev %s of %s" rev1 a-path) | 983 (format "Mercurial: Log of rev %s of %s" rev1 a-path) |
966 (format "Mercurial: Log from rev %s to %s of %s" | 984 (format |
967 r1 r2 a-path))) | 985 "Mercurial: at most %s log(s) from rev %s to %s of %s" |
968 (let ((revs (format "%s:%s" r1 r2))) | 986 limit r1 r2 a-path))) |
969 (if (> (length path) (length (hg-root path))) | 987 (eval (list* 'call-process (hg-binary) nil t nil |
970 (call-process (hg-binary) nil t nil "log" "-r" revs path) | 988 "log" |
971 (call-process (hg-binary) nil t nil "log" "-r" revs))) | 989 "-r" (format "%s:%s" r1 r2) |
990 "-l" limit | |
991 (if (> (length path) (length (hg-root path))) | |
992 (cons path nil) | |
993 nil))) | |
972 (hg-log-mode)))) | 994 (hg-log-mode)))) |
973 | 995 |
974 (defun hg-log-repo (path &optional rev1 rev2) | 996 (defun hg-log-repo (path &optional rev1 rev2 log-limit) |
975 "Display the revision history of the repository containing PATH. | 997 "Display the revision history of the repository containing PATH. |
976 History is displayed between REV1, which defaults to the tip, and | 998 History is displayed between REV1 and REV2. |
977 REV2, which defaults to the initial revision. | 999 Number of displayed changesets is limited to LOG-LIMIT, |
978 Variable hg-log-limit controls the number of log entries displayed." | 1000 REV1 defaults to the tip, while |
1001 REV2 defaults to `hg-rev-completion-limit' changes from the tip revision. | |
1002 LOG-LIMIT defaults to `hg-log-limit'. | |
1003 With a prefix argument, prompt for each parameter." | |
979 (interactive (list (hg-read-file-name " to log") | 1004 (interactive (list (hg-read-file-name " to log") |
980 (hg-read-rev " to start with" "tip") | 1005 (hg-read-rev " to start with" |
981 (hg-read-rev " to end with" (format "-%d" hg-log-limit)))) | 1006 "tip") |
982 (hg-log (hg-root path) rev1 rev2)) | 1007 (hg-read-rev " to end with" |
1008 (format "%d" (- hg-rev-completion-limit))) | |
1009 (hg-read-number "Output limited to: " | |
1010 hg-log-limit))) | |
1011 (hg-log (hg-root path) rev1 rev2 log-limit)) | |
983 | 1012 |
984 (defun hg-outgoing (&optional repo) | 1013 (defun hg-outgoing (&optional repo) |
985 "Display changesets present locally that are not present in REPO." | 1014 "Display changesets present locally that are not present in REPO." |
986 (interactive (list (hg-read-repo-name " where changes would go to" nil | 1015 (interactive (list (hg-read-repo-name " where changes would go to" nil |
987 hg-outgoing-repository))) | 1016 hg-outgoing-repository))) |