/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to doc/developers/gc.txt

  • Committer: Eric Anderson
  • Date: 2008-11-25 01:45:22 UTC
  • mto: (0.200.116 trunk)
  • mto: This revision was merged to the branch mainline in revision 6960.
  • Revision ID: eric@pixelwareinc.com-20081125014522-leeq8vts9nv3awjm
When reading branch use active branch instead of first branch.

This allows us to interact with whatever is set as the current active 
branch instead of being limited to only the first branch (master). 
Useful for creating a branch from somewhere other than master.

Limited in its usefulness as I believe git only allows switching 
branches in a non-bare repositories and most trees being branched from 
are bare repositories. Also requiring the source repository to switch
its active branch is pretty intrusive. But something is better than
nothing.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
Garbage Collection
2
 
==================
3
 
 
4
 
Garbage collection is used to remove data from a repository that is no longer referenced.
5
 
 
6
 
Generally this involves locking the repository and scanning all its branches
7
 
then generating a new repository with less data.
8
 
 
9
 
Least work we can hope to perform
10
 
---------------------------------
11
 
 
12
 
* Read all branches to get initial references - tips + tags.
13
 
* Read through the revision graph to find unreferenced revisions. A cheap HEADS
14
 
  list might help here by allowing comparison of the initial references to the
15
 
  HEADS - any unreferenced head is garbage.
16
 
* Walk out via inventory deltas to get the full set of texts and signatures to preserve.
17
 
* Copy to a new repository
18
 
* Bait and switch back to the original
19
 
* Remove the old repository.
20
 
 
21
 
A possibility to reduce this would be to have a set of grouped 'known garbage
22
 
free' data - 'ancient history' which can be preserved in total should its HEADS
23
 
be fully referenced - and where the HEADS list is deliberate cheap (e.g. at the
24
 
top of some index).
25
 
 
26
 
possibly - null data in place without saving size.