cvsserver doc: database generally can not be reproduced consistently
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> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Matthew Ogilvie committed
Nov 22, 2009 at 19:07 UTC
2fdc0cfcd98c159e487ed502ae41fcaf1545500f
1 file changed
+15
-4
Documentation/git-cvsserver.txt
+15
-4
@@ -182,10 +182,9 @@ Database Backend
182
----------------
183
184
'git-cvsserver' uses one database per git head (i.e. CVS module) to
185
-store information about the repository for faster access. The
186
-database doesn't contain any persistent data and can be completely
187
-regenerated from the git repository at any time. The database
188
-needs to be updated (i.e. written to) after every commit.
185
+store information about the repository to maintain consistent
186
+CVS revision numbers. The database needs to be
187
+updated (i.e. written to) after every commit.
188
189
If the commit is done directly by using `git` (as opposed to
190
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
203
'git-cvsserver' write access to the database file without granting
204
them write access to the directory, too.
205
206
+The database can not be reliably regenerated in a
207
+consistent form after the branch it is tracking has changed.
208
+Example: For merged branches, 'git-cvsserver' only tracks
209
+one branch of development, and after a 'git-merge' an
210
+incrementally updated database may track a different branch
211
+than a database regenerated from scratch, causing inconsistent
212
+CVS revision numbers. `git-cvsserver` has no way of knowing which
213
+branch it would have picked if it had been run incrementally
214
+pre-merge. So if you have to fully or partially (from old
215
+backup) regenerate the database, you should be suspicious
216
+of pre-existing CVS sandboxes.
217
+
218
You can configure the database backend with the following
219
configuration variables:
220