contrib/mercurial.el
changeset 1175 7e909ceeb36a
parent 1029 b5f0ccad8917
child 1178 a7abffa4b19f
equal deleted inserted replaced
1171:a425bb927ede 1175:7e909ceeb36a
   467   (save-excursion
   467   (save-excursion
   468     (while hg-prev-buffer
   468     (while hg-prev-buffer
   469       (set-buffer hg-prev-buffer))
   469       (set-buffer hg-prev-buffer))
   470     (let ((rev (or default "tip")))
   470     (let ((rev (or default "tip")))
   471       (if current-prefix-arg
   471       (if current-prefix-arg
   472 	  (let ((revs (split-string (hg-chomp
   472 	  (let ((revs (split-string
   473 				     (hg-run0 "-q" "log" "-r"
   473 		       (hg-chomp
   474 					      (format "-%d"
   474 			(hg-run0 "-q" "log" "-r"
   475 						      hg-rev-completion-limit)
   475 				 (format "-%d:tip" hg-rev-completion-limit)))
   476 					      "-r" "tip"))
   476 		       "[\n:]")))
   477 				    "[\n:]")))
       
   478 	    (dolist (line (split-string (hg-chomp (hg-run0 "tags")) "\n"))
   477 	    (dolist (line (split-string (hg-chomp (hg-run0 "tags")) "\n"))
   479 	      (setq revs (cons (car (split-string line "\\s-")) revs)))
   478 	      (setq revs (cons (car (split-string line "\\s-")) revs)))
   480 	    (completing-read (format "Revision%s (%s): "
   479 	    (completing-read (format "Revision%s (%s): "
   481 				     (or prompt "")
   480 				     (or prompt "")
   482 				     (or default "tip"))
   481 				     (or default "tip"))
   964 	(r2 (or rev2 rev1 "-1")))
   963 	(r2 (or rev2 rev1 "-1")))
   965     (hg-view-output ((if (equal r1 r2)
   964     (hg-view-output ((if (equal r1 r2)
   966 			 (format "Mercurial: Log of rev %s of %s" rev1 a-path)
   965 			 (format "Mercurial: Log of rev %s of %s" rev1 a-path)
   967 		       (format "Mercurial: Log from rev %s to %s of %s"
   966 		       (format "Mercurial: Log from rev %s to %s of %s"
   968 			       r1 r2 a-path)))
   967 			       r1 r2 a-path)))
   969       (if (> (length path) (length (hg-root path)))
   968       (let ((revs (format "%s:%s" r1 r2)))
   970 	  (call-process (hg-binary) nil t nil "log" "-r" r1 "-r" r2 path)
   969 	(if (> (length path) (length (hg-root path)))
   971 	(call-process (hg-binary) nil t nil "log" "-r" r1 "-r" r2))
   970 	    (call-process (hg-binary) nil t nil "log" "-r" revs path)
       
   971 	  (call-process (hg-binary) nil t nil "log" "-r" revs)))
   972       (hg-log-mode))))
   972       (hg-log-mode))))
   973 
   973 
   974 (defun hg-log-repo (path &optional rev1 rev2)
   974 (defun hg-log-repo (path &optional rev1 rev2)
   975   "Display the revision history of the repository containing PATH.
   975   "Display the revision history of the repository containing PATH.
   976 History is displayed between REV1, which defaults to the tip, and
   976 History is displayed between REV1, which defaults to the tip, and