/srv/irclogs.ubuntu.com/2009/08/18/#bzr.txt

james_wthe bug on the nightlies was that they didn't build them at all00:00
james_wpyrex wasn't installed because the usual debs don't need it as the tarballs contain the c files00:01
lifelessoh!00:01
lifelessrighto00:01
james_wI fixed that, but neglected to check the paths00:01
lifelessso, can you check then, that the so's are going to the right place00:01
lifelessand if they aren't make the build fail00:01
james_wjust looking now00:01
lifeless / workaround00:01
lifelessI'd rather the dailies fail if the .so's won't be available to the user.00:02
james_wtodays uploads have python*/*-packages/bzrlib/*.so00:04
lifelessthats great00:04
james_wI can add a check that that glob matches something at build time00:04
lifelessplease00:04
lifelesslook for one of the pyrex based ones00:05
lifelessNoldorin: http://pastebin.ca/153315600:06
ronnysup00:10
ronnylifeless: what are the current plans for python3 support?00:10
Noldorinlifeless: same result00:10
lifelessronny: there aren't any00:10
lifelessNoldorin: can you paste the output please?00:11
Noldorinsure00:11
lifelessronny: by which I mean, that we'll accept patches making it easier to use a porting tool etc00:11
Noldorinlifeless: http://pastebin.ca/153316100:11
lifelessronny: but we need to keep supporting python 2 for 5 more years or so00:11
lifelessronny: and python 3 is basically a different language/platform00:11
lifelessNoldorin: _wow_00:12
lifelessNoldorin: can you do that again, with -Dtransport please00:12
Noldorinsure00:12
Noldorinindeed, it is behaving rather unusually :P00:13
Noldorinlifeless: http://pastebin.ca/153316600:15
Noldorinlifeless: making any sense to you?00:20
lifelessNoldorin: yes, look at lines 33, 34, 3500:21
lifelesswe read a file twice00:22
lifelessthen get an error renaming the directory above it00:22
lifelessI suspect this is just too much damage to reliably work around it00:22
lifelessshowing that trace to your sysadmins should convince them something is wrong pretty quickly :)00:22
lifelessI'll update the bug with more info00:22
Noldorinheh, fair enough00:23
Noldorinthanks :)00:23
lifelessand do whatever I can to help them get to a cause00:23
Noldorinlifeless: do you recommend i just point the admins to the bug report, or specifically this trace?00:23
lifelessNoldorin: both I suspect00:25
Noldorinright00:26
Noldorinnot sure what i can expect them to do however :(00:27
Noldorinif the problem is due to IIS600:27
lifelessIIS has many options00:27
lifelessit could be a backing server00:27
lifelessthey can file a bug with microsoft00:27
lifelessetc00:27
lifelessI wouldn't want to assume they can't do anything ;)00:27
Noldorinyeah, i know00:28
Noldorinit certainly doesn't heart to try00:28
Noldorinit's just i'm not optimistic!00:28
Noldorinbut yeah00:28
Noldorinif you could update the bug report with the new info, that would be great :)00:28
lifelessI will be doing so shortly00:29
Noldoringreat00:29
Noldorinthe latest -Dtransport trace should really be attached there, of course00:30
spm*** FYI. restarting codehosting for a Cherry Pick ***00:47
JoaoJoaoHello00:52
lifelesshai00:53
JoaoJoaoSo, when I cancelled a bzr merge, when I tried the same bzr merge, bzr complained about already existing upload packs00:54
Noldorinlifeless: i have to go now, but i plan on emailing my host tomorrow.00:56
Noldorinif the bug report will be updated by then, that would be helpful00:57
Noldorinanyway, i'll let you know the result.00:57
JoaoJoaoit looks like it's related to the bug https://bugs.launchpad.net/bzr/+bug/16529300:58
ubottuUbuntu bug 165293 in bzr "collisions through uploading same-named .pack files not handled correctly" [High,Confirmed]00:58
Noldorinlifeless: is that alright...? if you're busy, i could always update it myself. but i feel you understand the issue significantly better than me01:01
lifelessNoldorin: Its in my queue to update01:04
Noldorin:)01:04
Noldorinright ho01:04
Noldorinbye01:04
lifelessJoaoJoao: you hit ctrl-C while bzr was doing the merge?01:04
JoaoJoaoyep01:06
lifelessok, I suspect you've found/provoked a bug in the final insertion stage01:07
lifelesswhat repo do you have - info -v will tell you01:07
lifelessit prints a repository line01:07
lifelessNoldorin: bye ;)01:08
JoaoJoaoyou mean the format?01:08
JoaoJoaoit's 2a01:09
lifelessok01:09
lifelessbzr dump-btree .bzr/repository/pack-names01:10
lifelesspastebin the output (its not personal)01:10
lifelessJoaoJoao: ^01:24
lifelessigc: could I beg three reviews off you?01:30
lifelesshttps://code.edge.launchpad.net/~lifeless/bzr/bug-398668/+merge/1028801:30
lifelesshas two reviews listed in the last comment01:30
lifelessand after that, the main branch itself01:30
* lifeless foods01:33
JoaoJoaolifeless: I'm not at the computer with the repo, I'll post that tomorrow, ok?01:35
lifelessok01:35
=== thumper is now known as thumper-afk
lifelessbbiab02:05
* igc lunch02:58
[1]reggieanyone got a second to answer a question about bundles?03:22
bob2best to just ask03:22
[1]reggiesorry03:22
[1]reggieour commit messages have a bundle file attached.  I uncommitted some revs and then reverted them (mistake).  now I want to reapply from the bundles03:22
[1]reggiebut when I save a bundle file to my desktop and then do bzr merge <bundle file>  it just says nothing to do03:23
[1]reggiethis is bzr 1.103:23
[1]reggie1.1703:23
[1]reggieI thought the bundle file contained the "diff" of the revision and it could be applied right from the bundle03:24
jam[1]reggie: if you are getting 'nothing to do' that probably means the changes are already merged (by ancestry, if not by diff)03:29
jamI'm not user about "uncommitted some revs and then reverted them"03:29
jamif you reverted some changes and then committed03:29
jamthen I would see how you would get the behavior you are seeing03:30
jam*uncommit* should remove them from the ancestry, such that 'bzr merge' will re-apply it.03:30
[1]reggiejam, could the problem be the encoding of the bundle?  it's not a readable diff.  it's encoded for email03:30
[1]reggiedoes merge handle the unencoding or do I have to do that?03:30
jam[1]reggie: possible. If we can't detect that it is a real bundle, then we would probably try to merge the containing dir03:31
jamthough last I looked at the code, it would read through as much as it could to find the # Bazaar bundle ... header03:31
jameven if it was in the middle of an email03:31
jam(inline vs attachment)03:31
lifelessI suspect a commit-of-the-revert rather than an uncommit03:31
jam[1]reggie: so my initial thought is that you didn't uncommit as much as you thought you did03:31
lifelessso the bundle is already merged, as jam says above03:31
[1]reggiei basically did several bzr uncommit --local03:32
jam[1]reggie: there is also the possibility that you could pull the revision-id directly from the bundle03:32
[1]reggieand then a bzr revert03:32
jam[1]reggie: uncommit --local will be negated by you next 'bzr update'03:32
jam*your* next03:32
jamsince you didn't uncommit the remote revs03:32
[1]reggiejam, ok,  sorted some things out but I hit a new snag03:53
[1]reggiethe uncommit command told me that I coudl restore to this tip by running a certain bzr pull command03:53
[1]reggiebut I neve rpushed the commits that I uncommitted03:53
[1]reggieand when I run the pull command it says the branches have diverged and I need to run bzr merge03:54
[1]reggiebut bzr missing says I'm up to date and bzr merge says nothing to do03:54
[1]reggieI thin it is confused03:54
jam[1]reggie: are you doing "bzr merge . -r revid:..." ?03:54
jamnot just plain "bzr merge"03:54
[1]reggiethe command it gave me to run was bzr pull . -r revid:reggie.burnett@sun.com-20090817220415-3vg2w7n0a46u09jj03:55
[1]reggiebut that says 'these branches have diverged'03:55
jam[1]reggie: because you've done commits since the uncommit, the histories have diverged03:57
jamyou can do "bzr merge . -r revid:reggie.burnett@sun.com-20090817220415-3vg2w7n0a46u09jj"03:57
=== thumper-afk is now known as thumper
RenatoSilvaInstead of keeping a changelog file for changes in software releases, I want to keep a changes_from_previous file, that is, a changelog for the current release only, so that each changeset would be a revision of that file matching the related release. What do you think, is it a good idea?04:41
doctormoI wanted to ask if it's possible to warn someone if they are about to commit a forbiden (or highly questionable) file type, such as pdf, doc, jpeg. We want to make sure our learning courses for ubuntu have only the sources.04:56
lifelessyes, a precommit hook can do policy checks and abort commits that fail $whatever-your-policy is04:58
doctormouseful04:59
spmdoctormo: fwiw, if you go down that path - don't just rely on "*.(pdf|jpg)" for example; Suggest you use file(1) against the suspect. Assuming I'm not telling you stuff you didnt already know. :-)05:07
doctormospm: This is an offical Ubuntu project to teach people how stuff works, the course writers will need help understanding bzr to get into development. I was thinking gtk-bzr05:08
=== thumper is now known as thumper-afk
johnjosephbachirif both branches and checkouts can be branches, what is the value of having a mirror branch vs a mirror checkout?06:45
johnjosephbachirs/can be branches/can be branched06:45
ronnyjohnjosephbachir: branches carry the history along06:46
ronnycheckouts just point to it06:46
johnjosephbachirso do non-lightweight checkouts06:46
johnjosephbachirthey carry all the history06:46
fullermdIf you're never committing to it, there's no significant difference.06:47
bob2if you are, the default merging behaviour differs06:47
fullermdThough of course, you can't really branch a checkout.  When you think you are, you're branching a branch, which you find by pointing at a checkout of it.06:47
bob2'bzr up' can do unpleasant things06:47
johnjosephbachirokay06:47
vilahi all07:03
vilahmpf, massive upgrade all around, massive reboots will follow :) bbar07:04
spmhey vila-massive-reboots!07:11
gsuvegre07:24
gsuvegi srtongly thinkig about write netbeans bzr plugin07:27
lifelessthat would be great07:31
gsuvegi use netbeans07:31
gsuvegand doesnt exist bzr only git07:31
=== lionel_ is now known as lionel
vilalifeless: inserting CountingDecorator has no effect (unsurprisingly but I checked anyway), do you still want it ?07:58
lifelessvila: it totally should for parallel=fork07:59
vilalifeless: yeah, we both wish, but it doesn't work07:59
lifelessdo you get a progress bar?08:00
lifelessparallel=subprocess will add its own decorator.08:00
vilaoh yes, I always have a pb, the # tests is missing though08:00
lifelessI mean a counter ;)08:01
vilayes, I got the counter but without indication of how many tests *will* be run, I can live with that for a while though08:01
vilait's better than not having it (man, 2 weeks without it... such a joy to get it back ;-)08:02
lifelessok08:02
lifelessI did the better API08:02
lifelessit needs a review I think, in subunit. You could do that if you wanted ;)08:02
vilaAlready ? Great, I'll have a look08:02
vilalp:~lifeless/subunit/push-pop-progress ?08:03
lifelesssomething like that08:06
lifelessa week and a bit back actually ;)08:06
vilayeah. 20090808 sounds like that08:06
* fullermd begins to lose hope that bundlebuggy will display the page...08:08
vilalifeless: I still can't imagine when you can have a negative delta with PROGRESS_CUR, care to enlight me ?08:08
vilafullermd: wait for abentley to be bacl from vacations and restart his BB host ?08:09
fullermdWell, I don't so much have any _need_ to see it...08:09
vilastop hoping then :)08:10
vilabut he's supposed to come back today...08:10
fullermdThat's sorta my mantra.  Everything's easier when you give up hoping   :)08:10
gsuvegnono. hope is important08:10
vilaI think the trick is not to give up but to accept that not all hopes can be fulfilled :)08:11
vila... and keep smiling anyway (yeah, right...) :-D08:11
fullermdIt takes more muscles to frown than to smile, but it doesn't take any to just sit there with a stupid expression on your face.08:14
lifelessvila: test filtering08:14
vilalifeless: ooooh, excellent, thanks08:17
=== Leonidas_ is now known as Leonidas
OllieRwill be a bzr up stop if a shell session is terminated/08:40
OllieR?08:40
lifelessOllieR: if it gets SIGHUP'd08:45
lifelessits up to your shell08:45
OllieRok so yeah the update would fail?08:45
OllieRcan you do a disown on that command then08:46
bob2screen's easiest08:46
OllieRi tried but then it asks for a password and doesn't allow my input08:46
OllieRcan't think how I would do it08:47
fullermdThat's what nohup is for...08:47
OllieRok but can i issue a password with nohup?08:49
lifelessI'd use screen08:50
lifeless:)08:50
fullermdnohup doesn't disconnect it from the terminal.  It just blocks SIGHUP.08:51
fullermdOf course, it also may screw with std{out,err} and do other such manipulation, so something like screen can be a better choice (and for other reasons as well), but it's a simple choice.08:53
OllieRlifeless: thanks screen is ideal :)09:00
=== denys_ is now known as denys
* igc dinner09:09
=== obstriege is now known as obst
=== denys_ is now known as denys
thumper-afkcan we move cbranch into bzr.dev?09:43
=== thumper-afk is now known as thumper
thumperit is the only reason I still have bzrtools09:43
vilathumper: You just don't like bzrtools, are you ? I knew it...09:49
thumpervila: I love it09:49
thumperI use cbranch and shelve09:49
thumpernow shelve is in trunk09:49
thumperI want cbranch there too09:49
thumperbecause right now, bzrtools won't run with bzr.dev or the nightly ppa09:50
thumperwhich for me is a serious PITA09:50
vilaYeah, you want to empty bzrtools, you don't like it, stop pretending :-D09:50
* vila is afraid the initial joke went unnoticed :-D09:50
pygivila, :P09:51
vilathumper: hmm, bzrtools still hasn't relaxed it's compatibility policy and refuse to load ?09:51
thumperno...09:52
thumpervila: I did notice09:52
thumpervila: I just ignored it :)09:52
vilathumper: abentley is coming back from vacations today right ? The patch is easy enough (jam used such a patched version to build the windows installers)09:52
thumpervila: oh, I'm sure it is simple09:53
thumpervila: but this isn't the first time things have gotten out of sync09:53
thumpervila: and since it is pretty trivial to make this right09:53
thumpervila: lets DTRT09:53
vilathumper: as for your initial question, past 2.0 the overall worflow UI will be reworked so certainly cbranch feature will be taken into account09:54
lifelessI wouldn't want to bring cbranch in before 2.009:54
lifelessand after 2.0, well as vila says theres a big overhaul to do09:55
vilathumper: ha ! You're preaching the chore (sp?) !! But try again with abentley :-D09:55
thumperwell, we're almost there now anyway09:55
thumperI know, I know, I'm just frustrated09:55
lifelessthumper: talk to your wife about that :)\09:55
thumperI'm running the 1.18 branch build locally instead of my system installed package09:55
fullermdvila: "choir".  Though, for some of us, choir WOULD be a chore...09:56
* vila giggles09:57
vilafullermd: by the way, using merge proposals on LP is now the preferred way for submissions,09:58
vilafullermd: regarding your DWIM revisions, 1) using mp will ensure a better tracking, 2) it will certainly get more attention once 2.0 is out 3) Can't you try it as a plugin ? Such features are really hard to judge without using them for a while....10:00
fullermdWell, that requires uploading a branch, rather than just sending a bundle.  And that means either waiting forever, or stacking, and from all the fun stacking seems to be giving everyone for 2a upgrades...10:00
vilafullermd: bzr.dev is not in 2a (yet) and push is stacked by default on lp and works flawlessly, just give a try, really10:01
fullermdI don't see how it could work as a plugin, since it requires changing functions.10:01
vila*All* merge proposals (i.e. the vast majority of landed patches) for the last releases came from stacked branches on lp10:01
vilamonkey patching ?10:01
fullermdWell, yeah.  If it were in 2a already, issues stacking causes upgrading to 2a would be moot   :)10:01
fullermd(and for changes like those trivial cleanups in revspec.py in my other [MERGE], it seems insane to create and upload branches for 3 lines of change)10:02
fullermdI'm vaguely aware of what monkey patching it, but I haven't the slightest idea how to go about it, nor would I want to if it were at all avoidable.10:03
thumperfullermd: pushing a stacked branch to lp is pretty quick10:03
vilayou should talk to lifeless one of these days, he add some n lines patches (with n quite small) landed in no time with that10:03
thumperfullermd: also, when the merge directive stuff for 2a is sorted out10:03
thumperfullermd: you can use bzr send10:03
thumperfullermd: and LP will create the branch for you10:03
OllieRdoes anyone else get this. I commit a single character change in one file and I need to upload 3mb for the commit to finish. doesn't make any sense...10:04
vilathumper: hey ! Right I think the md stuff *is* sorted out (in trunk if not in 1.18), what email should be used ?10:04
fullermdIt's still conceptual overhead of having a branch around, for a change I could write on my hand in ballpoint.10:04
thumpervila: well, LP needs to be updated for it to work10:05
vilafullermd: ho, come on, the point is how that branch/bundle is handled *once* you have created it10:05
vilathumper: ha, right,10:05
fullermdI'm also still ill at ease with the fact that the LP merge requests go off to the team, not the list.10:05
thumpervila: merge@code.launchpad.net10:05
vilathumper: thnks for the reminder, sry for being lazy :)10:05
fullermdMaybe with internal stuff that's no difference, but with something like the DWIM revspecs, which is a user-visible change, I'd sure like the opportunity for users on the list to be able to see and comment on it before it lands or is rejected.10:06
vilafullermd: right, I keep forgetting that, because, in my case, all the mp related mails are filtered in the same mailbox than the list :-/10:06
fullermdI feel like the move to LP reviews really cuts off a lot of the chance for community desirability discussion.  Maybe that's intentional.10:06
vilafullermd: not intentional !!!!10:06
fullermdWell, it is for me too ('cuz otherwise it ends up in the -bugs mailbox.  Have I mentioned how much I hate LP's mail sending stuff lately?)10:06
vilaeeerk, how can you imagine that :-(10:06
fullermdI don't, quite, but nobody seems at all concerned that essentially all the code reviews are no longer seen by anybody other than the devs and a few non-dev masochists like me who joined the team...10:07
vilaI had some troubles to define my filters correctly but it's all godd now and *I* am quite happy with lp mails...10:07
vilafullermd: that's a good point, I really think every dev has more or less handle the filtering and don't realize that ...10:08
vilafullermd: there were talks at one point about tagging the mails and let people tweak some preferences in their subscription, I think it's worth raising the point again10:09
OllieRmodified system/application/models/select_model.php (I added one word to this file)10:09
OllieR[###############-    ]   9211kB @   26kB/s | Uploading data to master branch - Stage:Copying content texts:Copied record 178/19610:09
OllieRIt just seems crazy10:09
vilafullermd: Anyway, overall, I'm convinced there is value in your DWIM rev spec and that surely is worth discussing and get more exposure, I was trying to give my understanding on the apparent lack on feedback so far10:11
fullermdOllieR: What protocol are you talking across?10:11
OllieRsftp://10:11
fullermdSo it's presumably repacking something, which requires downloading N% of the repo, then re-uploading it.10:12
OllieRfullermd: ok so is there any way to speed this up?10:12
fullermdIf you can use a smart protocol, that should all happen server-side, and not have to shuffle the data across the network twice.10:12
vilaOllieR: keep in mind that if it's indeed a repack that is occuring, it shouldn't occur frequently (1 every 10 then 100 then 1000 commits)10:14
vilaOllieR: another option is to issue 'bzr pack' on the server side, but that also requires bzr on the server10:15
lifelessOllieR: its bzr doing autocompaction10:16
lifelessOllieR: it will happen very rarely, and it keeps the repository performance good10:16
OllieRfullermd: how do you mean a smart protocol?10:18
fullermdOllieR: bzr[+something]://10:18
domasI just wanted to share how I am pleased with 'bzr co'  grabbing 600M of RAM  on my virtual machine :-))10:20
lifelessdomas: do you have the C extensions? they can help a _lot_10:22
domasI hope I do, um. :) I guess I'd use PPA builds10:22
OllieRThis is think is the problem10:27
OllieRcheckout of branch: /home/bazaar/mycompany/example.com/screenings/trunk10:27
OllieR   shared repository: /home/bazaar10:27
OllieRso every tree uses a single shared repository dispite the fact that they are usually not related10:28
OllieRi.e. /home/bazaar/mycompany/example2.com/web/trunk is completely different code to /home/bazaar/mycompany/example.com/screenings/trunk10:28
OllieRhttp://bash.pastebin.com/m646edb67 - 7gb repo10:31
OllieRCould anyone advise on this setup?10:33
fullermdWell, it sounds like a situation where you (not necessarily you personally, but you somebody-associated) control the server.  So using bzr+ssh instead of sftp probably wouldn't be all that hard.10:35
fullermdAnd it would certainly mitigate issues like this by not getting the network involved in stuff it doesn't have to be.10:35
OllieRi just ran a bzr pack on the server and then committed again from my local system and it was a lot faster10:37
OllieRI will look into bzr+ssh10:37
lifelessOllieR: the pack didn't make a difference :)10:37
OllieRfullermd: do you know if having one shared repo for all projects is a bad idea? I would assume I should have a shared repo for each project...10:38
lifelessOllieR: the previous commit had already done the tuning :)10:38
OllieRlifeless: I cancelled the commit, as it was taking forever10:38
OllieRthen can a pack on the server10:38
lifelessah10:38
lifelessok10:38
OllieRthen committed from local10:38
fullermdOllieR: Well...   it doesn't _gain_ you much, in cases where there's no shared history.10:39
OllieRfullermd: but it could potential slow things down?10:40
fullermdAnd at some level, it will slow things down, since there's a lot of data there you can't possible care about at any given moment, you've got more to troll through to find the stuff you do.10:40
fullermdNow, whether that's significant, is an empirical question...10:40
fullermdI'd say that putting repos at project boundaries makes more sense, since that's where most of your sharing is.10:41
OllieRyeah everything on this dev box seems to all of a sudden slowed right down10:42
fullermdI think it's axiomatic that one-repo-for-everything is going to be slower.  But how much slower?  If it's 2% slower, who cares?  If it's 20% slower, that may be another matter.10:42
fullermdIt seems unlikely for it to have caused a sudden dropoff, unless you just put something new and huge into it.10:43
fullermdA 300 meg project in a 7 gig repo is going to be slower than a 300 meg project in its own 300 meg repo.10:43
fullermdBut it'll still be way faster than a 7 gig project in its own 7 gig repo.10:43
OllieRok thanks for the info10:45
lifelessgenerally we have log tree depth10:46
lifelessso it shouldn't matter much10:46
lifeless200+ way fan out on a typically B+Tree index in recent repo foramts10:46
lifelesswhich is to say, you need 200 times as much data to add a single additional level to the index.10:47
=== beuno_ is now known as beuno
=== vila is now known as vila-fud
=== vila-fud is now known as vila
andrea-bsHello! How can I upgrade the working tree of a branch?13:04
=== mrevell is now known as mrevell-lunch
NEBAP|workhi14:17
NEBAP|workI´m using bzr push to push the history to a location that is backed up daily14:17
NEBAP|worknow using push with (X:\Folder\Folder) also uploads the working tree what I don´t need14:18
NEBAP|workwhat can I do to prevent doing this?14:18
hmelandSee "bzr init-repo --no-trees".14:19
NEBAP|workso I should initialize the repo on the server at first?14:20
hmelandYes, as a parent directory of wherever you're pushing your branch to.14:20
hmelandYou can use e.g. a sftp:// URL to "bzr init-repo".14:21
NEBAP|workso sometimes push just pushes the history and sometimes it pushes the working tree, too, depending on the protocol?14:21
hmelandDepends on both the protocol you're pushing over (sftp, local file access, etc.) and how the destination has been set up prior to the push.14:23
garyvdmhmeland: you can also just do bzr remove-tree REMOTE_BRANCH14:23
NEBAP|workk14:24
garyvdmI meant NEBAP|work ^^14:24
garyvdmNEBAP|work: I would do what hmeland suggested if you are pushing multiple branches.14:24
NEBAP|workso if I want to push to a non-existing local location without pushing the working tree, I should do:14:25
NEBAP|workbzr init-repo --no-trees14:25
NEBAP|workbzr push14:25
NEBAP|work?14:25
hmelandYou can use "bzr reconfigure --use-shared --with-no-trees X:\Folder\Folder" to convert your existing stand-alone branch to a shared repository without any working tree.14:25
NEBAP|workhmm14:26
hmelandNEBAP|work: Yes, with the appropriate target arguments.14:26
NEBAP|workusing push with the ftp protocol automatically pushes only the history14:26
NEBAP|workdoes it create a shared repo automatically?14:26
NEBAP|workor is it still a standalone tree without the working tree?14:26
hmelandNo, but updating the working tree over ftp isn't done, due to it being hard to detect whether there would be any conflicts.14:27
NEBAP|workk14:27
NEBAP|workso using ftp the push destination is still a standalone tree?14:28
hmelandYes.  You could then later do "bzr update" in a shell on the target host to update the working tree.14:29
NEBAP|workk14:29
NEBAP|workno that was just for info :)14:29
NEBAP|workjust thinking which is the better solution, creating a shared repo and pushing to it14:30
hmelandWhereas that wouldn't do anything in a branch in a tree-less repo.14:30
NEBAP|workor deleting the working tree of the standalone puhs ..14:30
NEBAP|works/puhs/push14:30
NEBAP|workwould be good to offer an option to push without the working tree like "bzr push --no-trees"14:34
jammorning all14:42
jamfjalvingh: are you around?14:42
jamvila: how's it going?14:42
vilamorning jam !14:43
fjalvinghjam: morning, Jam14:43
NEBAP|workjam: morning14:43
vilagoing fine, but I reailzed time is running and I tsill haven't reviewed 1.19-merge_sort :-/14:43
jamvila: I was wondering about that. as I made sure to submit it before you woke up, and yesterday you said "I'm ready to review" :)14:45
vilajam: yeah, went into balancing --parallel=fork and ran into bumps... mutli-thread debug is so fun ;)14:46
vilajam: and besides, when i said "ready to review", I had actually reviewed most of your commits, but you added ~15 more :-)14:58
vilajam: overall you added new implementations in tsort, leaving the old ones without deprecating them, right ?15:04
vilahmm, not really :-/15:05
jamvila: I moved tsort.topo_sort, but not merge_sort15:05
jamI don't want to implement 'mainline_revs'15:05
jamand some other stuff15:05
jambecause it is cruft15:05
jamAnd there is at least 1 place that needs to add a node to the graph15:05
jambefore calling merge_sort15:06
jamso I need that functionality before I can completely deprecate the existing implementation.15:06
vilayeah, re-reading your cover letter, sorry for the noise15:06
Stavroshello15:07
Stavrosi have a bunch of commits in my repo which I did, but different computers show different names. can i change them?15:07
=== abentley1 is now known as abentley
vilaabentley: welcome back !15:10
abentleyvila: Thanks!15:10
Stavrosany idea how i can change my email address retroactively in commits?15:13
vilaStavros: short answer: you can't15:13
Stavrosaw15:13
Stavroslong answer?15:13
vilathere were talks about 3 distinct solutions (none fully available  yet AFAIK):15:14
vila1) use some variation of bzr-rebase15:14
vila2) handle some aliases in bzr so that the same user can be "credited" for all his emails15:15
vila3) fast-export, hack hack, fast-import (this is rude :)15:15
quicksilverwrite a script which rebuilds your repo one commit at  atime15:15
quicksilversaving commit messages but altering email addresses15:16
quicksilverand also changing your boss's name to BADGER BADGER BADGER BADGER BADGER, just because you can.15:16
Stavroshmm, can i export the repo in a format i can easily parse and substitute the emails?15:16
lukswhich is what the fast-import/export method does15:16
Stavrosquicksilver: i am the boss :(15:16
Stavrosso i'll go with MUSHROOM15:16
vilaStavros: LOL15:16
Stavroswhat's fast-export/import, btw?15:16
Stavrosalso, is bzr-rebase useful/mature/stable?15:17
lukshttp://bazaar-vcs.org/BzrFastImport15:17
luksand yes, it is15:17
vilahttps://edge.launchpad.net/bzr-fastimport15:17
Stavrosoh aha, interesting15:18
Stavroslet me get that15:18
Stavroshmm, i need to run something other than setup.py install?15:19
fjalvinghStavros: you might just do bzr branch lp:bzr-fastimport fastimport into your bzr plugins dir15:21
Stavrosah right, thanks15:21
Stavroshow can i get the branch without the repo?15:22
fjalvinghStavros: lp: means get repo from Launchpad?15:22
Stavrosyes, i mean get just the "clean" copy, without the .bzr dir15:23
Stavrosi guess i can just delete it afterwards15:23
fjalvinghStavros: just remove the .bzr afterwards.15:23
Stavrosthanks15:23
fjalvinghStavros: It won't hurt though and you can easily update later on15:23
Stavrosthat is true, i should redownload it15:24
vilaStavros: or you can use 'bzr export' to get a clean tree15:24
fjalvinghStavros: just "bzr pull" inside the branch15:25
vilaStavros: but why do you want that ?15:25
Stavrosvila: OCD :P15:26
vilaStavros: ha, good, fine, no problem, JDI :)15:26
Stavroswhat's jdi?15:27
Stavrosalso, i figure i can do bzr co lp:bzr-fastimport and then bzr up whenever i want to update15:27
jamStavros: "just do it"15:27
Stavrosah15:28
Stavroshmm, this fast-export file is binary15:28
Stavrosi was hoping for base64 encoding or something15:28
Stavrosi can't edit this without breaking it..15:29
=== abentley1 is now known as abentley
fjalvinghStavros: It is not really binary; it is text intermixed with blobs which can be binary15:29
Stavrosfjalvingh: yes, but editing will break the blobs15:29
fjalvinghStavros:  Only if you edit inside them15:29
Stavrosreally? text editors can handle that sort of thing?15:30
Stavrosshould i use vim?15:30
fjalvinghStavros: some can; you could also try something like sed or so15:30
Stavrosah, that should work very well15:30
fjalvinghStavros: but before trying all this: be aware that this will make a new, idependent repo15:31
fjalvinghStavros: so if you have other branches lying around merges will no longer work15:31
Stavrosso i won't be able to push it to the parent repo any more?15:31
jamStavros: well, you could push --overwrite, but otherwise no15:32
fjalvinghStavros: only by overwriting.15:32
Stavroshmm15:32
Stavrosthat might be acceptable15:32
Stavrosi will try15:32
jamStavros: you basically say "this is the new ancestry, forget about the old"15:32
Stavrosah15:33
Stavroshmm15:33
fjalvinghStavros: and one other thing: if you have renames followed by edits in the same commit (something common in Java) import will probably fail..15:33
Stavroshmm, that shouldn't be the case, thanks for the heads up though15:34
Stavrosit crashes with "cannot import name serializer", that's odd15:40
Takhrm, is it normal for a pull to show all pulled changes as conflicts?15:40
StavrosTak: not normal, but it can happen15:41
Stavrosif you changed things, that is15:41
igcnight15:42
fjalvinghigc: Good night15:42
[1]reggiebzr tag keeps giving me bzr: ERROR: Cannot lock LockDir(http://bazaar.launchpad.net/~mysql-clr-team/connectornet/6.1/.bzr/branch/lock): Transport operation not possible: http does not support mkdir()15:43
Takwell, yeah, they're valid changes from upstream, but all the conflicts are empty for tree, with stuff in merge-source15:43
Takso I'm not sure why they weren't just merged in15:43
[1]reggieI've done bzr lp-login <my login name> and then done bzr push --remember lp:<lp home of project>15:44
[1]reggiebut bzr tag still is trying to use http instead of bzr+ssh15:44
[1]reggiewhat am I doing wrong?15:44
Stavrosjesus, 1.17 is out? what am i doing with 1.13?15:45
=== mrevell-lunch is now known as mrevell
=== abentley1 is now known as abentley
=== cprov is now known as cprov-lunch
[1]reggienm, got it working16:00
=== wadesworld is now known as wade
=== wade is now known as wadesworld
gus1So I just upgraded to jaunty ppa bzr (from normal jaunty bzr) and my stacked bzr-svn repo is complaining with "ERROR: SvnRepository(...) is not compatible with KnitPackRepository(...) different serializers".   Is that some known problem?16:09
=== NfNitLoo` is now known as NfNitLoop
=== deryck is now known as deryck[lunch]
=== abentley1 is now known as abentley
=== beuno is now known as beuno-lunch
=== deryck[lunch] is now known as deryck
EtenilHello there17:43
EtenilI'm having a small problem with my repository17:44
EtenilI have a base code in the root directory17:44
Eteniland several independant applications that rely on the base code in sub-folders17:45
Etenilbasically, I'd like to version the root directory and each sub-directory independently17:45
Etenildo you know how I could proceed?17:45
fjalvinghEtenil: You cannot, really.17:52
Etenilfjalvingh, really??17:53
Etenilwhat should I do then?17:54
Etenilmove my applications out of the common codebase?17:54
fjalvinghEtenil: In time there will be the nested trees extension. But it's progress is slow.17:56
=== beuno-lunch is now known as beuno
fjalvinghWhat I did is just not to manage the root itself.17:56
Etenilyeah, that's what I did so far, but I need to have at least `index.php' in the root folder17:57
fjalvinghI created separate repositories/branches for the shared projects17:57
=== kiko is now known as kiko-fud
fjalvinghEtenil: Hmm.. It might be that you can just branch /inside/ the root.17:58
fjalvinghSo there are separate branches (not related) and the one is /inside/ the other17:58
fjalvinghThe outer one has the directory for the inner one as .bzrignored17:58
fjalvinghLimitation would be that the inner branch always is a single directory which in turn contains the other dirs17:59
Eteniloh, so I could ignore each sub-folder that contains an app17:59
fjalvinghThere is also something called the "config" extension/plugin but I don't use that one.17:59
=== cprov-lunch is now known as cprov
=== Noldorin_ is now known as Noldorin
jenredhello! Is it possible to revert a merge that hasn't been committed?18:21
jenredand if so how thx18:21
beunojenred, yes, but theres no way to distinguish it from the changed you had that weren't committed yet (if you had any)18:22
jenredso I merged 2 branches and now I want to drop the branch that I just merged b/c their are too many conflicts18:23
jenredis there anything like a "unmerge"18:24
beunojenred, jsut "bzr revert" should do it18:24
jenredok I think that worked thanks!18:25
garyvdmjam: What does the "known" in KnownGraph refer to?18:44
jamgaryvdm: we know the full ancestry18:46
jamversus Graph which tries to know as little as possible18:47
garyvdmjam: I see - So in that case It will work nicely for qlog :-)18:47
jamyep18:50
vilagaryvdm: but keep in mind that it's a step (a significant one, but a step anyway), the final target is to make it lazy in the end :)19:04
garyvdmvila: Yes19:04
garyvdmjam, vila: Would a KnowGraph be mutable? I think for qlog to be lazy, It's going to run merge_sort every time it loads more of the graph.19:06
jamKnownGraph is not currently mutable19:07
garyvdmBut it will have all of the graph that it wants merge_sort to look at loaded19:07
vilagaryvdm: no, it's not intended to be mutable19:07
jamI plan to allow it to add new nodes on the end, probably not in the middle19:07
garyvdmjam: which end?19:07
jamalso, the time for "KG.merge_sort()" is around 40ms for a bzr.dev tree19:07
vilagaryvdm: I call it FullyKnownGraph in my head myself19:08
jamgaryvdm: new revs, not old ones19:08
garyvdmjam: so if I load bits of the graph, just create a new KG every time some more is loaded?19:10
garyvdmOr us the old merge sort?19:10
garyvdm*ues19:10
garyvdm*use19:10
jammerge_sort won't give you the right answers without the whole graph19:12
jamnew or old19:12
jamit needs all ancestors to know if a revision was merged earlier than now19:13
garyvdmjam: I plan to only do this if bzr-historycache is available. I will use merge_sort to just give me the info I need to lay out the graph, and get the revno from bzr-historycache.19:14
jamgaryvdm: it gives wrong answers for the graph as well19:15
jamI can give specifics though it takes some drawing19:15
garyvdmIf historycache is not available, I will only load the graph in 2 stages: mainline, and the whole graph19:15
garyvdmjam: in the order?19:16
garyvdmLoading the graph lazy is very complex!19:17
jamso, if you have a long lived branch, that gets merged at rev 10 and rev 2019:17
jamthe revs merged into 10 will show up underneath 2019:17
jamif you haven't loaded the ancestry from 1019:17
jamto know that they were first merged there19:17
garyvdmjam: I see. And there is know way to ensure that for rev a, you have loaded all the revisions that have rev a as a parent (other than loading everything :-()19:21
jamwell there are ways, but nothing we store currently19:21
* vila EODing by shaving 30% of selftest --parallel=fork execution time, YES :-)19:22
jamgdfo is something that might work well here19:22
* garyvdm goes to read up on what gdfo is19:22
jamGreatest Distance From Origin19:22
jamit is part of the KnownGraph code19:22
LarstiQnot to be confused with Get The F Offline19:23
jambasically rev.gdfo = max(parents.gdfo) + 119:23
jamor Get The F Out19:23
jambut that is G*t*Fo19:23
LarstiQjam: which is phonetically rather close when slurred in Dutch ;)19:24
jamit is pretty close in american english, too :)19:24
jamgaryvdm: the idea is that if rev1.gdfo >= rev2.gdfo you know that rev1 cannot be an ancestor of rev219:24
jamwe use it for the KnownGraph.heads() work19:25
* garyvdm is digesting..19:25
jamanyway, it allows you to load some of the graph19:25
jamuntil you reach tips that have gdfo <= the one you have now19:25
jamsince you know that the current one cannot be an ancestor of the others19:26
jamthe main problem19:26
jamis that you need the whole graph to *compute* gdfo in the first place19:26
jamvila is trying to figure out how to record it properly19:26
jamas it interacts with ghosts ... poorly19:26
garyvdmAnd would need to be recomputed on merge?19:27
jamno19:27
jamthe new revs change19:27
jambut gdfo is stable as long as *ancestors* don't change19:27
garyvdmI see19:27
garyvdmSo I should hold of trying to make qlog graph lazy until that is done?19:28
jami think you could lazily load a lot of things like revision info (I think you already do)19:29
jambut I wouldn't try to lazy load the graph itself19:29
jamI'll also note19:29
jamthat in current circumstances, computing a node accurately seemed to take about 50% of the graph of bzr.dev anyway except in trivial cases19:29
jamstuff like 'brisbane-core' requires a lot of history to be searched19:30
jamthough potentially that is easier with gdfo... not sure19:30
jamoh, and we have several cases where we merge in a plugin19:30
jamand a plugin's first rev is gdfo == 119:30
jamso we have to load the wholegraph again19:30
jamthat said...19:31
jamI made loading the whole graph significantly cheaper19:31
jamOOo went from 33s => 10s19:31
jambzr.dev from 1.5s => 300ms19:31
garyvdmWow!19:31
garyvdmThis was with KnownGraph?19:32
garyvdmWill that make it into 2.0?19:32
garyvdmjam: Yes - revisions are only loaded if they appear on screen. (Or if you do a search, all revisions are load.)19:32
jamjust landed in bzr.dev19:33
garyvdmjam: :-)19:33
jamand merge sort is about 3x faster as well19:33
jamwell, 8x if you don't count the time to build the KnownGraph19:48
=== kiko-fud is now known as kiko
lifelessmoin20:43
lifelessjam: I'm quite worried that this will regress shared repo cases20:46
jamlifeless: it does the same work we do now, just in a tighter loop20:46
lifelessjam: oh cool, so it doesn't load unreferenced nodes?20:46
jamlifeless: no20:47
jamit walks the ancestry, and just loops on ancestors present on the current btree page20:47
lifelessargh double negatives ;)20:47
lifelessjam: read your reply on the bug; thats really good20:55
lifelessjam: around?22:05
jamyeah, for now22:06
lifelessI need a quick incremental review, in about 3 minutes22:06
lifelessfor landing 2a default22:06
jamk22:06
lifelessits stacking [again]22:07
=== oubiwann_ is now known as obiwann
RenatoCaelumverterok: hi22:16
james_wIs there a value I could cache to know if the contents of the working tree have changed at all?22:17
james_wdoes the wt have a testament?22:18
lifelessjames_w: tree.has_changes()22:19
james_wbut I don't have the old tree22:20
james_wI was just watching my commit hook run the tests after I had just done a full test suite run22:20
lifelessI'll need more context here22:20
james_wit would be nice if my test runner could write something about the state out22:20
james_wthen the hook could not bother running if the tree it was committing matched that state22:20
james_wwould also solve an issue I have with package maintenance22:21
lifelessyou can make a testament of any inventory; however the working tree inventory may not match disk at all22:21
james_wcaching?22:22
lifelessreality22:22
james_wor wouldn't match the inventory of the revision tree it became?22:22
lifelessneither22:22
james_wok22:22
james_wI'll ponder some more22:22
lifelessfields like size22:22
lifelesssha1 etc22:22
lifelessin a working inventory aren't synced with disk, and even if they were they could become dated asynchronously22:23
james_wwell, it could force a disk scan couldn't it?22:24
james_wit's racy, but...22:25
lifelesseven if it did, it can skew22:25
lifelessjam: ugh, I'm having to fix a totally unrelated bug to make this work :(22:27
lifelessjam: how would you feel about me landing this with the test_repository_clone_preserves.. test made KnownFailure22:27
jamjames_w: not to mention partial commits, etc22:28
jamlifeless: "landing this" ?22:28
lifelessdefault 2a22:28
jamI don't see a 'test_repository_clone_preserves", do you mean "per_workingtree...test_clone_preserves" ?22:29
lifelessline 944 in per_repo/test_repo22:29
james_wjam: yeah, I would compare to the testament of the revision tree being committed, which should account for that sort of thing22:30
lifelessjames_w: myself, I'd made the test suite faster to run22:30
jam:)22:31
jamjames_w: I think you could generate a testament from the WT, but the internal code wouldn't do that.22:31
james_wI'm just seeing a version tracking system on one hand, and repeated work from not knowing whether something has changed on the other22:31
jameasier to stage a commit, and then validate off of that revision22:31
lifelessjames_w: for an off the wall approach22:31
lifelessjames_w: make all your test runs do a commit22:31
lifelessand uncommit if they fail22:31
james_wcould work :-)22:32
james_wdoesn't really help the packaging case, but neat idea anyway22:32
james_was for faster to run, that solves it for one project, but not other cases22:32
jamlifeless: so I've at least tracked down the test. How is it failing?22:33
jamas it is actually a fairly common case we've run into because "bzr upgrade repo" doesn't upgrade the branches22:33
lifelessjam: firstly the whole thing is testing off stuff22:33
james_wthanks for your time22:34
lifeless        """Cloning an unstackable branch format to a somewhere with a default22:34
lifeless        stack-on stack-on branch upgrades branch and repo to match the target22:34
lifeless        and honour the policy.22:34
lifeless"""22:34
lifelessmy updated docstring22:34
jamlifeless: what would happen is your local repo was stackable, but the branch format was too old22:34
jamthen pushing that to lp would fail22:34
jambecause it tried to auto-upgrade the repo to abad format22:34
lifelessyes22:34
lifelessbut22:34
lifelessthat is still broken in trunk22:34
lifelessits just that the test happens to fail closed22:34
lifelesswhat we want is that when there is a policy pointing at a stackable branch, and the source repo-or-branch isn't stackable, that its upgraded to match22:35
lifelessfurther, when the source repo is incompatible (e.g. 2a) and the stacked-on is (say)  1.9, we want to not stack22:36
lifelessbut there is a separate bug that it currently aborts22:36
jamso how is it failing at this point? versus the test passing today22:41
lifelessthe test is changed slightly in my branch, but not enough22:42
lifelessthe thing is that its broken today22:42
lifelesswe actually use the default format /somewhere/ and so the target is often unstackable22:42
lifelessand the test doesn't notice22:42
lifelesswhen the default is changed, we end up with stackable much more often22:43
lifelessand the test against whether repo is stackable suddenly blows up22:43
jamlifeless: so last I checked, BzrDir.initialize_on_transport_ex() would create the repo format you requested, but always uses the default branch format.22:43
lifelesswell, init_ex doesn't make a branch22:44
jamlifeless: it *does* use the default branch for the format and stacking checks22:44
jamwhich was a source of bogus "this format doesn't support stacking" messages in the past22:44
lifelessyes22:45
lifelessso, there is a broken code path22:45
lifelesswe can either fix it, then land this default branch. or vice verca :)22:46
lifelessso22:46
lifelessspecifically, there are 7 formats that don't update22:46
lifelessdon't upgrade22:46
lifelessand the test was simply not noticing that they don't22:47
lifelessFAIL: per_repository.test_repository.TestRepository.test_clone_stacking_policy_upgrades(RepositoryFormatKnit3)22:47
lifelessFAIL: per_repository.test_repository.TestRepository.test_clone_stacking_policy_upgrades(RepositoryFormatKnit4)22:47
lifelessFAIL: per_repository.test_repository.TestRepository.test_clone_stacking_policy_upgrades(RepositoryFormatKnitPack1)22:47
lifelessFAIL: per_repository.test_repository.TestRepository.test_clone_stacking_policy_upgrades(RepositoryFormatKnitPack4)22:47
lifelessFAIL: per_repository.test_repository.TestRepository.test_clone_stacking_policy_upgrades(RepositoryFormatKnitPack3)22:47
lifelessFAIL: per_repository.test_repository.TestRepository.test_clone_stacking_policy_upgrades(RepositoryFormatKnit1)22:47
lifelessFAIL: per_repository.test_repository.TestRepository.test_clone_stacking_policy_upgrades(RepositoryFormat7)22:47
jamlifeless: so I'm not going to make you block forever on it. But I'll note things tend not to get fixed once they are marked KnownFailure22:50
jamI suppose for my balance point.... I'd probably go ahead22:51
lifelessI think I have a hacked up version22:51
lifelessits a bit heinous22:51
lifelessjam: re: KF - I know, but we can file bugs that are critical :)22:54
lifelessjam:22:56
lifelesshttp://paste.ubuntu.com/255402/22:56
lifelessthats the change vs the branch you reviewed last night.22:56
lifelessI think it captures what we want more accurately.22:57
jamlifeless: you've got some serious typos in the docstring, one not introduced by you22:57
jam"to a somewhere"22:57
jamand then "stack-on stack-on branch"22:58
lifelessfixed22:58
jamthe "if stack_on_format in... elif..." seems like it could really use a final "else" clause causing an exception23:00
lifelessmm23:00
lifelessyou need a long list of formats that just work if you do that23:00
jamI don't quite understand why you don't just grab the BzrDir format and pass that in23:00
jamI suppose you are intentionally using a diff format?23:01
lifelessyes23:01
lifelessa stackable one matching the serializer23:01
lifelessthe unlisted formats are already stackable23:01
lifelessand thus its a no-op really.23:01
jamlifeless: k, probably a comment then23:01
lifelessdone23:02
jamlifeless: good enough then23:02
lifelessDoIt?23:02
jamyep23:02
lifelessthanks!23:03
goneriigc: Hi! Can I have you opinion on the branch I did against bzr-fastexport to fix #347729 ?23:18
lifelessigc s likely still asleep23:20
lifelessgive him a couple of hours23:20
gonerilifeless: oh ok :)23:21
lifeless\o/ onto ascii23:55

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