/srv/irclogs.ubuntu.com/2010/07/29/#bzr.txt

mtaylordoes a tag get associated with a revid or a revno?00:18
jelmermtaylor, a revid00:19
mtaylorok. good00:19
mtaylorI just had a brief hrm00:19
=== Ursinha is now known as Ursinha-afk
=== wgrant_ is now known as wgrnat
=== wgrnat is now known as wgrant
pooliehey spiv07:55
pooliefeel free to do some more merge cleanups after your submission :)07:55
poolieon a brief readthrough that patch looks fine07:56
spivI will :)07:57
pooliei'm going to keep scrubbing add07:59
poolieif i can stay awake  :)07:59
spivIt's daytime in Europe, should be no problem ;)08:01
pooliehm08:03
NET||abusehmm, pushing bzr repo's up to my web server seems to be very slow and i'm never certain it'll work09:19
poolieNET||abuse: over what protocol? what goes wrong?09:35
NET||abusessh09:36
NET||abuseit just hangs for ages09:36
NET||abuseit worked this time,, but i've often had it push up most of the files,, then it just hangs,, i ctrl+c out of the process after an hour,, but the files seem to have been put up09:37
NET||abusei just feel worried at this piont that there's an error in my repository somewhere09:37
NET||abusei run bzr check on the repo09:37
NET||abuseand it comes back clean09:37
NET||abuseit's just really weird09:37
AfCNET||abuse: you have full shell on the target server? If so, why not go there, bzr init-repo a new reository, bzr branch in whatever's already there (to pre-popuplate it), and then try your over the wire push again09:40
AfC[ {shrug} ]09:40
NET||abuseAfC, that's a good suggestion, i'll try that the next time i'm pushing up09:42
NET||abuseshould be in the next 24 hours i'll be doing that again :)09:42
NET||abusethe repo i was pushing up was about 80MB09:42
NET||abuseso it wasn't too small09:42
AfCnot too big, either09:42
NET||abuseyeh, but over my teathered android phone connection :)09:43
NET||abuseon the bus on the way to work :P09:43
AfCurgh09:43
NET||abusehehe09:43
AfCOk, well it's TCP that's burning you.09:43
NET||abuse :) hmmm i see09:43
AfC3G UTMS is famous for dropping long duration connections at Layer 1 and/or Layer 2 (which then reestablish) but which09:44
AfCwill result in TCP interpreting that as lost traffic (due to late or lost return ACKs)09:44
NET||abuseshould bzr maybe have a little more in the way of timeouts and retry methods?09:44
AfCwhich will result in traffic congestion kicking in,09:44
AfCwhich will result in TCP thinking you're available bandwidth is sqrt(fuck all)09:44
AfCNET||abuse: it's got nothing to do with Layer 809:45
NET||abusehmm, ok09:45
AfCNET||abuse: there's nothing bzr (or your web browser, or wget, or anything else) can do09:45
NET||abuseright fair nuff09:45
AfCif your network connection is lossy or "randomly" delays packets09:45
AfCTCP/IP, right?09:45
NET||abusei'll have to push with git or other things for a while and see how that behaves..09:45
AfCShould be TCP vs IP09:46
NET||abuseTCP vs IP?09:46
NET||abusehow do you mean?09:46
AfCBazaar works *VERY* hard to do the right thing and is optimized for a) not losing things, b) performance over stable links09:46
AfCif you've got an unstable link, well, all bets are ff09:46
NET||abusethat's fair enough09:47
AfCbecause bzr+ssh rides over SSH which rides over TCP and TCP (by its design) cannot push large data volumes over lossy links.09:47
AfCand 3G modems are right back to the dark ages as far as actual link stability is concerned.09:48
NET||abusei thought that it's design was good for exactly that? as opposed to udp09:48
AfCTCP will guarantee (mostly) delivery09:48
AfCof what it thinks the best average rate it can get away with is09:48
AfCif you're losing (say) return ACKs09:48
NET||abusewell the phone is the htc desire, so it's the H connection,, is that HSDPA or something else?09:48
spivTCP copes very well with a very small percentage of dropped packets.09:48
AfCthen it'll think that the available bandwidth is miniscule.09:48
AfCspiv: yeah09:50
AfCindeed, its designed to loose .... one09:50
AfCwhich is when it decides it's reached it's limit. Then it backs off one, tries again, etc09:50
AfClinear & sawtooth09:50
NET||abuseaccording to htc it's call HSPA/WCDMA09:51
NET||abusethey dropped the D?09:51
AfCspiv, NET||abuse: Paul Drain pointed me at a paper written by Glen Turner on this topic; you might enjoy it <http://www.gdt.id.au/~gdt/presentations/2010-07-06-questnet-tcp/glen-turner-tcp-performance-notes.pdf>09:52
AfCI've been doing a lot of work network tuning lately, so it was timely.09:53
AfCspiv: (do you know [of] Glen?)09:53
AfCspiv: frequent voice on linux-aus, etc09:53
NET||abusethat's an interesting read,, thatnks :)09:54
NET||abusequick question,, obviously this is #gzr so there's a bias, but is there a set of circumstances where you'd choose git over bzr?09:54
NET||abuseor what task types do you use each for?09:55
AfCNET||abuse: no09:55
AfCnone whatsoever09:55
AfCever09:55
AfC[we comprehensively rejected Git ~2006, and remain pleased with that call]09:55
AfCbut that's just my firm. Others will be more even handed in a perceived need to be even handed for some reason. :)09:55
spivAfC: I've occasionally seen the name on mailing lists, but that's all I think.09:56
AfCspiv: he's good people09:56
NET||abuseok, auto deployment,, i push a repo up to a test domain on a web server, so i can show a client or someone, i push up to a repo, it's adjacent to my webroot dir, i want to update the working copy on the remote server any changes, and then deploy to the app and webroot directory the relevant directories in the working copy10:12
NET||abuseso my server under /var/www/mydomain/   has a www/ dir    the bzrrepo/   and i have a static copy of cakephp libraries there, and i have the app/ directory outside of the cakephp directory10:13
NET||abuseif i want to script a post receive push hook on the remote repo,, is there a good way to do that?10:13
=== Leonidas_ is now known as Leonidas
spivWrite a plugin to use Branch's post_change_branch_tip hook, install it on the server.10:14
spiv(and use bzr+ssh to push, if you haven't already)10:15
spiv(Or possibly take a completely different approach and use bzr-upload on the client to just upload files rather than pushing branches?)10:15
NET||abusespiv, yeh, i use bzr+ssh already :)10:16
sorenTags are not part of the revision data, are they? They're kept as a separate index somewhere, right?10:22
sorenSo if I merge a branch that has some extra tags in it... Do I get those tags, too?10:23
pooliesoren: yes10:25
maxbTags are pretty much a dictionary of name->revid that is kept in a *branch* (not a repo)10:27
sorenpoolie: Ok. Are there other things that do not show in "bzr diff" that I might be getting when merging a branch?10:27
maxbI am unsure, but signatures, perhaps?10:28
sorenmaxb: I'm not sure I understand the difference between a branch and a repo.10:28
sorenIn fact, I'm sure I don't understand :)10:28
maxbA repository is a store for revisions. Nothing more, nothing less.10:28
maxbA branch is a pointer to a specific revision id (the tip of the branch), plus tags10:29
sorenI see, ok.10:29
maxbsignatures go... somewhere. I'm not sure. I don't use them10:29
sorenThe reason I'm asking is that we (OpenStack) have a trunk that is handled by Tarmac. Someone submitted a branch with some extra tags in it, intending for those tags to be in the trunk, too. After the merge, the tags are not there.10:30
maxbsoren: that's a little odd. I would *expect* a bzr merge to copy all (non-conflicting) tags10:30
soren...and I'm trying to work out if that expectation was reasonable at all, and if so, what the problem might be.10:30
maxbHowever, if tarmac runs bzrlib functions, not the bzr command line, it's possible it fails to also run the stuff that merges tags10:31
sorenmaxb: https://code.edge.launchpad.net/~mordred/nova/release-0.9.0/+merge/3116810:31
sorenmaxb: Tarmac does call bzrlib functions, afaics.10:31
sorenmaxb: Branching the proposed branch reveals the tags.10:32
sorenmaxb: Branching the trunk (which has the proposed branch merged into it now) shows no tags at all.10:32
spivsoren: it is a reasonable expectation, and suggests a bug in Tarmac (or the bzrlib API it is relying on)10:32
maxbIt sounds to me like the first thing to do is to investigate whether tarmac *ever* merges tags10:32
maxbIt is soundling like it does not10:32
spivI think PQM had (has?) a similar issue.10:32
sorenspiv: I checked the bzr trunk, and it definitely has tags in it.10:33
sorenspiv: IIUIC, they cannot have gotten there by any other means than PQM?10:33
=== Leonidas_ is now known as Leonidas
spivAssuming PQM is the only way that branch was ever written too...10:33
sorenRight.10:34
spivs/too/to/10:34
sorenWell, there are recent tags, even. I imagine cowboying pathes onto the trunk would have been a thing of the distant past by now.10:34
sorenbuiltins.py:cmd_merge does seem to take special care to merge the tags.10:38
sorenYet tarmac seems to just call tree.merge_from_branch(...).10:39
soren*headdesk*10:40
sorenmtaylor already reported that bug.10:40
soren...and rockstar apparantly fixed it.10:40
* soren is always a step behind :)10:40
bialixhello bzr!12:40
jelmerHi bialix!12:41
jelmerHaven't seen you in a while, how have you been?12:41
bialixHeya jelmer! recently has returned from vacation12:42
* bialix just finished to read mails12:43
=== Ursinha-afk is now known as Ursinha
GaryvdMHi bialix!14:05
=== gnomefreak76 is now known as gnomefreak
mgzanyone know what Jonathan Lange's irc nick is?14:25
GaryvdMmgz: jml14:26
jmlhello mgz14:26
mgzthanks! saves me bouncing on things via email.14:26
bialixHeya GaryvdM, mgz~14:26
bialixHeya GaryvdM, mgz!14:26
mgzjml: there are a few things that need shaking out still with the testtools unicode traceback stuff14:27
jmlmgz, more than just trivial_last_time_for_this_line?14:27
mgzI've got one more brown paper bag thing to fix, and you variable name error you spotted is because that's currently dead code, until I turn the shelve I have for bug 592262 into a mp14:29
ubot5Launchpad bug 592262 in testtools "testtools breaks if a string exception is raised (affected: 1, heat: 3)" [Wishlist,Incomplete] https://launchpad.net/bugs/59226214:29
mgzbialix: did you have a nice holiday?14:29
jmlmgz, hmm.14:29
mgzbasically, it just needed a bit of real-world testing, as there are still codepaths the unittests don't cover14:30
jmlmgz, well, that's not entirely true14:30
jmlmgz, I mean, the test suite hasn't actually passed in some time.14:31
mgzhm? passes here on all the python implementations I've got.14:31
mgzwe managed to screw up the one line in _details_to_str like, five times without the tests catching it.14:32
jmlmgz, testtools revisions 74 through 80 don't pass for me on lucid.14:32
jmlmgz, at least, not when run with make check.14:32
jmlpython2.6, standard build14:32
jmlmgz, perhaps there's a locale config issue masking the problem on your machine (or causing the problem on mine, for that matter)?14:33
mgzhm, maybe that's just me being lame then.14:33
jmlmgz, well, it's actually me being lame for not having some kind of automated gateway that tests things before landing them on trunk.14:35
mgzokay, so you're right, the tests *did* catch that one-line error (repeatedly)14:37
jmlthey catch it by completely exploding :)14:37
mgzanyway, I'll get a test and fix up for the remaining dumb error I left behind, then check what remaining shelves need acting on sooner rather than later14:38
jmlmgz, can you please file critical bugs for all of these?14:38
jmlmgz, once all this is done I want to make a release asap14:38
mgzwell, most of this is just minor improvements as marked by # GZ ... comments in the current source14:38
mgzI'll file a bug for the current one14:39
jml(race against the clock: can we do this before pypi comes back up?)14:39
mgz(which is what's needed before release)14:39
jmlok thanks.14:39
=== Ursinha is now known as Ursinha-afk
bialixmgz: yeah, good holiday, warm sea and beautiful mountains (in Crimea). but too short :-(14:43
=== Ursinha-afk is now known as Ursinha
mgzokay, nearly there14:57
mgzjml: mp up.15:10
jmlmgz, ta.15:10
mgznow I need some coffee...15:10
GaryvdM\o/ New qlog feature: http://imagebin.org/10727815:19
hazmatif i do an update my working copy to a previous revision, how do i tell what revision my working copy is in? bzr stat just reports 'working copy out of date', bzr revno, just shows the latest rev in the repo... is there any way to identify the revision of the working copy?15:19
GaryvdMhazmat: use update, and not revert15:20
bialixGaryvdM: WOW \o/15:20
hazmatGaryvdM, i'm basically bisecting to find a bug being introduced.. i've bzr update -r REVNO to get to a particular revision in my working copy.. but once i do that, its not clear how i can find out what the REVNO of the working copy is from the bzr tools15:21
GaryvdMhazmat: Hmm, not sure how to see it from the command line. You can see it in bzr qlog15:22
* GaryvdM off to hockey practice. bbl15:23
hazmatGaryvdM, cheers.. sadly qlog tosses me an exception traceback , looks like a pyqt version mismatch on lucid15:23
hazmatGaryvdM, fwiw traceback at http://pastebin.com/S2eNEg4r15:25
bialixhazmat: you have out-of-date qbzr version15:26
bialixhazmat: /home/kapil/.bazaar/plugins/qbzr [0.17.0dev]15:26
bialixhazmat: please, update to latest 0.18.615:26
hazmatbialix, thanks15:27
hazmatcool, so qlog does show the current revno for the working tree.. would be nice to figure out how to do this from the cli as well though15:27
bialixI think there is open bug about that15:32
jamhazmat: bzr revno --tree IIRC15:32
bialixheya jam15:35
jamhi bialix15:35
jamlooking good GaryvdM15:35
jamnow you just need a way to select a range and do the same thing :)15:35
bialixyep :-)15:38
bialix~~~16:00
=== beuno is now known as beuno-lunch
=== beuno-lunch is now known as beuno
mtayloranybody around who can help us out a bit with tags and tarmac?17:16
mtaylorI've got a trunk branch protected by tarmac, which is using lightweight checkouts of the trunk17:17
mtaylorthen, I make a tag in a branch, propose it for merge, and tarmac merges it in17:17
mtaylorproblem is-  no taggy in trunk17:17
mtaylorlifeless had told rockstar a while back to change from heavy to lightweight checkouts and that everything should be fine - but perhaps we're still missing something?17:18
rockstarjam, maybe you can help? ^^17:18
jamrockstar: how are you doing the merge in tarmac?17:19
rockstarjam, I create a lightweight checkout of the target branch, merge the source branch in, and then commit.17:20
jamrockstar: 'merge the source branch in' using bzrlib ? or using bzr?17:20
rockstarjam, bzrlib.17:20
rockstarjam, lemme find the code.17:20
jamrockstar: looking at cmd_merge, I see:17:21
jam        from bzrlib.tag import _merge_tags_if_possible17:21
jam...17:21
jam        _merge_tags_if_possible(other_branch, tree.branch)17:21
jamSo I think you have to do something like that in your code. As 'branch.merge(other_branch)' doesn't merge tags, only fs contents17:21
jamanyway, I'm off to lunch, etc. I'll be back later17:22
rockstarjam, great, thanks.17:23
=== Ursinha is now known as Ursinha-lunch
jamrockstar: you should probably only do that after the test suite passes17:31
jamotherwise the target branch will get tags even if it doesn't actually merge the code17:31
jam(one of the clumsy parts about our tagging scheme)17:32
rockstarjam, so, I'm working with a tree, and I think that may cause complications.17:34
=== deryck is now known as deryck[lunch]
jmlmgz, you still around?18:10
=== Ursinha-lunch is now known as Ursinha
mgzjml: I am again now.18:59
jmlmgz, I've landed the MP you put up18:59
jmlmgz, we still need one for the sclass thing, iirc.18:59
jmlmgz, do you already have a patch w/ tests for that?19:00
mgzright, question on that front, you've got no moral objection to handling string exception on Python 2.4 and 2.5 right?19:00
jmlmgz, not at all.19:01
mgz^I've got a disabled test for the main part, just need to fiddle with RunTest._run_user19:01
jmlmgz, cool. if ping me when that's up, I'll review & merge straight away19:02
mgzmy current shelve for that it probably over-ambitious, it falls down on Python 3 because traceback._some_str is still pretty basic there19:02
mgzI'll pull it down to the essentials and put up a mp.19:02
jmlmgz, other than that, are there any other known issues with the Python 3 compat?19:02
jmlmgz, cheers.19:02
mgznothing else known, want to check that what was causing problems on babune on 2.7 is now resolved, but even if it isn't may well be a bzr or subuit bug, not something I've broken in testtools19:04
=== deryck[lunch] is now known as deryck
mgzjml: mp up, and I'm just going to grab some food, but will be generally around all evening19:28
jmlmgz, cool. thanks.19:29
tbnorthhi all - what's the status of nested branches?  Googling leaves me feeling support is incomplete / not in trunk, but I'm unsure?19:41
cody-somervillewhy does switch require a working tree?19:56
rockstarcody-somerville, why would you switch without a working tree?20:01
cody-somervillebasically I have a cache of branches20:02
maxbBecause without a working tree involved, a switch would be degenerate with a pull?20:02
cody-somervilleand I want to be able to take a branch in the cache and make it a 'clone' of some arbitrary branch20:02
maxbpull --overwrite?20:03
cody-somervillethe branches are all checkouts currently20:03
rockstarcody-somerville, wait, if you have a checkout, you have a working tree.20:05
cody-somervilleyes I do20:06
cody-somervillewas trying to with no working tree to see if that would avoid the conflicts and weird file moves20:06
cody-somervilleI can get it to work with a 'working tree' but it says every file has been moved to the same place it was before20:07
cody-somervilleex.20:08
cody-somervillerenamed:20:08
cody-somerville  project => project20:08
cody-somerville  sources-list/ => sources-list/20:08
maxbI'm guessing that indicates the tree root file-id has changed20:09
cody-somervilleyea, I'm switching between two completely different branches20:09
maxbI would guess that it's a bug that bzr doesn't switch the tree root, but rather switches everything under it20:10
cody-somervilleIs there a difference between a checkout and a bound branch?20:27
fullermdAbsolutely.  Also: absolutely not.20:29
maxbhah20:30
maxbWell, a checkout must have a working tree involved, whereas the terminology "bound branch" doesn't specify whether there's a tree or not20:31
mgzjml: have you done the 0.9.5 testtools release yet? I don't see a version number bump in the log.20:31
jmlmgz, uhh, which log are you looking at?20:32
cody-somervillemaxb, how does it distinguish a bound branch with a working tree from a checkout?20:32
jmlmgz, the answer is yes20:32
maxbI would say a bound branch with a working tree is identical to a heavyweight checkout20:32
mgzer, just on my branch which launchpad tells me is up to date20:32
fullermdA very long semantic discussion, in the end.20:33
jmlmgz, what url?20:33
cody-somervillemaxb, 'bzr info' seems to know the difference. I want to know how it figures it out.20:33
mgzah, trunk. did you create a new one for the release and change the version there?20:33
* mgz downloads the ta20:34
fullermdIt doesn't, because there isn't a difference.  Sorta.  It just gives particular names to particular conglomerations.20:34
mgzr20:34
mgzwait, now I'm really confused, launchpad tells me the 0.9.5 tar is 20 hours old.20:34
mgz...it does have the right __version__ there though, so I shall stop worrying.20:35
cody-somervillehmmm... on a checkout, bzr update is about 3 seconds faster then bzr pull --overwrite -- I wonder why.21:08
fullermdNoise, I expect.  It's all the same work.21:08
lifelesspull overwrite is likely doing a full history traverse21:08
cody-somervillecreating a new branch from scratch takes the same amount of time21:08
cody-somervilleor at least on this branch... Is it possible I'd see better performance with bzr pull --overwrite vs. bzr branch on bigger / more active branches?21:11
lifelessin principle yes21:13
lifelessit may nto be tuned to the limit21:13
cody-somervillelifeless, Basically I have a cache of branches containing config for each project. The URL to the config branch for a project could possibly change so I want to be able to update the cached branch to be a clone of the branch specified regardless if its the branch its already binded to or not. unbinding and then doing a bzr pull --overwrite seems to be the only way I can do this reliably but because it appears to takes the same amount o21:18
cody-somervillef time as it does to create a new branch from scratch it sort of defeats the purpose. Do you have any insight to a better solution?21:18
lifelesshow long are you talking? 3-4 seconds ?21:20
cody-somervillelifeless, for the branches I've been testing with, 3-5 seconds yes21:20
lifelesssounds ok as it is21:21
lifelessthough you don't need to unbind and pull overwrite21:21
lifelessyou can just call bzr switch21:22
cody-somervillebzr switch has a bug I think21:22
lifelessor not be bound at all and use pull  - if you want a mirror thats the usual idiom21:22
cody-somerville'<maxb> I would guess that it's a bug that bzr doesn't switch the tree root, but rather switches everything under it'21:22
lifelessthat would suprise me a lot21:23
lifelesshowever, if its breaking - file a bug - - really21:23
jamcody-somerville: interesting. Though doing "bzr bind $NEW_URL; bzr pull --overwrite $NEW_URL" should be equivalent to "bzr switch" if you just want a workaround.21:35
cody-somervilleits not. I looked at the source code.21:36
jamcody-somerville: as for tree-root id changing. we can't rename the root directory, so everything just appears as renamed into a new directory, which is at the same location21:36
jamif you do21:36
jambzr mv directory other dir21:36
jambzr mkdir directory21:36
jambzr mv other_dir/* directory21:36
jamyou should end up with similar behavior21:36
cody-somervilleits equiv to bzr unbind; bzr pull --overwrite $NEW_URL; bzr bind $NEW_URL21:36
jambzr st will show everything as renamed into the same dir21:36
jamcody-somerville: I'm pretty sure you can just do the bind $NEW without unbind21:37
GaryvdMjam: You can select a range and do a cherry pick, or reverse cherry pick.21:47
jamGaryvdM: \o/21:47
jamvery nice21:47
GaryvdMjam: The other options (tag, revert, and update) are only available if one revision is selected.21:48
michaelh1Morning.  Is there a way of retroactively marking a revision as fixing a bug?23:44
jelmermichaelh1: Not yet.23:48
michaelh1jelmer: ta.  I'm planning to use tickets to track the upstream patch state but I need to fix up past revisions23:49
michaelh1jelmer: an entry in the ticket log will do it23:49
lifelessmichaelh1: then surely you can just write that up :)23:50
michaelh1lifeless: write what up?23:51
lifelessgo to their ticket tracker23:51
lifelessand put a comment in saying 'fixed in rev abc'23:51
michaelh1lifeless: Yip, plan to.  Something like fixed-in: revno23:51
michaelh1has to be machine readable23:51
lifelessif you want machine processing consider using the revid ( a UUID) or branch + revno23:52
michaelh1related question: what's a nice short name to a revision on a branch, say rev 93543 on lp:gcc-linaro/4.4 ?23:52
lifelesslp:gcc-linaro/4.4,revno=93543 is planned but we haven't finished hooking up all the bits23:53
lifelessthe -r parameter to many commands will accept lp:gcc-linaro/4.4:9354323:53
lifelessbut it has the context to know its doing a revision lookup already23:53
michaelh1Which format should I use for my fixed-by comment?23:54

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