[03:42] <rozzin> fullermd: apparently bzr-colo includes a "colo-clean" command that does GC.
[05:44] <fullermd> Interesting.  Only applies to colo setups.  A little testing doesn't seem to clear up much though.
[05:45] <fullermd> Maybe it's removing revs but not texts?
[05:52] <lifeless> fullermd: or maybe compressed data is compressed
[05:52] <rozzin> The logic is the _clean() function in commands.py.
[05:52] <lifeless> fullermd: make sure you're excluding obsolete but not deleted packs
[05:52] <fullermd> I only looked in packs/
[05:53] <lifeless> k
[05:57] <fullermd> Specifically, I created a fresh workspace, committed a 20 meg .mp3, then uncommitted that rev.  I had to make an empty --unchanged rev before colo-clean would do anything, but after it did it cleared up about 100 bytes from the packfile.
[05:57] <rozzin> I do notice that "bzr heads --dead" no longer lists any dead heads after I run "bzr colo-clean".
[05:57] <fullermd> Which seems reasonably for getting rid of the commit, but either left the text or bzr's compression has gotten *really* bad at compressing nothing.
[05:59] <rozzin> Trying to repack a repository with zero commits in it?
[06:05] <rozzin> I'm guessing that's a no-op?
[06:05] <rozzin> Though I guess it might at least move .bzr/repository/packs/* into .bzr/repository/obsolete_packs.
[06:08] <rozzin> er, .bzr/branches/.bzr/repository/... in the case of a colo-ify'd workspace....
[06:12] <rozzin> Oh, no--it's that colo-clean on a workspace with no commits is a no-op.
[06:12] <rozzin> "No cleaning necessary."
[06:13] <rozzin> Mm. OK, colo-clean is a no-op _because_ pack() is a no-op.
[06:23] <lifeless> bzr pack should delete unreferenced texts
[06:23] <lifeless> ,,,
[06:23] <lifeless> mmm I think
[06:23] <lifeless> certainly clone will
[06:24] <rozzin> having pack do gc sounds dangerous to me.
[06:25] <rozzin> fullermd: Now I see what you mean. Even with a non-empty set of commits, colo-clean isn't freeing up the space used by my 94-MB file-that-no-longer-exists-in-any-commits, either.