summaryrefslogtreecommitdiff
path: root/Documentation
diff options
context:
space:
mode:
authorLibravatar Matthew Ogilvie <mmogilvi_git@miniinfo.net>2008-05-14 22:35:48 -0600
committerLibravatar Junio C Hamano <gitster@pobox.com>2008-05-16 12:05:35 -0700
commit90948a42892779734f77d62f20326c868392fd8f (patch)
tree88b485c2b84e9419faac5e20725069c43f993a74 /Documentation
parentimplement gitcvs.usecrlfattr (diff)
downloadtgif-90948a42892779734f77d62f20326c868392fd8f.tar.xz
git-cvsserver: add ability to guess -kb from contents
If "gitcvs.allbinary" is set to "guess", then any file that has not been explicitly marked as binary or text using the "crlf" attribute and the "gitcvs.usecrlfattr" config will guess binary based on the contents of the file. Signed-off-by: Matthew Ogilvie <mmogilvi_git@miniinfo.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/config.txt13
-rw-r--r--Documentation/git-cvsserver.txt14
2 files changed, 18 insertions, 9 deletions
diff --git a/Documentation/config.txt b/Documentation/config.txt
index 036e61e2f6..917ef5b4fe 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -670,11 +670,14 @@ gitcvs.usecrlfattr
then 'gitcvs.allbinary' is used. See linkgit:gitattribute[5].
gitcvs.allbinary::
- If true, all files not otherwise specified using
- 'gitcvs.usecrlfattr' and an explicitly set or unset `crlf`
- attribute are sent to the client in mode '-kb'. This
- causes the client to treat them as binary files which
- suppresses any newline munging it otherwise might do.
+ This is used if 'gitcvs.usecrlfattr' does not resolve
+ the correct '-kb' mode to use. If true, all
+ unresolved files are sent to the client in
+ mode '-kb'. This causes the client to treat them
+ as binary files, which suppresses any newline munging it
+ otherwise might do. Alternatively, if it is set to "guess",
+ then the contents of the file are examined to decide if
+ it is binary, similar to 'core.autocrlf'.
gitcvs.dbname::
Database used by git-cvsserver to cache revision information
diff --git a/Documentation/git-cvsserver.txt b/Documentation/git-cvsserver.txt
index 4888b8604d..cd0685ea67 100644
--- a/Documentation/git-cvsserver.txt
+++ b/Documentation/git-cvsserver.txt
@@ -311,17 +311,23 @@ to crlf conversion on some platforms.
You can make the server use `crlf` attributes to set the '-k' modes
for files by setting the `gitcvs.usecrlfattr` config variable.
In this case, if `crlf` is explicitly unset ('-crlf'), then the
-will set '-kb' mode, for binary files. If it `crlf` is set,
+server will set '-kb' mode for binary files. If `crlf` is set,
then the '-k' mode will explicitly be left blank. See
also linkgit:gitattributes[5] for more information about the `crlf`
attribute.
Alternatively, if `gitcvs.usecrlfattr` config is not enabled
or if the `crlf` attribute is unspecified for a filename, then
-the server uses the `gitcvs.allbinary` for the default setting.
-If `gitcvs.allbinary` is set, then the files not otherwise
+the server uses the `gitcvs.allbinary` config for the default setting.
+If `gitcvs.allbinary` is set, then file not otherwise
specified will default to '-kb' mode. Otherwise the '-k' mode
-is left blank.
+is left blank. But if `gitcvs.allbinary` is set to "guess", then
+the correct '-k' mode will be guessed based on the contents of
+the file.
+
+For best consistency with cvs, it is probably best to override the
+defaults by setting `gitcvs.usecrlfattr` to true,
+and `gitcvs.allbinary` to "guess".
Dependencies
------------