{"thread":{"id":"21718","subject":"[PATCH 1/2] cvsserver doc: database generally can not be reproduced consistently","startedAt":"2009-11-23T02:07:28Z","lastAt":"2009-11-23T02:07:30Z","messageCount":3,"participants":["Matthew Ogilvie"],"isPatch":true,"patchVersion":1,"patchTotal":2},"messages":[{"id":"128143","messageId":"1258942050-11423-1-git-send-email-mmogilvi_git@miniinfo.net","threadId":"21718","inReplyTo":null,"subject":"[PATCH 0/2] Miscellaneous documentation updates","fromName":"Matthew Ogilvie","fromEmail":"mmogilvi_git@miniinfo.net","sentAt":"2009-11-23T02:07:28Z","receivedAt":"2009-11-23T02:07:28Z","isPatch":true,"sender":{"key":"mmogilvi_git@miniinfo.net","avatar":null},"body":"This is a series of documentation updates.  They are independent of\neach other.\n\nThese are separate from and do not duplicate the core.autocrlf patch\nfrom a week ago.\n\nMatthew Ogilvie (2):\n  cvsserver doc: database generally can not be reproduced consistently\n  config documentation: some configs are auto-set by git-init\n\n Documentation/config.txt        |   24 ++++++++++++++++++++++--\n Documentation/git-cvsserver.txt |   19 +++++++++++++++----\n 2 files changed, 37 insertions(+), 6 deletions(-)\n"},{"id":"128141","messageId":"1258942050-11423-2-git-send-email-mmogilvi_git@miniinfo.net","threadId":"21718","inReplyTo":"1258942050-11423-1-git-send-email-mmogilvi_git@miniinfo.net","subject":"[PATCH 1/2] cvsserver doc: database generally can not be reproduced consistently","fromName":"Matthew Ogilvie","fromEmail":"mmogilvi_git@miniinfo.net","sentAt":"2009-11-23T02:07:29Z","receivedAt":"2009-11-23T02:07:29Z","isPatch":true,"sender":{"key":"mmogilvi_git@miniinfo.net","avatar":null},"body":"A regenerated git-cvsserver database is at risk of having different\nCVS revision numbers from an incrementally updated database.  Mention\nthis in the the documentation, and remove an erroneous statement\nto the contrary.\n\nSigned-off-by: Matthew Ogilvie <mmogilvi_git@miniinfo.net>\n---\n Documentation/git-cvsserver.txt |   19 +++++++++++++++----\n 1 files changed, 15 insertions(+), 4 deletions(-)\n\ndiff --git a/Documentation/git-cvsserver.txt b/Documentation/git-cvsserver.txt\nindex 785779e..99a7c14 100644\n--- a/Documentation/git-cvsserver.txt\n+++ b/Documentation/git-cvsserver.txt\n@@ -182,10 +182,9 @@ Database Backend\n ----------------\n \n 'git-cvsserver' uses one database per git head (i.e. CVS module) to\n-store information about the repository for faster access. The\n-database doesn't contain any persistent data and can be completely\n-regenerated from the git repository at any time. The database\n-needs to be updated (i.e. written to) after every commit.\n+store information about the repository to maintain consistent\n+CVS revision numbers. The database needs to be\n+updated (i.e. written to) after every commit.\n \n If the commit is done directly by using `git` (as opposed to\n using 'git-cvsserver') the update will need to happen on the\n@@ -204,6 +203,18 @@ write so it might not be enough to grant the users using\n 'git-cvsserver' write access to the database file without granting\n them write access to the directory, too.\n \n+The database can not be reliably regenerated in a\n+consistent form after the branch it is tracking has changed.\n+Example: For merged branches, 'git-cvsserver' only tracks\n+one branch of development, and after a 'git-merge' an\n+incrementally updated database may track a different branch\n+than a database regenerated from scratch, causing inconsistent\n+CVS revision numbers. `git-cvsserver` has no way of knowing which\n+branch it would have picked if it had been run incrementally\n+pre-merge. So if you have to fully or partially (from old\n+backup) regenerate the database, you should be suspicious\n+of pre-existing CVS sandboxes.\n+\n You can configure the database backend with the following\n configuration variables:\n \n-- \n1.6.4.GIT\n"},{"id":"128142","messageId":"1258942050-11423-3-git-send-email-mmogilvi_git@miniinfo.net","threadId":"21718","inReplyTo":"1258942050-11423-2-git-send-email-mmogilvi_git@miniinfo.net","subject":"[PATCH 2/2] config documentation: some configs are auto-set by git-init","fromName":"Matthew Ogilvie","fromEmail":"mmogilvi_git@miniinfo.net","sentAt":"2009-11-23T02:07:30Z","receivedAt":"2009-11-23T02:07:30Z","isPatch":true,"sender":{"key":"mmogilvi_git@miniinfo.net","avatar":null},"body":"Add documentation for core.ignorecase, and mention git-init\nin core.filemode and core.symlinks.\n\nSigned-off-by: Matthew Ogilvie <mmogilvi_git@miniinfo.net>\n---\n Documentation/config.txt |   24 ++++++++++++++++++++++--\n 1 files changed, 22 insertions(+), 2 deletions(-)\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 78ee906..b2ee139 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -131,7 +131,11 @@ advice.*::\n core.fileMode::\n \tIf false, the executable bit differences between the index and\n \tthe working copy are ignored; useful on broken filesystems like FAT.\n-\tSee linkgit:git-update-index[1]. True by default.\n+\tSee linkgit:git-update-index[1].\n++\n+The default is true, except linkgit:git-clone[1] or linkgit:git-init[1]\n+will probe and set core.fileMode false if appropriate when the\n+repository is created.\n \n core.ignoreCygwinFSTricks::\n \tThis option is only used by Cygwin implementation of Git. If false,\n@@ -144,6 +148,18 @@ core.ignoreCygwinFSTricks::\n \tis true, in which case ignoreCygwinFSTricks is ignored as Cygwin's\n \tPOSIX emulation is required to support core.filemode.\n \n+core.ignorecase::\n+\tIf true, this option enables various workarounds to enable\n+\tgit to work better on filesystems that are not case sensitive,\n+\tlike FAT. For example, if a directory listing finds\n+\t\"makefile\" when git expects \"Makefile\", git will assume\n+\tit is really the same file, and continue to remember it as\n+\t\"Makefile\".\n++\n+The default is false, except linkgit:git-clone[1] or linkgit:git-init[1]\n+will probe and set core.ignorecase true if appropriate when the repository\n+is created.\n+\n core.trustctime::\n \tIf false, the ctime differences between the index and the\n \tworking copy are ignored; useful when the inode change time\n@@ -223,7 +239,11 @@ core.symlinks::\n \tcontain the link text. linkgit:git-update-index[1] and\n \tlinkgit:git-add[1] will not change the recorded type to regular\n \tfile. Useful on filesystems like FAT that do not support\n-\tsymbolic links. True by default.\n+\tsymbolic links.\n++\n+The default is true, except linkgit:git-clone[1] or linkgit:git-init[1]\n+will probe and set core.symlinks false if appropriate when the repository\n+is created.\n \n core.gitProxy::\n \tA \"proxy command\" to execute (as 'command host port') instead\n-- \n1.6.4.GIT\n"}]}