comparison man/files.texi @ 42338:8649ccc72076

Rewrite Types of Log File node.
author Richard M. Stallman <rms@gnu.org>
date Wed, 26 Dec 2001 00:42:56 +0000
parents 86a0b7cc1600
children 21907e7569d1
comparison
equal deleted inserted replaced
42337:aed4f1043eb8 42338:8649ccc72076
1106 replace SCCS, known as CSSC; if you are using SCCS and don't want to 1106 replace SCCS, known as CSSC; if you are using SCCS and don't want to
1107 make the incompatible change to RCS or CVS, you can switch to CSSC. 1107 make the incompatible change to RCS or CVS, you can switch to CSSC.
1108 1108
1109 @menu 1109 @menu
1110 * Introduction to VC:: How version control works in general. 1110 * Introduction to VC:: How version control works in general.
1111 * VC Mode Line:: How the mode line shows version control status. 1111 * VC Mode Line:: How the mode line shows version control status.
1112 * Basic VC Editing:: How to edit a file under version control. 1112 * Basic VC Editing:: How to edit a file under version control.
1113 * Old Versions:: Examining and comparing old versions. 1113 * Old Versions:: Examining and comparing old versions.
1114 * Secondary VC Commands:: The commands used a little less frequently. 1114 * Secondary VC Commands:: The commands used a little less frequently.
1115 * Branches:: Multiple lines of development. 1115 * Branches:: Multiple lines of development.
1116 * Remote Repositories:: Efficient access to remote CVS servers. 1116 * Remote Repositories:: Efficient access to remote CVS servers.
1220 check-in time. However, CVS can also be set up to require locking. 1220 check-in time. However, CVS can also be set up to require locking.
1221 (@pxref{CVS Options}). 1221 (@pxref{CVS Options}).
1222 1222
1223 @node Types of Log File 1223 @node Types of Log File
1224 @subsubsection Types of Log File 1224 @subsubsection Types of Log File
1225 @cindex Types of log file 1225 @cindex types of log file
1226 @cindex Log File, types of 1226 @cindex log File, types of
1227 @cindex version control log
1227 1228
1228 GNU projects under a revision control system generally possess 1229 GNU projects under a revision control system generally possess
1229 @emph{two} types of log. These help you keep track of what goes on. 1230 @emph{two} types of log for changes. One is the per-file log
1230 1231 maintained by the revision control system: each time you check in a
1231 One kind of log is the per-file log maintained by the revision control 1232 change, you must fill out a @dfn{log entry} for the change (@pxref{Log
1232 system. This kind of log is called the @dfn{version control log}, or 1233 Buffer}). This kind of log is called the @dfn{version control log},
1233 sometimes the @dfn{revision control log}, `@samp{*rcs*} log', or 1234 or sometimes the @dfn{revision control log}, `@samp{*rcs*} log', or
1234 `@samp{*cvs*} log'. The other kind of log is a per-directory or 1235 `@samp{*cvs*} log'.
1235 per-project log called the change log or @file{ChangeLog}. 1236
1236 1237 The other kind of log the change log file, typically called
1237 @cindex Version control log 1238 @file{ChangeLog}. It provides a chronological record of all changes
1238 @cindex Revision control log 1239 to a large portion of a program---one directory and its
1239 @cindex Per-file log 1240 subdirectories. A small program would use one @file{ChangeLog} file;
1240 The per-file log is designed to tell you about each and every change 1241 a large program may well merit a @file{ChangeLog} file in each major
1241 to a file. Each time you check in a change, you fill out a version 1242 directory. @xref{Change Log}.
1242 control log entry. (@xref{Log Buffer, Log Buffer, Features of the Log 1243
1243 Entry Buffer}.) Consequently, a per-file log is very detailed, with 1244 When you use version control, you can use just the per-file log if you
1244 remarks such as `fixed typo' as well as `re-wrote from scratch'. 1245 wish, or you can use both kinds of logs. When you use both, you
1245 1246 typically want to write just one entry for each change. You can write
1246 @cindex Change log 1247 the entry in @file{ChangeLog}, then copy it to the log buffer when you
1247 @cindex Per-directory log 1248 check in the change. Or you can write the entry in the log buffer
1248 @cindex Per-project log 1249 while checking in the change, and later use the @kbd{C-x v a} command
1249 On the other hand, a per-directory or per-project log is intended to 1250 to copy it to @file{ChangeLog} (@pxref{Change Logs and VC}).
1250 provide a chronological record of when and why you and others changed
1251 a program. A @file{ChangeLog} should be moderately, but not
1252 excessively detailed.
1253
1254 A single @file{ChangeLog} file can record changes for all
1255 the files in its directory and all its subdirectories. A small
1256 program merits one @file{ChangeLog} file; a large program may well
1257 merit several @file{ChangeLog} file, one in each major directory.
1258 (@xref{Change Log, Change Log, Change Logs}.)
1259
1260 You can use the Emacs command @r{@kbd{C-x 4 a}}
1261 (@code{add-change-log-entry-other-window}) to add a new entry to a
1262 change log file.
1263
1264 If you use RCS or CVS, you can generate change log entries
1265 automatically from the version control log entries using
1266 the @r{@kbd{C-x v a}} (@code{vc-update-change-log}) command.
1267 (@xref{Change Logs and VC, Change Logs and VC, Change Logs and VC}.)
1268 When you do this, you will probably want to edit and shorten the
1269 resulting @file{ChangeLog}.
1270 1251
1271 @node VC Mode Line 1252 @node VC Mode Line
1272 @subsection Version Control and the Mode Line 1253 @subsection Version Control and the Mode Line
1273 1254
1274 When you visit a file that is under version control, Emacs indicates 1255 When you visit a file that is under version control, Emacs indicates