git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 1/2] cvsserver doc: database generally can not be reproduced consistently

From
MOMatthew Ogilvie <mmogilvi_git@miniinfo.net>
Date
Nov 23, 2009, 02:07 UTC
Message-ID
<1258942050-11423-2-git-send-email-mmogilvi_git@miniinfo.net>
In-Reply-To
<1258942050-11423-1-git-send-email-mmogilvi_git@miniinfo.net>

A regenerated git-cvsserver database is at risk of having different CVS revision numbers from an incrementally updated database. Mention this in the the documentation, and remove an erroneous statement to the contrary.

Signed-off-by: Matthew Ogilvie <mmogilvi_git@miniinfo.net>
---
 Documentation/git-cvsserver.txt |   19 +++++++++++++++----
 1 files changed, 15 insertions(+), 4 deletions(-)
diff --git a/Documentation/git-cvsserver.txt b/Documentation/git-cvsserver.txt
index 785779e..99a7c14 100644
--- a/Documentation/git-cvsserver.txt
+++ b/Documentation/git-cvsserver.txt
@@ -182,10 +182,9 @@ Database Backend
 ----------------
 
 'git-cvsserver' uses one database per git head (i.e. CVS module) to
-store information about the repository for faster access. The
-database doesn't contain any persistent data and can be completely
-regenerated from the git repository at any time. The database
-needs to be updated (i.e. written to) after every commit.
+store information about the repository to maintain consistent
+CVS revision numbers. The database needs to be
+updated (i.e. written to) after every commit.
 
 If the commit is done directly by using `git` (as opposed to
 using 'git-cvsserver') the update will need to happen on the
@@ -204,6 +203,18 @@ write so it might not be enough to grant the users using
 'git-cvsserver' write access to the database file without granting
 them write access to the directory, too.
 
+The database can not be reliably regenerated in a
+consistent form after the branch it is tracking has changed.
+Example: For merged branches, 'git-cvsserver' only tracks
+one branch of development, and after a 'git-merge' an
+incrementally updated database may track a different branch
+than a database regenerated from scratch, causing inconsistent
+CVS revision numbers. `git-cvsserver` has no way of knowing which
+branch it would have picked if it had been run incrementally
+pre-merge. So if you have to fully or partially (from old
+backup) regenerate the database, you should be suspicious
+of pre-existing CVS sandboxes.
+
 You can configure the database backend with the following
 configuration variables:
 
-- 
1.6.4.GIT
Previous: Matthew OgilvieNext: Matthew Ogilvie
Message 2 of 3 in “Miscellaneous documentation updates”
  1. 0/2 Miscellaneous documentation updatesMatthew Ogilvie, Nov 23, 2009
  2. 1/2 cvsserver doc: database generally can not be reproduced consistentlyMatthew Ogilvie, Nov 23, 2009
  3. 2/2 config documentation: some configs are auto-set by git-initMatthew Ogilvie, Nov 23, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.