/srv/irclogs.ubuntu.com/2013/10/27/#bzr.txt

mark06how can I know if bzr --uncommit has been performed on a branch?00:26
jelmermark06: 'bzr log' will tell you00:29
mark06where exactly? I though log only showed commits, not undone commits...00:32
jelmermark06: well, I meant you can see that a particular revision disappears from "bzr log"00:33
jelmermark06: there is no real recording anywhere that an uncommit had previously been done00:33
mark06but the uncommit is still there, so maybe I could grep/find for something in .bzr?00:34
jelmermark06: 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 uncommit00:35
mark06then I need not to rely on that00:36
mark06maybe something within .bzr\repository?00:37
maxbWhy do you need to know this? (Tell us more about your use case so we can suggest alternatives)00:37
mark06I just wanna know00:38
jelmermark06: uncommit only touches files under .bzr/branch, and it just resets the branch tip - doesn't do anything else00:38
maxbThere is no explicit record that an uncommit has occurred00:38
mark06maxb: 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
mark06maxb: then bzr uncommit won't actually delete such info00:40
mark06There is no explicit record that an uncommit has occurred -- ok then I need to recognize the uncommit objects by hand...00:41
maxbNo, you need to understand that there is no such thing as an 'uncommit object'00:41
mark06*-m00:43
mark06ok, call it whatever you like00:43
mark06but it's there00:43
maxbActually, it's not there00:43
mark06it is00:43
mark06branches growing for no reason in the past00:44
mark06it was the uncommits00:44
mark06call it whatever you like00:44
mark06but the info is there somehow, in some form00:44
jelmermark06: there is no such thing as a "uncommit object" - uncommit doesn't create objects00:45
mark06as I said, you may call it whatever you like00:46
jelmerit seems like you're possibly referring to the objects left behind in the repository after a branch stops referring to it00:46
mark06name it like you wish00:46
mark06info is not deleted, completely deleted at least, when we uncommit00:47
jelmermark06: sigh, you're being very sloppy with terminology which makes it hard to understand what you're talking about00:47
mark06yeah if those are the uncommits00:47
jelmerI don't have the patience for that, sorry00:48
mark06if there are other ways to leave these objects unreferenced, then I could try to figure out how to differentiate00:48
mark06if 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 it00:49
maxbThere's no reasonable algorithmic way to do that00:49
mark06ok so will it be harmful just deleting all unreferenced objects?00:49
maxbI'm curious... how do you think you're going to 'delete unreferenced objects' ?00:50
mark06rm00:50
mark06or bzr api00:50
mark06or bzr api hacks00:50
maxbNope00:50
mark06why00:50
maxbThey're not objects in the filesystem, nor are there bzrlib apis for this00:51
mark06I need to seek for references and find none?00:51
mark06then bzr api hacks I think00:51
mark06are 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:52
maxbI don't think you really understand the bzr storage formats enough, they're fairly append-only00:53
maxbThe functional way to get rid of unneeded objects is to branch what you do want into a fresh repository00:54
mark06that's what I do, but it's boring...00:58
mark06needs to push and pull with  --remember00:58
mark06if 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...00:59
mark06I could write a similar program for branching like this instead.... but so ugly...01:00
mark06but that would be much easier at least...01:01
mark06mv b b.old; bzr branch b.old b; extract parent and push from b.old's branch.conf; then push --remember; pull --remember...01:02
mark06even more easier than I thought: grep -E "^(parent|push)_location" b.old/.bzr/branch/branch.conf > b/.bzr/branch/branch.conf :)01:05
mark06thanks anyway maxb, jelmer01:08
=== mark06 is now known as mark06-away
=== mark06-away is now known as mark06

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!