aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric S. Raymond2007-10-11 14:15:27 +0000
committerEric S. Raymond2007-10-11 14:15:27 +0000
commit8a3106d303a90498c4cf5c35654aefdf954c10fc (patch)
tree62a928ccffcfa538c3d40893ad8b0f3c7d07f855
parent76448620175754245acd6ba0344b10ab3c88c568 (diff)
downloademacs-8a3106d303a90498c4cf5c35654aefdf954c10fc.tar.gz
emacs-8a3106d303a90498c4cf5c35654aefdf954c10fc.zip
Minor fixes to version-control material suggseted by RMS and Robert
J. Chassell.
-rw-r--r--doc/emacs/ChangeLog6
-rw-r--r--doc/emacs/emacs.texi2
-rw-r--r--doc/emacs/files.texi49
3 files changed, 31 insertions, 26 deletions
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog
index 89e68f64b4b..6786728661e 100644
--- a/doc/emacs/ChangeLog
+++ b/doc/emacs/ChangeLog
@@ -1,3 +1,9 @@
12007-10-11 Eric S. Raymond <esr@snark.thyrsus.com>
2
3 * emacs.texi:
4 * files.texi (Version Systems): Minor fixes to version-control material
5 suggseted by RMS and Robert J. Chassell.
6
12007-10-10 Eric S. Raymond <esr@snark.thyrsus.com> 72007-10-10 Eric S. Raymond <esr@snark.thyrsus.com>
2 8
3 * files.texi (Version Systems): 9 * files.texi (Version Systems):
diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi
index 25c7f648159..119e2ea80d1 100644
--- a/doc/emacs/emacs.texi
+++ b/doc/emacs/emacs.texi
@@ -460,7 +460,7 @@ Version Control
460* Introduction to VC:: How version control works in general. 460* Introduction to VC:: How version control works in general.
461* VC Mode Line:: How the mode line shows version control status. 461* VC Mode Line:: How the mode line shows version control status.
462* Basic VC Editing:: How to edit a file under version control. 462* Basic VC Editing:: How to edit a file under version control.
463* Old Revisions:: Examining and comparing old versions. 463* Old Revisions:: Examining and comparing old revisions of files.
464* Secondary VC Commands:: The commands used a little less frequently. 464* Secondary VC Commands:: The commands used a little less frequently.
465* Branches:: Multiple lines of development. 465* Branches:: Multiple lines of development.
466* Remote Repositories:: Efficient access to remote CVS servers. 466* Remote Repositories:: Efficient access to remote CVS servers.
diff --git a/doc/emacs/files.texi b/doc/emacs/files.texi
index 0e088a5a701..c3e879bd432 100644
--- a/doc/emacs/files.texi
+++ b/doc/emacs/files.texi
@@ -1213,11 +1213,10 @@ description of what was changed in that version.
1213 The Emacs version control interface is called VC. Its commands work 1213 The Emacs version control interface is called VC. Its commands work
1214with different version control systems---currently, it supports CVS, 1214with different version control systems---currently, it supports CVS,
1215GNU Arch, RCS, Meta-CVS, Subversion, and SCCS. Of these, the GNU 1215GNU Arch, RCS, Meta-CVS, Subversion, and SCCS. Of these, the GNU
1216project distributes CVS, GNU Arch, and RCS; we recommend that you use 1216project distributes CVS, GNU Arch, and RCS. We also have free
1217either CVS or GNU Arch for your projects, and RCS for individual 1217software to replace SCCS, known as CSSC; if you are using SCCS and
1218files. We also have free software to replace SCCS, known as CSSC; if 1218don't want to make the incompatible change to RCS or CVS, you can
1219you are using SCCS and don't want to make the incompatible change to 1219switch to CSSC.
1220RCS or CVS, you can switch to CSSC.
1221 1220
1222 VC is enabled by default in Emacs. To disable it, set the 1221 VC is enabled by default in Emacs. To disable it, set the
1223customizable variable @code{vc-handled-backends} to @code{nil} 1222customizable variable @code{vc-handled-backends} to @code{nil}
@@ -1250,7 +1249,7 @@ customizable variable @code{vc-handled-backends} to @code{nil}
1250 VC allows you to use a version control system from within Emacs, 1249 VC allows you to use a version control system from within Emacs,
1251integrating the version control operations smoothly with editing. 1250integrating the version control operations smoothly with editing.
1252Though VC cannot completely bridge the gaps between version-control 1251Though VC cannot completely bridge the gaps between version-control
1253systems with widely differing capabilities, it does provide 1252systems with widely differing capabilities, it does provide
1254a uniform interface to many version control operations. Regardless of 1253a uniform interface to many version control operations. Regardless of
1255which version control system is in use, you will be able to do basic 1254which version control system is in use, you will be able to do basic
1256operations in much the same way. 1255operations in much the same way.
@@ -1428,7 +1427,7 @@ the file, making the work file read-only again. This allows other users
1428to lock the file to make further changes. 1427to lock the file to make further changes.
1429 1428
1430 By contrast, a merging system lets each user check out and modify a 1429 By contrast, a merging system lets each user check out and modify a
1431work file at any time. When you check in a a file, the system will 1430work file at any time. When you check in a file, the system will
1432attempt to merge your changes with any others checked into the 1431attempt to merge your changes with any others checked into the
1433repository since you checked out the file. 1432repository since you checked out the file.
1434 1433
@@ -1444,11 +1443,11 @@ have to be resolved by human judgment and communication.
1444told to operate in a merging style. CVS and Subversion are 1443told to operate in a merging style. CVS and Subversion are
1445merge-based by default but can be told to operate in a locking mode. 1444merge-based by default but can be told to operate in a locking mode.
1446Most later version-control systems, such as GNU Arch, git, and 1445Most later version-control systems, such as GNU Arch, git, and
1447Mercurial, have been fundamentally merging-based rather than 1446Mercurial, have been based exclusively on merging rather than locking.
1448locking-based. This is because experience has shown that the 1447This is because experience has shown that the merging-based approach
1449merging-based approach is generally superior to the locking one, both 1448is generally superior to the locking one, both in convenience to
1450in convenience to developers and in minimizing the number and severity 1449developers and in minimizing the number and severity of conflicts that
1451of conflicts that actually occur. 1450actually occur.
1452 1451
1453 While it is rather unlikely that anyone will ever again build a 1452 While it is rather unlikely that anyone will ever again build a
1454fundamentally locking-based rather than merging-based version-control 1453fundamentally locking-based rather than merging-based version-control
@@ -1462,12 +1461,12 @@ between them as much as possible.
1462@cindex files versus changesets. 1461@cindex files versus changesets.
1463 On SCCS, RCS, CVS, and other early version-control systems, checkins 1462 On SCCS, RCS, CVS, and other early version-control systems, checkins
1464and other operations are @dfn{file-based}; each file has its own 1463and other operations are @dfn{file-based}; each file has its own
1465@dfn{master file} with its own comment- and revision history separate 1464@dfn{master file} with its own comment and revision history separate
1466from that of all other files in the system. Later systems, beginning 1465from that of all other files in the system. Later systems, beginning
1467with Subversion, are @dfn{changeset-based}; a checkin may include 1466with Subversion, became @dfn{changeset-based}; a checkin under these
1468changes to several files and that change set is treated as a unit by the 1467may include changes to several files and that change set is treated as
1469system. Any comment associated with the change doesn't belong to any 1468a unit by the system. Any comment associated with the change belongs
1470one file, but is attached to the changeset itself. 1469to no single file, but is attached to the changeset itself.
1471 1470
1472 Changeset-based version control is in general both more flexible and 1471 Changeset-based version control is in general both more flexible and
1473more powerful than file-based version control; usually, when a change to 1472more powerful than file-based version control; usually, when a change to
@@ -1479,7 +1478,7 @@ writing in 2007.
1479 1478
1480 In fact, older versions of VC mode supported only file-based systems, 1479 In fact, older versions of VC mode supported only file-based systems,
1481leading to some unhappy results when it was used to drive 1480leading to some unhappy results when it was used to drive
1482changeset-based ones--the Subversion support, for example, used to break 1481changeset-based ones---the Subversion support, for example, used to break
1483up changesets into multiple per-file commits. This has been fixed, but 1482up changesets into multiple per-file commits. This has been fixed, but
1484it has left a legacy in VC-mode's terminology. The terms ``checkin'' 1483it has left a legacy in VC-mode's terminology. The terms ``checkin''
1485and ``checkout'' are associated with file-based and locking-based 1484and ``checkout'' are associated with file-based and locking-based
@@ -1620,15 +1619,15 @@ are visiting a VC Dired buffer, and some files in it are marked,
1620your fileset is the marked files only. 1619your fileset is the marked files only.
1621 1620
1622 All files in a fileset must be under the same version-control system. 1621 All files in a fileset must be under the same version-control system.
1623If they are not, VC mode will throw an error when you attempt to execute 1622If they are not, VC mode will fail when you attempt to execute
1624a command on the fileset. 1623a command on the fileset.
1625 1624
1626 Filesets, are, essentially, a way to pass multiple file arguments as 1625 In VC, filesets, are, essentially, a way to pass multiple file
1627a group to underlying version-control commands. For example, on 1626arguments as a group to underlying version-control commands. For
1628Subversion a checkin with more than one file in its fileset will become a 1627example, on Subversion a checkin with more than one file in its
1629joint commit, as though you had typed @command{svn 1628fileset will become a joint commit, as though you had typed
1630commit} with those file arguments at the shell command line in the 1629@command{svn commit} with those file arguments at the shell command
1631directory of the selected buffer. 1630line in the directory of the selected buffer.
1632 1631
1633 If you are used to earlier versions of VC, the change in behavior 1632 If you are used to earlier versions of VC, the change in behavior
1634you will notice is in VC-Dired mode. Other than @kbd{C-x v v}, most 1633you will notice is in VC-Dired mode. Other than @kbd{C-x v v}, most