
This is the Title of the Book, eMatter Edition
Copyright © 2007 O’Reilly & Associates, Inc. All rights reserved.
250
|
Appendix A: Subversion for CVS Users
Second, Subversion maintains an internal notion of whether a file is text or binary
data, but this notion is only extant in the working copy. During an
svn update, Sub-
version will perform contextual merges on locally modified text files, but will not
attempt to do so for binary files.
To determine whether a contextual merge is possible, Subversion examines the
svn:
mime-type
property. If the file has no svn:mime-type property, or has a mime-type that
is textual (e.g. text/*), Subversion assumes it is text. Otherwise, Subversion assumes
the file is binary. Subversion also helps users by running a binary-detection algo-
rithm in the
svn import and svn add commands. These commands will make a good
guess and then (possibly) set a binary svn:mime-type property on the file being
added. (If Subversion guesses wrong, the user can always remove or hand-edit the
property.)
Versioned Modules
Unlike CVS, a Subversion working copy is aware that it has checked out a module.
That means that if somebody changes the definition of a module, then a call to
svn
update
will update the working copy appropriately.
Subversion defines modules as a list of directories within a directory property: see
“Externals Definitions” in Chapter 7.
Authentication
With CVS’s pserver, you ...