Rev 2487: Add gc analysis in file:///home/robertc/source/baz/roadmap/
Robert Collins
robertc at robertcollins.net
Tue May 15 11:26:56 BST 2007
At file:///home/robertc/source/baz/roadmap/
------------------------------------------------------------
revno: 2487
revision-id: robertc at robertcollins.net-20070515102628-j2e0lgz5k42ckyzh
parent: robertc at robertcollins.net-20070515094946-9nrohtlybz2i5jt9
committer: Robert Collins <robertc at robertcollins.net>
branch nick: roadmap
timestamp: Tue 2007-05-15 20:26:28 +1000
message:
Add gc analysis
added:
doc/developers/gc.txt gc.txt-20070515102609-90x5kzjokrurfbke-1
modified:
doc/developers/performance-roadmap.txt performanceroadmap.t-20070507174912-mwv3xv517cs4sisd-2
=== added file 'doc/developers/gc.txt'
--- a/doc/developers/gc.txt 1970-01-01 00:00:00 +0000
+++ b/doc/developers/gc.txt 2007-05-15 10:26:28 +0000
@@ -0,0 +1,24 @@
+Garbage Collection
+------------------
+
+Garbage collection is used to remove data from a repository that is no longer referenced.
+
+Generally this involves locking the repository and scanning all its branches
+then generating a new repository with less data.
+
+Least work we can hope to perform
+=================================
+
+* Read all branches to get initial references - tips + tags.
+* Read through the revision graph to find unreferenced revisions. A cheap HEADS
+ list might help here by allowing comparison of the initial references to the
+ HEADS - any unreferenced head is garbage.
+* Walk out via inventory deltas to get the full set of texts and signatures to preserve.
+* Copy to a new repository
+* Bait and switch back to the original
+* Remove the old repository.
+
+A possibility to reduce this would be to have a set of grouped 'known garbage
+free' data - 'ancient history' which can be preserved in total should its HEADS
+be fully referenced - and where the HEADS list is deliberate cheap (e.g. at the
+top of some index).
=== modified file 'doc/developers/performance-roadmap.txt'
--- a/doc/developers/performance-roadmap.txt 2007-05-09 15:36:06 +0000
+++ b/doc/developers/performance-roadmap.txt 2007-05-15 10:26:28 +0000
@@ -13,3 +13,7 @@
.. include:: performance-use-case-analysis.txt
.. include:: incremental-push-pull.txt
+
+.. include:: add.txt
+
+.. include:: gc.txt
More information about the bazaar-commits
mailing list