[00:26] how can I know if bzr --uncommit has been performed on a branch? [00:29] mark06: 'bzr log' will tell you [00:32] where exactly? I though log only showed commits, not undone commits... [00:33] mark06: well, I meant you can see that a particular revision disappears from "bzr log" [00:33] mark06: there is no real recording anywhere that an uncommit had previously been done [00:34] but the uncommit is still there, so maybe I could grep/find for something in .bzr? [00:35] mark06: the revision is there in the repo, but the fact that a child revision of the current head is present doesn't necessarily mean that there was an uncommit [00:36] then I need not to rely on that [00:37] maybe something within .bzr\repository? [00:37] Why do you need to know this? (Tell us more about your use case so we can suggest alternatives) [00:38] I just wanna know [00:38] mark06: uncommit only touches files under .bzr/branch, and it just resets the branch tip - doesn't do anything else [00:38] There is no explicit record that an uncommit has occurred [00:40] maxb: e.g. bzr commit -am > ctrl+v > "secret info about my new cryptographic system inviolable by spies, which was accidentally pasted from text editor" [00:40] maxb: then bzr uncommit won't actually delete such info [00:41] There is no explicit record that an uncommit has occurred -- ok then I need to recognize the uncommit objects by hand... [00:41] No, you need to understand that there is no such thing as an 'uncommit object' [00:43] *-m [00:43] ok, call it whatever you like [00:43] but it's there [00:43] Actually, it's not there [00:43] it is [00:44] branches growing for no reason in the past [00:44] it was the uncommits [00:44] call it whatever you like [00:44] but the info is there somehow, in some form [00:45] mark06: there is no such thing as a "uncommit object" - uncommit doesn't create objects [00:46] as I said, you may call it whatever you like [00:46] it seems like you're possibly referring to the objects left behind in the repository after a branch stops referring to it [00:46] name it like you wish [00:47] info is not deleted, completely deleted at least, when we uncommit [00:47] mark06: sigh, you're being very sloppy with terminology which makes it hard to understand what you're talking about [00:47] yeah if those are the uncommits [00:48] I don't have the patience for that, sorry [00:48] if there are other ways to leave these objects unreferenced, then I could try to figure out how to differentiate [00:49] if these unreferenced objects should not normally live within a branch, then I may assume they're likely uncommits and it it does not harm to delete these unreferenced objects, then I could just do it [00:49] There's no reasonable algorithmic way to do that [00:49] ok so will it be harmful just deleting all unreferenced objects? [00:50] I'm curious... how do you think you're going to 'delete unreferenced objects' ? [00:50] rm [00:50] or bzr api [00:50] or bzr api hacks [00:50] Nope [00:50] why [00:51] They're not objects in the filesystem, nor are there bzrlib apis for this [00:51] I need to seek for references and find none? [00:51] then bzr api hacks I think [00:52] are these objects somehow tagged as 'unreferenced' or I need to actually seek for references all though the branch to check it's actually unreferenced? [00:53] I don't think you really understand the bzr storage formats enough, they're fairly append-only [00:54] The functional way to get rid of unneeded objects is to branch what you do want into a fresh repository [00:58] that's what I do, but it's boring... [00:58] needs to push and pull with --remember [00:59] if I could have a program to go through all branches on a directory tree and just remove or at least report them would be nice... [01:00] I could write a similar program for branching like this instead.... but so ugly... [01:01] but that would be much easier at least... [01:02] mv b b.old; bzr branch b.old b; extract parent and push from b.old's branch.conf; then push --remember; pull --remember... [01:05] even more easier than I thought: grep -E "^(parent|push)_location" b.old/.bzr/branch/branch.conf > b/.bzr/branch/branch.conf :) [01:08] thanks anyway maxb, jelmer === mark06 is now known as mark06-away === mark06-away is now known as mark06