/srv/irclogs.ubuntu.com/2008/04/25/#bzr.txt

abentleyelmo: It does use the authserver.  In fact, it uses it multiple times per session.00:17
abentleyjam: option a) is significant scope creep.01:10
abentleyWhy do I have to rewrite your code the way you wish you'd written it?01:12
plexqIs there any way to get bazaar to actually check the files in the directory to see if they are new rather than just assuming they are becuase their timestamp changed?03:31
plexqor will bazaar only actually check in changes that are real?03:32
abentleyplexq: Bazaar doesn't use the timestamp to determine whether a file is changed.03:33
abentleyIt uses a cached SHA1 sum.03:34
plexqah-ha03:38
plexqI think it's the permissions03:38
plexqwindows is funky03:38
plexqok - a bzr diff says 'properties changed' how can I tell what properties so I can unchange them?03:41
fullermdThat would probably be the executable bit...03:42
=== weigon__ is now known as weigon
=== Toksyuryel` is now known as Toksyuryel
awilkinsjames_w: Ping?10:45
james_whi awilkins10:46
awilkinsjames_w: I wrote that "spit the arguments in the stack trace" code we talked about on Wednesday, it wasn't too horrible10:56
james_wawilkins: ah cool, can I see it?10:56
awilkinsLet me paste it somewhere....10:56
awilkinshttp://pastebin.ca/99691510:58
james_wthanks10:58
awilkinsI put this in trace.py, just above report_bug, and replace the std traceback.print_tb routine with it10:59
james_wawilkins: cool, and that works for positional and keyword arguments?10:59
awilkinsDidn't test it ; I just trusted the API docs10:59
james_wany way it could print locals as well, or is that info not available?10:59
james_wheh :-)10:59
awilkinsjames_w: Yes, it works by reading the locals dict, which contains the args first11:00
james_wawilkins: ah yes, I see, do you think printing all locals would be useful, or too much?11:00
awilkinsSo you would just change the [:co._co_argcount] to [:]11:00
awilkinsSome of those routines have a lot of locals11:00
james_woften the thing you are interested in would be a argument somewhere in the stack, but in certain cases seeing everything might be useful.11:01
james_wtrue, I think arguments would be a great first step.11:01
awilkinsEven just using the sample "assert" test spews a lot if you use all locals11:01
james_wI'd love it if we could have this in the core, controlled by a -D flag probably11:01
awilkinsYou might not want to make it default ; I was thinking about the D flag11:02
awilkinsBecause I reckon it could be very nasty with large string values (but I don't know how many bzr chucks around internally)11:02
james_wyeah, default would be too much I think, when a user gets a backtrace there scary enough as it is.11:02
awilkinsI suppose if bzr is well designed it doesn't throw around large strings11:02
james_wI don't think it does.11:02
james_wthe other alternative would be an environment variable, but I think I prefer the -D option11:03
awilkinsLikewise11:03
james_wcool11:03
awilkinsYou might even want (say) an option for a regex/glob path to match the routines you wanted "arged"11:03
james_wyep, or perhaps a number of frames from the bottom, often the lowest one or two are all you care about.11:04
thumperis there a simple way to just run a subset of the tests?11:26
thumperOdd_Bloke: ping11:27
james_whi thumper11:27
thumperhi james_w11:27
james_wbzr selftest <regex>11:27
thumperjames_w: thanks11:27
james_wit matches on the test names, including the module names.11:27
* thumper nods11:28
thumperI don't have to register new test classes anywhere do I?11:29
james_wclasses, no. modules, yes.11:29
james_wtests/test_foo.py has to be listed as test_foo in tests/__init__.py11:30
thumperhmm, I've added a class to tests/test_config.py11:30
thumperhowever I can't seem to get it running the test11:30
james_wusing a regex?11:31
thumperI tried with the class name first, and that didn't work11:32
thumperand I assumed that adding a .* to both ends might help, but it didn't11:32
james_wodd11:32
james_wyou're running with the right bzrlib?11:33
* thumper smacks forehead11:33
* thumper needed ./bzr rather than bzr11:33
james_wheh11:34
TFKylehmm, bundlebuggy b0rked?11:53
=== mrevell is now known as mrevell-lunch
Odd_Blokethumper: Pong!12:44
awilkinsThe BB for bzr-gtk doesn't seem to be eating list mails, at least12:45
* awilkins is answering a question from a half-hour ago, RAin Man style....12:46
Odd_BlokeThe bzr BB seems to be b0rked as well.12:48
Odd_Blokeabentley: ^12:48
thumperOdd_Bloke: I was going to talk with you about PQM12:48
thumperOdd_Bloke: but it's getting late here, and my laptop is about to lose battery power12:48
thumperOdd_Bloke: perhaps we could talk next week some time12:48
thumperoh, and I finally got around to writing tests from by alias command for bzr12:49
Odd_Blokethumper: Yeah, that'd be good.12:49
thumperOdd_Bloke: when would be good?12:49
thumperOdd_Bloke: can you talk in the evening?12:50
Odd_Blokethumper: Yeah, normally.  Bear in mind that I'm on UTC+1, so evening is somewhat subjective. :p12:50
thumperOdd_Bloke: what time do you head to bed?12:51
Odd_Blokethumper: Around 11pm local time on average, though it often depends.12:51
thumperOdd_Bloke: how about 9:30, or 10pm Sunday night your time?12:52
Odd_Blokethumper: Sunday nights don't work well for me, unfortunately.  Both Monday and Tuesday evenings work.12:53
thumperok, how about Monday night?12:53
Odd_Blokethumper: Sure.12:54
thumperOdd_Bloke: ok, I'll ping before calling (to get your number among other things)12:54
* thumper heads to bed now12:54
thumpernightall12:55
abentleythumper: night12:55
Odd_Blokethumper: Night!12:55
=== bigdo3 is now known as bigdog
abentleyOdd_Bloke: Up now.13:18
Odd_Blokeabentley: Cool, thanks.13:20
* Peng suggests a kill-and-restart monitor daemon for BB.13:36
TFKyleabentley: assuming you were talking about the bzr bb it still seems to be b0rked here: OperationalError: (OperationalError) database is locked u'INSERT INTO visit [...]13:52
abentleyPeng: I already implemented one.13:53
Peng:)13:53
abentleyTFKyle: Should be working again.14:03
=== bigdo3 is now known as bigdog
ubotuNew bug: #221890 in bzr-loom "export-loom should be able to ignore bottom thread (at least)" [Undecided,New] https://launchpad.net/bugs/22189014:49
=== mw|out is now known as mw
mwThe link for the latest RC on http://bazaar-vcs.org/Download is incorrect15:02
mwit says bzr-1.4rc2.1.tar.gz but the actual tarball is named bzr-1.4rc2.tar.gz15:03
=== cpro1 is now known as cprov
jammorning all15:27
=== pmezard__ is now known as pmezard
denndaHow do I reverse my whole branch to revision 16?16:06
LeoNerdbzr revert -r 1616:06
dennda(And, after that has been done: If I commit again, will revisions 17, etc. be overwritten?)16:06
radixdennda: no16:07
denndahow does that work?16:07
radixdennda: revert just modifies your working tree to look like a previous revision.16:07
radixdennda: so if you commit, you'll just be adding a revision that looks like the old content16:07
radixdennda: if you don't want those revisions at all, you can "bzr branch -r 16 oldbranch newbranch"16:08
denndaok no the standard behaviour is fine16:09
vilahi all16:40
vilabeuno: ping16:40
abentleyawilkins, james_w: One of the ways Bazaar represents file contents is as large strings.16:58
james_wah, ok.16:58
awilkinsjames_w: Could probably do with something that represents large strings as "This is a big {....}." then17:28
james_wawilkins: yep, sounds like it17:28
awilkinsI use this thing called HuntErr31 for VB6 (blech) stack tracing17:29
james_wyou could str() everything, and then len() it.17:29
james_wthen truncate if it's more than some number of characters.17:29
awilkinsMuch nicer in Python, you don't have to handwrite a stack trace into every routine :-)17:29
james_wheh17:29
awilkinsA set of formatting classes might be nice17:29
awilkins(but getting ahead of things)17:29
james_wif you do this it wouldn't want to be hooked in to log_exception_quietly, or whatever it is called, as then you are going to be putting a performance penalty on things.17:30
james_wif the info is wanted you can just ask for -Derror -Dwhatever, that should work.17:30
=== mrevell is now known as mrevell-afk
mtaylorpost_push hook: "and the rest should be self explanatory"18:52
mtaylorwhere "the rest" == "old_revno, old_revid, new_revno, new_revid"18:52
mtaylorif I've got 7 revisions to push, rev x1-x7, (before I push) and after I push they are revs y1-y7 - does old_revno == x1 or x7 ?18:54
mtaylorok. it seems those match up with 'last-revision'19:05
mtaylorso the question is - if I want to send a post-push message that contains the diff representation of what I just pushed - what's the best way to find the revision from which the push started?19:06
mtaylorI've got a broken recursive function walking back up the tree at this point19:06
=== threeve__ is now known as threeve
=== mw is now known as mw|food
emgentheya20:06
james_whi emgent20:25
kevinshello all...I have a merge/replay question20:39
kevinsI think I know the answer, but want to confirm. I have been following bzr development for years, but only now finally have a chance to use it on a serious project20:40
kevinsIf I do development on a feature branch, and then merge into the mainline, the default behavior is for all my changes to get combined into one changeset (with details available in log --long)20:41
kevinsBut if I really want all my individual commits to be reflected in the mainline, there is no simple way to do so20:41
kevinsI would have to rebase, replay, and then push...is that right?20:42
james_wnot sure what you mean by replay, but yes.20:44
james_wpush or pull as the last step works.20:44
jelmerbeuno: ping20:44
beunojelmer, ping (vila too)20:44
jelmerbeuno: any chance you can review http://bundlebuggy.vernstok.nl/bzr-gtk//request/%3C1207373163.31805.6.camel@ganieda.vernstok.nl%3E ?20:45
beunojelmer, sure, let me just hide from marianom for a minute  :p20:45
jelmermarianom?20:45
beunojelmer, he's here working with me on something, but ignore that comment  :)20:46
james_whi jelmer, beuno20:47
james_wbeuno: you have a party tonight?20:47
beunohey james_w!20:47
beunojames_w, we already had one last night20:47
beunoshould we have another one today?20:47
beunomaybe we should...20:47
james_wevery night!20:47
james_whow was it?20:47
beunojelmer, can I log into BB directly?  It still doesn't let me vote through email20:47
jelmerbeuno: yes, you should be able to login directly20:48
kevinsjames_w: I think the rebase plugin has a replay command20:48
jelmerbeuno: I think I sent you the password by email during the sprint20:48
james_wkevins: ah, I didn't know that.20:48
beunojelmer, let me try and find it20:49
kevinsif not that, then how else would I be able to do a push if someone else had made changes?20:49
beunojames_w, did you folks have a party at Canonical?20:49
james_wkevins: ah, that's what rebase is, it does the replay I thought.20:49
Davieybeuno: There was one - and it was lots of fun!20:49
james_wbeuno: there was one, with some of ubuntu-uk as well, but I wasn't in London so I missed it. There were reports of people getting home at 9am this morning though.20:50
beunojelmer, found it, approved. It redirects me to localhost for some reason though...20:51
james_whi Daviey. Are you going to Swindon tomorrow by any chance?20:51
jelmerbeuno: yeah, I think I need to update20:51
beunojames_w, 9am??   oh god...20:51
jelmerbeuno: It should be fixed20:51
jelmerbeuno: (update BB that is)20:51
Davieyjames_w: hmm - haven't requested a weekend leave pass from MrsDaviey - i should try :)20:51
james_wDaviey: you can tell her you're staying over at mine, as long as she doesn't phone we'll be ok.20:52
Daviey:)20:52
Davieyi would love to!  I'll work on it20:53
jelmerbeuno: thanks, btw :-)20:53
beunojelmer, anytime  :)20:55
* beuno goes back to work20:55
kevinsI'm not sure how to suggest it, but my question is not covered in any docs/wiki/mailing list archive that I could find. It was a big surprise to me, so it would be great if it could be documented20:59
jelmerkevins: what was your question exactly?21:00
kevinsjelmer: I was confirming that moving full history from a feature branch to a mainline is difficult, not automatic21:04
kevinsjelmer: the way I do code reviews on our project, that's going to be somewhat painful for me21:08
jelmerkevins: What do you mean by "moving history" exactly? "bzr merge" will reconcile the histories of a feature branch and mainline21:09
kevinsjelmer: by "full history", I mean that I could look at mainline, and see each individual commit that was made on the feature branch, not just a single "merge" changeset21:09
kevinsjelmer: and not just commit logs, but the actual diffs, so I could do code reviews from the mainline itself21:10
jelmerkevins: You can do that if you use merge21:11
jelmer"bzr log" will show the merged revisions indented21:11
jelmerand you can use "bzr diff -c" on the revision numbers listed there21:11
kevinsjelmer: ah, that isn't documented (that I could find)...so you are saying that each commit gets merged, and can be individually explored...I couldn't figure out what -c was for21:15
kevinsjelmer: Just tried it, and with bzr visualize, it looks like it does exactly what I want. Thanks! Would be great if the merge documentation were clearer about that.21:24
jelmerkevins: please file a bug report or talk to igc when he is around (he does most of the work on the docs)21:25
vilabeuno: pong21:36
=== mw|food is now known as mw
korpiospung.  pang.  peng.21:39
beunovila, hey!21:39
vilabeuno: tests passing again in bzr-upload, man, at least run the test suite before committing :)21:40
vilaWere you able to install medusa ?21:40
beunovila, I was able _after_ I committed. Sorry about that  :(21:41
vilabeuno: Argh, re-reading log, it looks like I reverted your ""Moved reporting of what has been done to a default instead of verbose mode"21:41
beunoI'll be good now  :)21:41
beunovila, no worries, I'll add that on later21:42
beunoglad you're back21:42
vilaBut since we have a verbose option I really think we should use it, you can define an alias to put it on21:42
vilaThanks for your additions anyway, good to see changes and conflicts checked !21:43
beunovila, I initially had it as verbose, but, on the other hand, who *doesn't* want to know what was uploaded?21:43
beunoseems to me like 95% of the time, you will want to know21:43
beunoso I moved it to a default behavour21:43
vilacron jobs, people trusting the plugin, **tests** -)21:44
vilaBut since the outf modification broke nearly all the tests I need to re-think the way they are structured so I can run them with verbose=False and put verbose=True as default21:45
beunovila, then it seems like it's the inverse, you need a --quite  :)21:45
beunos/you/we21:45
vilasure21:45
beunovila, yes, I realized my outf broke the tests. But now I can run the tests, so it should be easier not to piss you off  :)21:46
james_wis this the plugin you were talking about in London for people who want to have websites in bzr and upload the working tree as well?21:46
vilabeuno: time to bzr update then, that was fixed a couple of hours ago :)21:46
beunojames_w, yeap, it's pseudo-working  :)21:47
vilaand wether or not verbose is True, all outf statements should be under its control :)21:47
vilajames_w: yup21:47
beunovila, cool. I'll pull and look at the diff/logs21:47
james_wawesome, thanks guys21:47
beunojames_w, http://launchpad.net/bzr-upload   :)21:48
ubotuNew bug: #222161 in bzr "Documentation is unclear about merge history preservation" [Undecided,New] https://launchpad.net/bugs/22216121:56
vilabeuno: how far have you gone in your bzr-upload use ?22:05
beunovila, not far, I'm stuck on uploading individual files to integrate it into my system22:14
beunoI have, however, used it for several personal sites22:15
beunoand it's working fine22:15
vilahmmm, you want to upload unversioned individual files ?22:15
beunovila, upload arbitrary versioned files  :)22:22
vilaI can't parse that... Either you use bzr-upload to keep your wt and your remote synchronized or you don't, as soon as you modify your remote... well you broke the sync22:23
vilaOr do you mean you want a --uncommited option ?22:24
beunovila, that's not it.  I mean, use bzr-upload to re-upload an arbitrary versioned file. For any reason possible. Or, if not possible, *exlude* some files from being uploaded22:24
vilaThat will break the sync, what's the use case ?22:25
beunovila, well, here, since multiple people push stuff, many times, someone doesn't want to upload the other guy's changes, so he just uploads his changed files22:27
vila8-) verbose=False to the rescue !!!22:28
vilaseriously, the remote could really messy with no hope to ever be able to upload incrementally, you're got really high risks of having an incoherent remote site22:29
vilas/could really/could really get/22:29
vilas/you're/you've/22:29
* vila is back with his typos22:30
* vila 's hands suffer to rebuild the kitchen, be gentle ;-)22:31
beunovila, right, I agree from a purist point of view. I'm just explaining what my reality is: I can't fully use it if I force people to upload every file22:31
beunoand I imagine I'm not alone  :)22:31
vilaThat's not purity at all, that's just that it will not work :)22:32
vilaWe use bzr to know what needs to be uploaded so bzr should be informed about what is uploaded or she can't tell us22:33
vilaand if bzr can't tell us, either we download the remote and compare it with local or we blindly upload the full wt22:33
vilawhich you will find equally unacceptable22:34
vilaAIUI, *you* force them to merge which implies you force them to upload other guys changes22:35
vilaif you really want that do that, but if you don't, don't force them to merge and leave them handle the consequences: a remote mess :)22:35
vilaWhat we are trying to achieve is minimizing uploads, we use bzr for that, you can't find upload less and still be able to do it incrementally22:37
vilas/find//22:38
beunovila, not even if we warn the user enough?22:40
vilawarning the user will not give us a way to avoid a full upload22:41
vilawhy don't they want to upload the other's guy changes ? Time ? Cost ?22:41
vilaNot wanting to assume the other guy bugs ?22:41
vilaHonestly, I'm trying to solve the problem, if it means tons of code I'll tell you come back next century, but I will not say no22:43
james_wheh :-)22:48
beunovila, assuming the other guys bugs  :)22:49
vilaThere you go, do bzr-upload in a pre-commit hook :)22:50
vilaor don't force htem to merge before uploading22:51
beunovila, right, well, they _have_ to merge to be able to push to the main repo22:51
beunoand, I probably don't want them to upload from their own repo, but from the main one22:52
beunobut I suppose I can change parts of that, or work around it when they want to upload it partially22:52
vilabut you leave them push without uploading ?22:52
beunovila, yeap, many times22:52
beunoI don't want every change to go online22:52
beuno3 people might work on a feature (or different ones) for a few weeks before uploading22:53
beunoand, suddenly, one of them want to upload the feature they've been working on22:53
beunobut not the others22:53
beunoso, currently, they just upload the files they've been working on22:53
vilafair enough, use feature branches22:53
beunoyes, I've been avoiding adding a layer of complexity for the non-techie guys22:54
beunowith this less-than-perfect option of uploading specific files22:54
vilabut how do they know what specific files they need to upload ?22:55
vilathey do that without bzr ?22:55
vilame is scared for them22:55
vila:)22:55
* vila is scared for them22:55
vilascared damn it (put down that hammer will you)22:56
vilabzr-upload is a mix of bzr export and bzr push22:56
vilait's not really a push because we can't patch the remote files, we need to upload them completely22:57
beunovila, yes, it's scary  :)22:57
vilabut at least we know which files have been modified because we use the revid to identify the whole remote tree22:57
vilaif you upload one or severa; files behind our back, there is no more revid to represent the whole remote tree, we're doomed22:58
vilabut we can upload any revid, so I think the solution is to give them the right branches to work with22:59
beunovila, right. I guess a more advanced interface than they currently have might work around this22:59
beuno(let them choose which one of *their* revids they want to upload(23:00
beunoso, you can ignore that bug, and I'll add more work to my list  :)23:00
vilaI don't really think it's a workaround, you want to know the history of your remote site23:00
beunovila, yeap, gotcha23:02
vilaMy advice would be to clearly define the overall workflow including the constraint that you want to track the work done *and* the remote history, I'm under the impression that you need to define some intermediate branches from where you push to the main repo and then you upload23:04
vilaThat way code can be shared before upload without forcing any part on anyone too early23:04
beunovila, yeap, I'll look into changing bits of my workflow23:07
vilaOk, keep me informed, I'll try to make full upload more robust anyway and then have a look at the chmod bits23:08
beunovila, will do. I'll need some basic logging out of the plugin to catch errors, and then I can implement on a wider scale23:10
beuno(I'm thinking error-side errors mostly)23:10
vilaserver-side ?23:10
beunovila, random web servers going down in the middle of an upload23:11
beunoI currently report back to the user what was succesfully uploaded, and what wasn't (currently comparing md5, but I'm only using SSH)23:12
beunoso the user knows they have to re-upload i23:12
beuno*it23:12
beunowhich is another use case for the bug I filed23:12
beuno100 files to upload on revid X23:12
beuno99 get uploaded, and 1 fails for random reason23:12
beunoyou just re-upload 1 file23:12
beunonot 10023:13
jelmerbeuno: thanks again for looking after those reviews23:13
beunojelmer, np, I should of done it a while back anyway  :)23:14
vilaHmm, yes, ftp transport should handle more gracefully transient errors, that would help a lot23:15
beunovila, maybe resume b0rked upload may be an option to implement for the case I just proposed23:17
beunoof course, that means a lot of more work23:18
beunobecause you have to keep the state of the upload somewhere, until it's succesfull23:18
vilahandling transient errors will address most of the failures, is needed anyway and yes, is easier23:19
vilaSo let's do that first and see :)23:19
beunovila, alrighty23:20
vilagee midnight already gone ! night all :)23:35
beunovila, sleep well!23:35
* beuno waves at mwh_ 23:41

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