1108 |
|
|
1109 |
@menu |
@menu |
1110 |
* Introduction to VC:: How version control works in general. |
* Introduction to VC:: How version control works in general. |
1111 |
* VC Mode Line:: How the mode line shows version control status. |
* VC Mode Line:: How the mode line shows version control status. |
1112 |
* Basic VC Editing:: How to edit a file under version control. |
* Basic VC Editing:: How to edit a file under version control. |
1113 |
* Old Versions:: Examining and comparing old versions. |
* Old Versions:: Examining and comparing old versions. |
1114 |
* Secondary VC Commands:: The commands used a little less frequently. |
* Secondary VC Commands:: The commands used a little less frequently. |
1222 |
|
|
1223 |
@node Types of Log File |
@node Types of Log File |
1224 |
@subsubsection Types of Log File |
@subsubsection Types of Log File |
1225 |
@cindex Types of log file |
@cindex types of log file |
1226 |
@cindex Log File, types of |
@cindex log File, types of |
1227 |
|
@cindex version control log |
1228 |
|
|
1229 |
GNU projects under a revision control system generally possess |
GNU projects under a revision control system generally possess |
1230 |
@emph{two} types of log. These help you keep track of what goes on. |
@emph{two} types of log for changes. One is the per-file log |
1231 |
|
maintained by the revision control system: each time you check in a |
1232 |
One kind of log is the per-file log maintained by the revision control |
change, you must fill out a @dfn{log entry} for the change (@pxref{Log |
1233 |
system. This kind of log is called the @dfn{version control log}, or |
Buffer}). This kind of log is called the @dfn{version control log}, |
1234 |
sometimes the @dfn{revision control log}, `@samp{*rcs*} log', or |
or sometimes the @dfn{revision control log}, `@samp{*rcs*} log', or |
1235 |
`@samp{*cvs*} log'. The other kind of log is a per-directory or |
`@samp{*cvs*} log'. |
1236 |
per-project log called the change log or @file{ChangeLog}. |
|
1237 |
|
The other kind of log the change log file, typically called |
1238 |
@cindex Version control log |
@file{ChangeLog}. It provides a chronological record of all changes |
1239 |
@cindex Revision control log |
to a large portion of a program---one directory and its |
1240 |
@cindex Per-file log |
subdirectories. A small program would use one @file{ChangeLog} file; |
1241 |
The per-file log is designed to tell you about each and every change |
a large program may well merit a @file{ChangeLog} file in each major |
1242 |
to a file. Each time you check in a change, you fill out a version |
directory. @xref{Change Log}. |
1243 |
control log entry. (@xref{Log Buffer, Log Buffer, Features of the Log |
|
1244 |
Entry Buffer}.) Consequently, a per-file log is very detailed, with |
When you use version control, you can use just the per-file log if you |
1245 |
remarks such as `fixed typo' as well as `re-wrote from scratch'. |
wish, or you can use both kinds of logs. When you use both, you |
1246 |
|
typically want to write just one entry for each change. You can write |
1247 |
@cindex Change log |
the entry in @file{ChangeLog}, then copy it to the log buffer when you |
1248 |
@cindex Per-directory log |
check in the change. Or you can write the entry in the log buffer |
1249 |
@cindex Per-project log |
while checking in the change, and later use the @kbd{C-x v a} command |
1250 |
On the other hand, a per-directory or per-project log is intended to |
to copy it to @file{ChangeLog} (@pxref{Change Logs and VC}). |
|
provide a chronological record of when and why you and others changed |
|
|
a program. A @file{ChangeLog} should be moderately, but not |
|
|
excessively detailed. |
|
|
|
|
|
A single @file{ChangeLog} file can record changes for all |
|
|
the files in its directory and all its subdirectories. A small |
|
|
program merits one @file{ChangeLog} file; a large program may well |
|
|
merit several @file{ChangeLog} file, one in each major directory. |
|
|
(@xref{Change Log, Change Log, Change Logs}.) |
|
|
|
|
|
You can use the Emacs command @r{@kbd{C-x 4 a}} |
|
|
(@code{add-change-log-entry-other-window}) to add a new entry to a |
|
|
change log file. |
|
|
|
|
|
If you use RCS or CVS, you can generate change log entries |
|
|
automatically from the version control log entries using |
|
|
the @r{@kbd{C-x v a}} (@code{vc-update-change-log}) command. |
|
|
(@xref{Change Logs and VC, Change Logs and VC, Change Logs and VC}.) |
|
|
When you do this, you will probably want to edit and shorten the |
|
|
resulting @file{ChangeLog}. |
|
1251 |
|
|
1252 |
@node VC Mode Line |
@node VC Mode Line |
1253 |
@subsection Version Control and the Mode Line |
@subsection Version Control and the Mode Line |