aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChong Yidong2010-03-25 18:57:13 -0400
committerChong Yidong2010-03-25 18:57:13 -0400
commitc0c035fa6ae2ecc7656bf1cdf5b75594411bbb0f (patch)
tree5583b9de8166421dcfa2208e428b44f43e0c68c2
parentf2608df3a3700ebefa1293ba0f91ec9d8cf4a9aa (diff)
downloademacs-c0c035fa6ae2ecc7656bf1cdf5b75594411bbb0f.tar.gz
emacs-c0c035fa6ae2ecc7656bf1cdf5b75594411bbb0f.zip
Document VC changes: vc-log-show-limit and vc-print-root-log.
* maintaining.texi (VC With A Merging VCS): C-x v v now creates a repository if there is none. (VC Change Log): Rename from VC Status. Document vc-log-show-limit and vc-print-root-log. (Old Revisions): Copyedits. * emacs.texi: Update.
-rw-r--r--doc/emacs/ChangeLog6
-rw-r--r--doc/emacs/emacs.texi2
-rw-r--r--doc/emacs/maintaining.texi142
-rw-r--r--etc/NEWS25
4 files changed, 107 insertions, 68 deletions
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog
index 741b226267d..dbed31f865c 100644
--- a/doc/emacs/ChangeLog
+++ b/doc/emacs/ChangeLog
@@ -1,5 +1,11 @@
12010-03-25 Chong Yidong <cyd@stupidchicken.com> 12010-03-25 Chong Yidong <cyd@stupidchicken.com>
2 2
3 * maintaining.texi (VC With A Merging VCS): C-x v v now creates a
4 repository if there is none.
5 (VC Change Log): Rename from VC Status. Document vc-log-show-limit and
6 vc-print-root-log.
7 (Old Revisions): Copyedits.
8
3 * programs.texi (Program Modes): Mention Javascript mode. 9 * programs.texi (Program Modes): Mention Javascript mode.
4 10
5 * text.texi (HTML Mode): Note that nXML is now the default XML mode. 11 * text.texi (HTML Mode): Note that nXML is now the default XML mode.
diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi
index a21bf44ee40..450c5e3a684 100644
--- a/doc/emacs/emacs.texi
+++ b/doc/emacs/emacs.texi
@@ -794,7 +794,7 @@ Basic Editing under Version Control
794The Secondary Commands of VC 794The Secondary Commands of VC
795 795
796* Registering:: Putting a file under version control. 796* Registering:: Putting a file under version control.
797* VC Status:: Viewing the VC status of files. 797* VC Change Log:: Viewing the VC Change Log.
798* VC Undo:: Canceling changes before or after check-in. 798* VC Undo:: Canceling changes before or after check-in.
799 799
800VC Directory Mode 800VC Directory Mode
diff --git a/doc/emacs/maintaining.texi b/doc/emacs/maintaining.texi
index 6e3fa959ca2..0fc02c25e7a 100644
--- a/doc/emacs/maintaining.texi
+++ b/doc/emacs/maintaining.texi
@@ -403,10 +403,10 @@ Directory buffer, and some files in it are marked, the VC fileset
403consists of the marked files (@pxref{VC Directory Mode}). 403consists of the marked files (@pxref{VC Directory Mode}).
404 404
405 The principal VC command is an all-purpose command, @kbd{C-x v v} 405 The principal VC command is an all-purpose command, @kbd{C-x v v}
406(@code{vc-next-action}), that performs either locking, merging or a 406(@code{vc-next-action}), that performs either registration, locking,
407check-in (depending on the situation) on the current VC fileset. You 407merging or a check-in (depending on the situation) on the current VC
408can use @kbd{C-x v v} in a file-visiting buffer or in a VC Directory 408fileset. You can use @kbd{C-x v v} in a file-visiting buffer or in a
409buffer. 409VC Directory buffer.
410 410
411@table @kbd 411@table @kbd
412@itemx C-x v v 412@itemx C-x v v
@@ -461,23 +461,31 @@ unmodified; it flips to @samp{:} as soon as you save any changes
461 461
462@itemize @bullet 462@itemize @bullet
463@item 463@item
464If the work file is the same as in the repository, it does nothing. 464If the work file is in a directory that is not controlled by any
465version control system, prompt for a repository type. Then, create a
466version control repository of that type and register the file with it.
467
468@item
469If the work file is in a directory that is controlled by a version
470control system but not registered with it, register the file.
471
472@item
473If the work file is the same as in the repository, do nothing.
465 474
466@item 475@item
467If you have not changed the work file, but some other user has checked 476If you have not changed the work file, but some other user has checked
468in changes to the repository, @kbd{C-x v v} merges those changes into 477in changes to the repository, merge those changes into the work file.
469the work file.
470 478
471@item 479@item
472If you have made modifications to the work file, @kbd{C-x v v} 480If you have made modifications to the work file, attempts to check in
473attempts to check in your changes. To do this, Emacs first reads the 481your changes. To do this, Emacs first reads the log entry for the new
474log entry for the new revision (@pxref{Log Buffer}). If some other 482revision (@pxref{Log Buffer}). If some other user has checked in
475user has checked in changes to the repository since you last checked 483changes to the repository since you last checked it out, the checkin
476it out, the checkin fails. In that case, type @kbd{C-x v v} again to 484fails. In that case, type @kbd{C-x v v} again to merge those changes
477merge those changes into your own work file; this puts the work file 485into your own work file; this puts the work file into a ``conflicted''
478into a ``conflicted'' state. Type @kbd{C-x v v} to clear the 486state. Type @kbd{C-x v v} to clear the ``conflicted'' state; VC then
479``conflicted'' state; VC then regards the file as up-to-date and 487regards the file as up-to-date and modified, and you can try to check
480modified, and you can try to check it in again. 488it in again.
481 489
482To pick up any recent changes from the repository @emph{without} 490To pick up any recent changes from the repository @emph{without}
483trying to commit your own changes, type @kbd{C-x v m @key{RET}}. 491trying to commit your own changes, type @kbd{C-x v m @key{RET}}.
@@ -485,15 +493,15 @@ trying to commit your own changes, type @kbd{C-x v m @key{RET}}.
485@end itemize 493@end itemize
486 494
487 These rules also apply when you use RCS in its ``non-locking'' mode, 495 These rules also apply when you use RCS in its ``non-locking'' mode,
488except that changes will not be automatically merged from the 496except that changes are not automatically merged from the repository.
489repository. Nothing informs you if another user has checked in 497Nothing informs you if another user has checked in changes in the same
490changes in the same file since you began editing it; when you check in 498file since you began editing it; when you check in your revision, his
491your revision, his changes are removed (however, they remain in the 499changes are removed (however, they remain in the repository and are
492repository and are thus not irrevocably lost). Therefore, you must 500thus not irrevocably lost). Therefore, you must verify that the
493verify that the current revision is unchanged before checking in your 501current revision is unchanged before checking in your changes. In
494changes. In addition, locking is possible with RCS even in this mode: 502addition, locking is possible with RCS even in this mode: @kbd{C-x v
495@kbd{C-x v v} with an unmodified file locks the file, just as it does 503v} with an unmodified file locks the file, just as it does with RCS in
496with RCS in its normal locking mode (@pxref{VC With A Locking VCS}). 504its normal locking mode (@pxref{VC With A Locking VCS}).
497 505
498@node VC With A Locking VCS 506@node VC With A Locking VCS
499@subsubsection Basic Version Control with Locking 507@subsubsection Basic Version Control with Locking
@@ -501,26 +509,25 @@ with RCS in its normal locking mode (@pxref{VC With A Locking VCS}).
501 Under a locking-based version control system (such as SCCS, and RCS 509 Under a locking-based version control system (such as SCCS, and RCS
502in its default mode), @kbd{C-x v v} does the following: 510in its default mode), @kbd{C-x v v} does the following:
503 511
504 @itemize @bullet 512@itemize @bullet
505@item 513@item
506If the file is not locked, @kbd{C-x v v} locks it, and makes it 514If the file is not locked, lock it and make it writable, so that you
507writable so that you can change it. 515can change it.
508 516
509@item 517@item
510If the file is locked by you, and contains changes, @kbd{C-x v v} 518If the file is locked by you, and contains changes, check in the
511checks in the changes. In order to do this, it first reads the log 519changes. In order to do this, Emacs first reads the log entry for the
512entry for the new revision. @xref{Log Buffer}. 520new revision. @xref{Log Buffer}.
513 521
514@item 522@item
515If the file is locked by you, but you have not changed it since you 523If the file is locked by you, but you have not changed it since you
516locked it, @kbd{C-x v v} releases the lock and makes the file 524locked it, release the lock and makes the file read-only again.
517read-only again.
518 525
519@item 526@item
520If the file is locked by some other user, @kbd{C-x v v} asks you whether 527If the file is locked by some other user, ask whether you want to
521you want to ``steal the lock'' from that user. If you say yes, the file 528``steal the lock'' from that user. If you say yes, the file becomes
522becomes locked by you, but a message is sent to the person who had 529locked by you, but a message is sent to the person who had formerly
523formerly locked the file, to inform him of what has happened. 530locked the file, to inform him of what has happened.
524@end itemize 531@end itemize
525 532
526 These rules also apply when you use CVS in locking mode, except 533 These rules also apply when you use CVS in locking mode, except
@@ -639,20 +646,19 @@ and @code{vc-log-mode-hook}. @xref{Hooks}.
639to examine any revision of a file, or compare two revisions. 646to examine any revision of a file, or compare two revisions.
640 647
641@table @kbd 648@table @kbd
642@item C-x v ~ @var{revision} @key{RET} 649@item C-x v ~
643Examine revision @var{revision} of the visited file, in a buffer of its 650Prompt for a revision of the visited file, and visit it in a buffer of
644own. 651its own (@code{vc-revision-other-window}).
645 652
646@item C-x v = 653@item C-x v =
647Compare the buffer contents associated with the current 654Compare the buffer associated with the current fileset with the
648fileset with the working revision(s) from which you started editing. 655working revision(s) from which you started editing (@code{vc-diff}).
649 656With a prefix argument, prompt for two revisions of the current
650@item C-u C-x v = @key{RET} @var{oldvers} @key{RET} @var{newvers} @key{RET} 657fileset and compare them.
651Compare the specified two repository revisions of the current fileset.
652 658
653@item C-x v g 659@item C-x v g
654Display an annotated version of the file: for each line, show the 660Display an annotated version of the file: for each line, show the
655latest revision in which it was modified. 661latest revision in which it was modified (@code{vc-annotate}).
656@end table 662@end table
657 663
658@findex vc-revision-other-window 664@findex vc-revision-other-window
@@ -801,7 +807,7 @@ the file contents without distraction from the annotations.
801 807
802@menu 808@menu
803* Registering:: Putting a file under version control. 809* Registering:: Putting a file under version control.
804* VC Status:: Viewing the VC status of files. 810* VC Change Log:: Viewing the VC Change Log.
805* VC Undo:: Canceling changes before or after check-in. 811* VC Undo:: Canceling changes before or after check-in.
806@end menu 812@end menu
807 813
@@ -857,22 +863,36 @@ particular file using the minibuffer.
857initial comment to describe the purpose of this source file. Reading 863initial comment to describe the purpose of this source file. Reading
858the initial comment works like reading a log entry (@pxref{Log Buffer}). 864the initial comment works like reading a log entry (@pxref{Log Buffer}).
859 865
860@node VC Status 866@node VC Change Log
861@subsubsection VC Status Commands 867@subsubsection VC Change Log
862 868
863@table @kbd 869@table @kbd
864@item C-x v l 870@item C-x v l
865Display revision control state and change history. 871Display revision control state and change history
872(@code{vc-print-log}).
873
874@item C-x v L
875Display the change history for the current repository
876(@code{vc-print-root-log}).
866@end table 877@end table
867 878
868@kindex C-x v l 879@kindex C-x v l
869@findex vc-print-log 880@findex vc-print-log
870 To view the detailed revision control status and history of a file, 881 The command @kbd{C-x v l} (@code{vc-print-log}) displays a buffer
871type @kbd{C-x v l} (@code{vc-print-log}). This pops up a special 882named @samp{*vc-change-log*} in a new window. This buffer lists the
872buffer named @samp{*vc-change-log*}, in a new window, that displays 883changes to the current file, including the associated log entries.
873the history of changes to the current file, including the text of the 884(These are the log entries associated with the version control system,
874log entries. The point is centered at the revision of the file that 885i.e. the ones you enter via the @samp{*VC-Log*} buffer. @xref{Log
875is currently being visited. 886Buffer}.) Point is centered at the revision of the file currently
887being visited. With a prefix argument, the command prompts for the
888revision to center on, and the maximum number of revisions to display.
889
890@findex vc-print-root-log
891 Type @kbd{C-x v L} (@code{vc-print-root-log}) to display a
892@samp{*vc-change-log*} buffer showing the history of the
893version-controlled directory tree as a whole. With a prefix argument,
894the command prompts for the maximum number of revisions to display.
895RCS, SCCS, and CVS do not support this feature.
876 896
877 In the @samp{*vc-change-log*} buffer, you can use the following keys 897 In the @samp{*vc-change-log*} buffer, you can use the following keys
878to move between the logs of revisions and of files, to view past 898to move between the logs of revisions and of files, to view past
@@ -926,6 +946,16 @@ This is useful to see all the changes to all files that the revision
926indicated on the current line did when it was committed. 946indicated on the current line did when it was committed.
927@end table 947@end table
928 948
949@vindex vc-log-show-limit
950Because fetching many log entries can be slow, the
951@samp{*vc-change-log*} buffer displays no more than 2000 revisions by
952default. The variable @code{vc-log-show-limit} specifies this limit;
953if you set the value to zero, that removes the limit. You can also
954increase the number of revisions shown in an existing
955@samp{*vc-change-log*} buffer by clicking on the @samp{Show 2X
956entries} or @samp{Show unlimited entries} buttons at the end of the
957buffer. However, RCS, SCCS, and CVS do not support this feature.
958
929@node VC Undo 959@node VC Undo
930@subsubsection Undoing Version Control Actions 960@subsubsection Undoing Version Control Actions
931 961
diff --git a/etc/NEWS b/etc/NEWS
index f82a3ae825e..7d7e4085f9b 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -292,21 +292,24 @@ On systems which support GVFS-Fuse, Tramp offers also the new
292connection methods "dav", "davs", "obex" and "synce". 292connection methods "dav", "davs", "obex" and "synce".
293 293
294** VC and related modes 294** VC and related modes
295 295+++
296*** When using C-x v v or C-x v i on a unregistered file that is in a 296*** When using C-x v v or C-x v i on a unregistered file that is in a
297directory not controlled by any VCS, ask the user what VC backend to 297directory not controlled by any VCS, ask the user what VC backend to
298use to create a repository, create a new repository and register the 298use to create a repository, create a new repository and register the
299file. 299file.
300+++
301*** New command `vc-root-print-log', bound to `C-x v L'.
302This displays a `*vc-change-log*' buffer showing the history of the
303version-controlled directory tree as a whole.
300 304
301*** FIXME: add info about the new VC functions: vc-root-diff and 305*** FIXME: vc-root-diff.
302vc-root-print-log once they stabilize. 306+++
303 307*** `C-x v l' and `C-x v L' do not show the full log by default.
304*** The log functions (C-x v l and C-x v L) do not show the full log 308The number of entries shown can be chosen interactively with a prefix
305by default anymore. The number of entries shown can be chosen 309argument, or by customizing vc-log-show-limit. The `*vc-change-log*'
306interactively with a prefix argument, by customizing 310buffer now contains buttons at the end of the buffer, which can be
307vc-log-show-limit. The log buffer display buttons that can be used 311used to increase the number of entries shown. RCS, SCCS, and CVS do
308to change the number of entries shown. 312not support this feature.
309RCS, SCCS, CVS do not support this feature.
310 313
311*** vc-annotate supports annotations through file copies and renames, 314*** vc-annotate supports annotations through file copies and renames,
312it displays the old names for the files and it can show logs/diffs for 315it displays the old names for the files and it can show logs/diffs for
@@ -319,7 +322,7 @@ backends do not support this.
319 322
320*** When a file is not found, VC will not try to check it out of RCS anymore. 323*** When a file is not found, VC will not try to check it out of RCS anymore.
321 324
322*** Diff and log operations can be used from dired buffers. 325*** Diff and log operations can be used from Dired buffers.
323 326
324*** vc-git changes 327*** vc-git changes
325 328