/srv/irclogs.ubuntu.com/2009/02/01/#bzr.txt

=== fawek_ is now known as fawek
eferraiuoloI have a question about using the contrib/bzr_access script00:51
eferraiuoloInvocation: bzr_access <bzr_executable> <repo_collection> <user>00:51
eferraiuolodo you have to call this with every user?00:51
eferraiuoloI'm confused about the "user" param; I though the config file would handle the user stuff00:52
eferraiuoloI guess it get it now, when a user logs-in the bzr_access command is ran00:59
=== dereine is now known as dereine[OFF]
=== Spaz is now known as IRS
=== IRS is now known as Spaz
beekorHi ya'll.  I'm new at VCS type stuff, and am a bit lost.  I'm aiming for the Centralized Development model in the userguide.  I got my directory all init'd on the server part, and did a Checkout to make the directories on my user machine.  I committed a change on my machine, now I'm trying to figure out how to get it back to the server.07:07
beekorI did a Merge, but it says Nothing to do.  so that makes me thing that's not correct.07:07
AfC$ bzr push07:12
AfC{shrug} We don't really do centralized development, so I don't know what the User Guide is recommending about that these days.07:12
beekoryeah I tried a push, but that gave me conflicts.07:13
beekorWhat format do you all use then ?07:13
beekorI'm just one guy trying to work at 2 computors.07:13
beekorso i commit then i push.  okay.  hmmm07:14
AfCbeekor: we have a number of contributors all of whom have branches; I also act as a gatekeeper as I'm the only one who can publish to the project's public 'mainline' branch, so people send me bundles if they want their work considered for merging and publication (as part of the project).07:15
beekorgotcha.  I'm still working through the terminology a bit here.07:16
AfCStraight forward DVCS, except that people have been living with the crippled centralized modality of CVS & Subversion heritage that the decentralized world all seems a bit horrible and scary.07:16
beekorthis is my first foray into any of the VCS programs at all.07:17
AfCIt's not, really, but it takes a bit of getting used to. In my experience, decentralized has entirely been worth getting people up to speed with, but for very small changes it can be a bit fiddly.07:17
AfC(and given that most people's first interactions are for small deltas, all the fiddling about seems excessive. This is not an unreasonable first impression)07:18
beekorso basically, i Merge to update my branch(?) from the server, and then Push to update the server of my changes that I've Commit-ed ?07:18
AfCum07:18
beekorhaa07:18
AfCyou get a branch from the server07:18
beekori don't liek that um.07:18
beekorokay.07:18
AfCyou then make changes07:18
AfCyou commit07:18
beekorim with ya so far.07:19
AfCyou can then push to the server.07:19
AfCHOWEVER07:19
AfCif the server has since diverged from when you branched,07:19
AfCthen you cannot push07:19
AfC(or, if you were sitting on the server, you could not pull)07:19
beekorwas that my conflicts  that I got?07:19
AfCand (again, from the server side) you would have to do a merge instead of a pull07:19
AfCbeekor: probably07:19
beekork07:19
beekorhmm.07:19
AfCNow. Bazaar has a notion called "bound branch" which you can (perhaps deliberately, perhaps inadvertently) create with07:20
AfC$ bzr checkout07:21
AfCinstead of07:21
AfC$ bzr branch07:21
AfCthe *only* difference07:21
AfCbetween the two (bound in the first case, unbound in the second)07:21
AfCis that with a checkout (bound branch) you cannot commit to the local branch unless the commit first succeeds on the other [typically remote] branch.07:21
AfCwhich turns out to be the "centralized" model we're used to from CVS.07:22
AfCfor people who are accessing our public 'mainline' for which not a one of them have write access to,07:22
AfCthis means that they in effect get a read-only local copy [mirror, even] of the upstream project.07:23
AfCthey can then branch that locally to have a copy they can work in.07:23
AfCThis tends to be a useful approach07:23
beekorokay.  so to work on my user machine, i originally did a Checkout.  maybe that is a source of my issues.  I will try with a Branch07:23
AfCbeekor: http://java-gnome.sourceforge.net/4.0/get/#source describes this, although it may not be interesting to you07:24
AfCbeekor: other than this bound bit07:24
AfC(and it literally is a boolean, there's nothing else on disk that differentiates them)07:24
AfCthere is no difference between a checkout and branch. A "checkout" in Bazaar *is* a branch07:24
AfCwith some extra constraints thrown in07:24
beekorokay.07:24
AfC(and you can always unhook that constraint with07:25
AfC$ bzr unbind07:25
AfC)07:25
AfCso the real issue07:25
AfCis deciding how you want changes to flow.07:25
AfCthis has little to do with Bazaar, actually07:25
AfCif you are only moving changes (ok, revisions, actually)07:25
beekornow, i should only have to checkout/branch initially.  after that, i stay updated with Merge.  is that correct ?07:25
AfCin one direction07:25
AfCand assuming you have constant always on write access to the other side, and just want the other side to always be what's local07:26
AfCthen a local branch bound to the remove one will do you fine.07:26
AfCthere were a lot of "always" in that last sentance.07:26
beekorha.07:26
AfCIf you're working independently on both sides then you'll have to be more careful07:27
AfCs/careful/deliberate/07:27
AfCbut if you only ever work locally and are just pushing deltas up to a server07:27
AfCthen a) no need for it to be a checkout and b) push will always work07:27
beekorokay.07:27
AfC[or, ssh server && bzr pull]07:27
AfC[assuming access works in the other direction, which it usually doesn't]07:28
AfCSo that's about all you're getting out of me pro bono.07:28
AfCIf you think about all that you'll probably find your way.07:28
AfCThe fact that you created divergence on the server side indicates lots of things, but I imagine you'll be able to play with it from here.07:28
beekorwell that's a lot of free info, i'd say.07:29
beekornot a lot that I understand at this point, but that's my issue.07:29
beekori will save this conversation and refer to it laterwise.07:30
beekorthanks for the help.  i do appreciate it.07:30
AfCbeekor: one last thought: people tend to overcomplicate things.07:30
beekorhahaha.07:30
=== dereine[OFF] is now known as dereine
=== AfC1 is now known as AfC
=== dereine is now known as dereine[OFF]
=== jamesh__ is now known as jamesh
=== _Nicke_ is now known as Nicke
=== dereine[OFF] is now known as dereine
=== dereine is now known as dereine[OFF]
nielsbomAnyone know a good introductory screencast for bzr? (and yes I googled)15:11
LarstiQnielsbom: emmajane might have done one15:14
nielsbomLarstiQ: I saw those two :)15:14
nielsbomThey were good, but I would like some more.15:15
LarstiQnielsbom: what would you like to see?15:16
* LarstiQ attempts flashing his bios15:16
nielsbomLarstiQ: well I have trouble visualizing/envisioning how bzr merges files15:16
nielsbomLarstiQ: and I'd like to know how it works before I start using it :)15:17
LarstiQnielsbom: perfectly? ;)15:20
nielsbomLarstiQ: well somewhat :)15:21
nielsbomLarstiQ: I can stand a bit of black-boxxines15:21
garyvdmnielsbom: do you understand how 3 way file merges work?15:21
nielsbomgaryvdm: nope15:22
jelmerLarstiQ, ping15:22
nielsbomOw btw a more concrete question (and a noob one) how can I set up my hosted server so that I can push a revision to it?15:22
garyvdmnielsbom: This explains it nicely in the context of vcs15:22
garyvdmhttp://www.ericsink.com/scm/scm_file_merge.html15:22
nielsbom(just ftp?)15:22
jelmerLarstiQ, can you check whether bug 320113 is fixed?15:23
ubottuLaunchpad bug 320113 in bzr-svn "svn-upgrade fails with a KeyError (in rebase generate_transpose_plan)" [Undecided,Incomplete] https://launchpad.net/bugs/32011315:23
LarstiQjelmer: I can.15:23
LarstiQjelmer: do you want me to do that now?15:23
jelmerLarstiQ, yeah, if possible15:23
jelmerLarstiQ, I'm pondering about releasing 0.5.0 today15:23
garyvdmnielsbom: You can push your revisions to ftp, but it won't update the working tree in the ftp dir15:24
LarstiQnielsbom: just ftp works, although it is ahorrible protocol, use sftp if you can15:24
LarstiQjelmer: ok, let me see15:24
LarstiQjelmer: I don't suppose you can help me flashing my bios? ;)15:25
nielsbomgaryvdm: "won't update the working tree in the ftp dir", but what good does it do then? (in the case that I want to push code to my server?)15:25
jelmerLarstiQ, you're still trying to do that ? :-)15:25
garyvdmnielsbom: you can use the upload plugin to upload a tree.15:25
garyvdmnielsbom: Note that this is not a working tree - so you shouldn't edit the tree, and you can commit it.15:26
nielsbomgaryvdm: can or can't?15:27
garyvdmSorry - can't15:27
nielsbomright15:27
garyvdmnielsbom: It works well if you are using bzr to vc a website.15:28
nielsbomgaryvdm: but what is the best practice if I want to push local code to my server using FTP? (or is there another step after using the upload plugin?)15:28
Peng_No SFTP or SSH access? :X15:28
garyvdmnielsbom: Just use upload.15:28
nielsbomgaryvdm: yes I want to VC a website15:28
LarstiQjelmer: different laptop15:29
nielsbomgaryvdm: sorry that I don't seem to understand but if I use the upload, it does not update the working tree right? How can I make that happen?15:29
LarstiQnielsbom: bzr-upload15:29
nielsbomOw and I might have SSH to my server, that would simplify matters, right?15:30
LarstiQjelmer: do I need a new version of rebase too?15:30
LarstiQnielsbom: yes15:30
jelmerLarstiQ, yes15:30
LarstiQjelmer: this is on my Acer Aspire One, where I'd like to use an SD card, but for some reason the bootable images hang before I get to the flashing part15:31
garyvdmnielsbom: Yes - if you have ssh access - then use https://launchpad.net/bzr-push-and-update15:31
LarstiQjelmer: the last commit of rebase is funny: 'Fix bug #.'15:32
Peng_nielsbom: If you have SSH access and bzr is installed (or you can install it, which should be easy enough).15:32
Peng_nielsbom: At the very least, SFTP > FTP, even if (with bzr) there isn't any difference.15:32
nielsbomgaryvdm: just checked: no SSH or SFTP15:33
nielsbomgaryvdm: my host is pretty cheap, so no wonder15:34
Peng_Cheap isn't an excuse for that.15:34
LarstiQjelmer: could you not raise a bare ImportError in check_subversion_version()?15:34
nielsbomPeng_: true...15:34
Peng_Wait, I'm still paying like $7 a month for some SSHless web hosting account I haven't touched since 2006...15:35
nielsbomgaryvdm: but after I upload a tree to my server using FTP, how can I change that to be the working tree?15:35
nielsbomPeng: $7 is quite a lot15:35
nielsbomPeng_: I pay EUR 25 a year and I get quite a lot (but no SSH)15:36
LarstiQjelmer: KeyError: 'svn-v4:cd2972fe-eb09-0410-94ea-d8feb256cc61:trunk/kmx:8048'15:36
Peng_nielsbom: That's on top of the $30 for non-sucky hosts I do use (mostly). :P15:36
garyvdmnielsbom: You don't need to make it a working tree.15:36
nielsbomPeng_: ouch, but then again, you probably make some nice $$$ or :) :) :) of off it too, right?15:37
Peng_nielsbom: Certainly not. But it's fun!15:37
nielsbomgaryvdm: is that because the upload plugin just uploads it without the need for there being bzr on the server?15:38
garyvdmnielsbom: bzr-upload will uploads the dirs/files that are the latest version in bzr to your ftp dri15:38
nielsbomPeng_: if it's worth it, it's worth it15:38
garyvdmnielsbom:yes15:38
nielsbomgaryvdm: ok now I understand, thanks15:38
garyvdmhttps://launchpad.net/bzr-upload15:39
nielsbomgaryvdm: but this _can_ get problematic with multiple people committing right? Then I'd have to use classic VC right? (Check out first...)15:39
garyvdmnielsbom:15:39
LarstiQnielsbom: I'd recommend seperating versioning from deployment.15:40
garyvdmnielsbom: No - there is a solution for that.15:40
jelmerLarstiQ, what should I do instead of raising an importerror?15:40
LarstiQjelmer: fold the warning into the importerror?15:40
LarstiQjelmer: ie, raise ImportError("Need at least subvertpy 0.6.1, got 0.6") instead of raise ImportError15:41
LarstiQjelmer: that way I can see what is wrong just by looking at the stacktrace.15:41
nielsbomLarstiQ: garyvdm: So I use one testing server (with VC) and one live server to which I deploy (from test to live). Me and other developers then use the testing server to commit our changes. Is that a correct way?15:42
LarstiQnielsbom: having live and testing servers is good practice.15:42
LarstiQnielsbom: but I'd personally commit locally and deploy to testing from there, as well as deploying to live from there.15:43
nielsbomLarstiQ: So code and commit locally. Deploying to test: local --> test. Deploying to live: local --> live.15:44
LarstiQnielsbom: that is what I would do, yes.15:44
nielsbomLarstiQ: ok understood, thanks for your help, and garyvdm: too!15:45
jelmerLarstiQ, fixed15:45
LarstiQ*glomp*15:45
garyvdmLarstiQ: that implies nielsbom would become a gatekeper?15:45
LarstiQgaryvdm: I'd keep that workflow for everyone involved. But maybe it can be done better?15:46
nielsbomgaryvdm: well unless other people also have the right to upload to live right?15:46
garyvdmLarstiQ: or should he have a rule that uploads must be from the central repo?15:46
LarstiQgaryvdm: I'll try top rephrase15:48
LarstiQthe point I find icky is versioning a 'live' (test in this case) site directly, instead of using a deployment mechanism15:48
nielsbomLarstiQ: do I understand correctly that you advise against using bzr as a deployment tool (my sites aren't that critical btw)15:50
nielsbomLarstiQ: (question mark)15:51
LarstiQnielsbom: not exactly. The bzr-upload plugin I find is a good deployment tool.15:54
LarstiQnielsbom: you are correct that I wouldn't have any bzr branches there.15:54
garyvdmnielsbom: This is my suggestion: lets say you have a group of devs - create 2 branches that are shared, one for you testing server, one for you live server.15:55
LarstiQnielsbom: but there are multipel ways to do things, I believe garyvdm is going to tell you  about a workflow I wouldn't feel comfortable using :)15:56
garyvdmThen use the bzr-upload --auto option on each of those branches.15:56
garyvdmSo when a dev pushes to say your test branch, bzr-upload will upload the latest version of that branch to your test server.15:57
=== fawek_ is now known as fawek
garyvdm LarstiQ: why?15:59
LarstiQgaryvdm: I'm in fullermd's camp. Our minds seem to require a more formal division between versioning and deployment.16:02
nielsbomgaryvdm: I think I understand :)16:02
* garyvdm thinks deployment control requires versions control - thats why old version control systems were called "software configuration management"16:05
luksrequires != is :)16:09
Ycrosdeployment branches ftw16:11
jelmerLarstiQ, still there?16:32
jelmerhi abentley16:32
LarstiQjelmer: yes16:33
jelmerLarstiQ, what happens if you try with the patch in http://samba.org/~jelmer/tmp/assert.diff applied?16:38
LarstiQjelmer: the assert is triggered16:41
jelmerLarstiQ, can you change it to return None if has_revision() returns False ?16:42
LarstiQand then run it I assume :)16:43
jelmeryup, that's the idea16:44
LarstiQjelmer: it completed16:44
* LarstiQ runs missing against his fresh 0.5 branched copy16:44
nielsbom<3 meta VC on a VC project :-)16:45
LarstiQjelmer: hmm, now missing blows up16:46
jelmerLarstiQ, how?16:46
LarstiQ  File "/home/wouter/.bazaar/plugins/dev/svn/mapping3/__init__.py", line 293, in _parse_revision_id16:46
LarstiQ    return (uuid, branch_path, int(srevnum), scheme)16:46
LarstiQValueError: invalid literal for int() with base 10: '8048-svn4-upgrade'16:46
LarstiQjelmer: which is the revision we were having trouble with16:46
jelmerLarstiQ, What argument are you specifying to svn-upgrade?16:48
LarstiQjelmer: right, other operations blow up as well16:48
LarstiQjelmer: nothing16:48
LarstiQjust `bzr-experiment svn-upgrade`16:48
jelmerLarstiQ, what is the pull location of that branch?16:49
LarstiQjelmer: svn+ssh://source/home/wouter/tmp/kmx_svn/trunk/kmx16:49
jelmerLarstiQ, so the strange thing seems to be that that revision should exist in the svn repository but it doesn't16:52
abentleyjelmer: Hi.16:55
LarstiQjelmer: I'm not entirely sure what you mean with that.16:55
LarstiQjelmer: obviously svn rev 8048 exists.16:56
jelmerLarstiQ, and that was a round-tripped revision?16:56
LarstiQjelmer: the bzr-svn metadata, I don't know how that meshes.16:56
LarstiQjelmer: yes16:56
LarstiQjelmer: from 0.516:56
jelmerLarstiQ, ah, I think I understand what the problem is here16:56
LarstiQjelmer: and I can make fresh branches with 0.4 and 0.5 both, that is not an issue.16:56
LarstiQjelmer: ok :)16:56
LarstiQhey jdub!16:56
jelmerHi Jeff16:57
jdubmorning16:57
jdubhey jelmer16:57
LarstiQjdub: that's a long time ago.16:57
LarstiQabentley: heya16:57
jdubthanks heaps for fixaging that bug :-)16:57
abentleyLarstiQ: Hey.16:57
LarstiQabentley: you mentioned we should talk?16:57
abentleyLarstiQ: Yeah.16:57
jdubjelmer: the fix has prompted me to ask for a tip though ;-)16:57
jelmerjdub: Np, thanks for bringing it to my attention before I released 0.5.016:57
jelmerjdub, uhoh16:57
abentleyI'll be working on Nested Trees once I finish what I'm currently working on.  Maybe this week or next.16:58
LarstiQabentley: ok16:58
abentleyLarstiQ: I didn't realize you were working on them too.16:58
jdubjelmer: i have a repo with a couple of svn bits in it (trunk, branch) and a bzr branch... now i've upgraded the svn bits, the bzr branch needs rebasing.16:58
jdubjelmer: how do i do that sanely? :-)16:58
abentleyLarstiQ: Where are they at?16:58
LarstiQabentley: I hadn't been, but recent requests prompted me to start looking again.16:58
abentleyLarstiQ: Ah, okay.16:59
abentleyLarstiQ: There does seem to be a lot of interest.16:59
LarstiQabentley: haven't actually done much since yet, other than paging code into my head and fixing some conflicts.16:59
LarstiQabentley: well, and looking at scmproj16:59
jelmerjdub: the bzr branch basically contains the svn branch with some extra bzr revisions on top?17:00
jdubjelmer: yeah17:00
abentleyLarstiQ: Yeah, I'm going to be looking at svn externals to try and see what they did right and wrong.17:00
LarstiQabentley: cool17:00
jelmerjdub, backing up that bzr directory and then running "bzr svn-upgrade <svn-repository-url>" should fix that17:00
jdubahar17:00
jdubok, will try17:00
jdubta :-)17:00
abentleyLarstiQ: Should we try to work together on this?17:00
LarstiQabentley: I'd like that. Whatever the case, I defer to your lead.17:01
* LarstiQ doesn't want to get in abentley's way17:01
abentleyThanks.  It will certainly be a great help to start from your fixed-up version.17:02
jdubjelmer: hrm, what should that url be?17:02
LarstiQabentley: I'll try to get a recent bzr.dev merge done this week17:02
jelmerjdub, the URL of root of the subversion repository17:02
abentleyLarstiQ: Cool.17:02
jdubjelmer: so one level above trunk?17:03
LarstiQjelmer: the repo root, or the branch root?17:03
jelmerrepository root17:03
jelmeryeah, generally that would be one level above trunk17:03
jdubeg. bzr svn-upgrade http://svn.automattic.com/wordpress/ ?17:03
jelmer"svn info <some-svn-url>" will tell you the repository root17:03
jelmerjdub, yep17:04
abentleyLarstiQ: IIRC, there are a bunch of commands that need updating to work with nested trees, and merge probably needs to be re-done.17:04
jdubok, i get sweet traceback action :-)17:04
LarstiQabentley: move is still having problems atm17:04
abentleyLarstiQ: Also, a new branch format with a better mechanism for specifying the locations of nested trees.17:04
* LarstiQ nods at abentley 17:04
abentleyLarstiQ: Ah, okay.17:05
jelmerjdub, whoa, can you please pastebin the traceback?17:05
abentleyLarstiQ: I think the first priority, once we get a clean merge, is to get as much merged back into trunk as we can.17:05
jdubjelmer: ah, ok17:05
jdubhttp://pastebin.ubuntu.com/112494/17:05
abentleyWe'll probably want to split it up into a loom, so that the patches aren't crazy-long.17:06
LarstiQabentley: that sounds good, I'll need to lookup how to work with looms.17:06
jdubjelmer: oh, my rebase is up to date with trunk17:07
jdubas of just before this discussion ;-)17:07
jelmerjdub, Do you have the latest bzr-svn?17:07
abentleyLarstiQ: Looms aren't very good for collaboration at this point, so that's probably a task for one person.17:07
jdub0.5.0~rc2-1~bazaar1~intrepid17:07
abentleyWe should quickly get back to having a branch with unmergeable changes, and then we can work on that.17:08
jdub(using bzr and friends from the beta ppa)17:08
jelmerjdub, you'll need the tip of http://people.samba.org/bzr/jelmer/bzr-svn/0.5, which matches the updates I made to rebase17:08
jdubjelmer: can i just check that out into .bazaar/plugins as with rebase?17:08
jelmerjdub, yep17:08
jelmerhmm, deja vu - didn't you also run into svn-upgrade bugs at the last major release of bzr-svn?17:09
LarstiQabentley: ok17:09
jdubyeah, but they were beyond fixage due to local braindamage17:10
jdubso i dumped those17:10
jduboh, and this is actually a different repo (wp.org rather than wpmu)17:10
LarstiQjelmer: make a not in the bzr-svn release docs, 'ask jdub to give it a testrun'?17:10
LarstiQnote, bweh17:11
jdubedge case is my middle name(s)!17:11
abentleyLarstiQ: The next things I'll be working on are to make it possible for the nested-tree format to be our default.17:12
abentleyLarstiQ: So, making working trees not automatically detect nested trees, and fixing the sha1-rewriting issue.17:12
jdubjelmer: oh rock! that was fixed and fast :-)17:13
jdubjelmer: thanks heaps17:13
jelmerjdub: np17:13
jelmerLarstiQ, I also found the real issue behind your bug17:13
LarstiQabentley: this eek you mean, or after we're at a state of unmergeable changes?17:13
LarstiQjelmer: is it fixed yet? :)17:13
abentleyLarstiQ: I think after the unmergeable changes, but it's fluid at this point.17:14
LarstiQk17:14
jdubooh, this is interesting:17:14
jdubjdub@sliver:~/src/wordpress/wpsu/masspress$ bzr unshelve 117:14
jdub M  wp-content/plugins/vipers-video-quicktags/vipers-video-quicktags.php17:14
jdubbzr: ERROR: A nested progress bar was not 'finished' correctly.17:14
abentleyLarstiQ: Is http://bazaar-vcs.org/NestedTreeProgress accurate?  I think we should have a wiki page listing outstanding tasks, so that we can claim them.17:15
LarstiQabentley: no, it's not accurate.17:16
LarstiQabentley: agreed on the breaking up work, claiming, and public progress report.17:16
LarstiQabentley: I don't think the page has drifted too much17:17
abentleyLarstiQ: Okay.  If you could polish it, that would be helpful, since you know the current status better than me.17:17
LarstiQabentley: I will need to keep paging things into my head. I'll start with updating the current devel branch location.17:19
jdubjelmer: thanks again... night all!17:20
abentleyLarstiQ: Thanks.17:20
CaMasonhi guys. I'm getting "bzr_log.TAqjxu~" style files in my working copy every time I commit17:23
jelmerLarstiQ, please try again with current bzr-svn17:28
LarstiQCaMason: any other warning/error? Hints in ~/.bzr.log?17:29
jelmerLarstiQ, (throwing away the previous branch created with svn-upgrade)17:36
LarstiQjelmer: yeah17:37
LarstiQjelmer: still get ValueError: invalid literal for int() with base 10: '8048-svn4-upgrade'17:37
jelmerLarstiQ: Is this in a completely new repository, etc?17:38
LarstiQjelmer: good catch17:38
LarstiQbranching outside of that repository now17:39
ronnyhow can i undo the last commit?17:42
jelmerronny, bzr uncommit17:42
ronnythx17:44
LarstiQjelmer: svn-upgrade, completes, log doesn't give any errors, but missing blows17:47
Goundyhi17:51
Goundyquick & noob question (again) :P : well I've two branches @local: mainline and working17:51
GoundyI work on working and then merge into mainline and then do push on mainline17:51
Goundynow I want my working branch to become the main branch17:51
Goundyto avoid commiting with same messages twice17:51
GoundyHow can I do that ? and thanks17:51
garyvdmcd mainline17:52
garyvdmbzr pull ../working17:52
garyvdmIf I understand you correctly17:53
Goundygaryvdm and then I can delete mainline by rm -rf mainline right ?17:53
LarstiQehm17:53
garyvdmNo - Ok - I thought you wanted to do this once off17:53
Goundygaryvdm well please let me explain again (sorry I've a small experience with DVCS)17:54
LarstiQGoundy: are these two the only branches in play, or are there more?17:54
Goundythat's why I'm getting hard to explain what am doing. Well I'll reexplain :P17:54
GoundyLarstiQ am going to reexmplain :P17:54
GoundyI've a branch on launchpad it's called: aures17:54
Goundyand it's a development branch.17:54
Goundyat first I did checkout on this branch to get a local copy17:55
Goundyand then I did: bzr branch aures working17:55
GoundySo I always work on "working" (useless yea :/)17:55
Goundyand then I do: cd aures && bzr merge && bzr push17:55
GoundySo I use working when coding and I use aures to push up17:55
GoundySo now I want to be able to do PUSH through "working"17:56
Goundyand I want to kick out aures17:56
garyvdmcd working17:56
Goundy(kicking local aures and not these on launchpad)17:56
garyvdmbzr pull ../aures                 (to make sure that you have the latest in working)17:57
garyvdmcd ..17:57
garyvdmrm aures17:57
garyvdmerrr rm aures -r17:57
Goundyyea17:57
Goundythat's all ?17:57
garyvdmcd working17:57
garyvdmbzr push lp:aures17:58
garyvdmdeleting aures on you hdd won't touch whats on lp17:58
garyvdmthat's all17:58
Goundygaryvdm doesn't work man :/17:58
Goundyit recreated the branch aures when I did push >_<17:59
garyvdmok - you will need to do this the first time:17:59
garyvdmbzr push lp:aures --remember17:59
Goundygaryvdm rox ! thank you very much18:01
=== fta_ is now known as fta
garyvdmPleasure Goundy.18:02
Goundy:)18:02
Goundybazaar is really > svn18:02
Goundydamn, what a powerful release >_>18:03
=== lamont` is now known as lamont
kfogelwhoa.  bzr selftest has the tests specified just by prefix, e.g.:19:51
kfogelLC_CTYPE= LANG=C LC_ALL= ./bzr selftest -1v test_status 2>&1 | sed -e 's/^/[ascii] /'19:51
kfogelruns all the tests whose names begin with "test_status", such as test_status_nonexistent_file()19:51
jelmerkfogel, I think the argument is a regex19:52
kfogeljelmer: ah, that's possible too, let's see19:53
kfogelLC_CTYPE= LANG=C LC_ALL= ./bzr selftest -1v 'status_.*existent' 2>&1 | sed -e 's/^/[ascii] /'19:53
kfogelyup19:53
kfogelthat runs the same test19:53
kfogeljelmer: oddly, though, it seems to run the same test twice.19:53
kfogele.g.:19:53
jelmerkfogel: Is the name exactly the same ?19:53
* kfogel waits for test output to appear19:54
kfogeljelmer: oh19:54
jelmerit can be running the test against two different bzr formats19:54
kfogelnever mind19:54
jelmeror something like that19:54
kfogeltwo different tests19:54
lifelessmoin19:54
kfogel[ascii] running 2 tests...19:54
kfogel[ascii] ...tatus.BranchStatus.test_status_nonexistent_file   OK                 174ms19:54
kfogel[ascii] ...tus.CheckoutStatus.test_status_nonexistent_file   OK                  51ms19:54
kfogel[ascii] tests passed19:54
jelmerhey lifeless19:54
kfogeljelmer: actually, that test is only defined once, in bzrlib/tests/blackbox/test_status.py (class BranchStatus).  But that file *also* defines class CheckoutStatus(BranchStatus), and therefore the test gets run twice when requested once.  I have no idea if this is a desired result or not :-).19:55
jelmerkfogel, Yeah, that would be desired19:59
jelmerkfogel, you should be able to specify the full test name19:59
jelmerbzrlib.tests.blackbox.test_status.BranchStatus.test_status_nonexistent_file19:59
jelmerto run just that test19:59
kfogeljelmer: thanks19:59
lifelesskfogel: its two tests :P20:03
lifelesskfogel: tests are namespaced20:03
lifelesskfogel: you could do Branch.*status_none as a pattern also20:03
kfogellifeless: the idea is that bzr might behave differently in a branch vs in a checkout?20:04
kfogellifeless: IOW, write all the tests once, but run them in two different scenarios20:04
kfogel(I may be using wrong terminology: I mean "bzr might behave differently in the presence/absence of a working tree" I guess)20:05
lifelesskfogel: the status command looks at both the tree and the branch20:11
thumpermorning peoples20:11
lifelessthough looking at CheckoutStatus its a little superficial, some specific tests for out of date detection would not go astray20:11
kfogelthumper: morning20:12
kfogellifeless: hmm, okay.  It's not blocking me or anything, I'm just trying to understand the test suite better.  I get the feeling it sort of grew by accretion.20:12
lifeless:p yes we wrote tests roughly at the same time as the code20:14
lifelesswe've also increased support capability slightly behind when it was needed20:14
kfogelHey, anyone remember what's preferred in python these days, 'file()' or 'open()'?  http://docs.python.org/library/stdtypes.html#file-objects seems to imply that 'open()' is what the cool kids do nowadays.20:19
lifelessopen()20:20
kfogellifeless: thanks20:20
lifelessits clearer20:20
paroneayeaI'm not sure I get branches in bazaar.  Are they supposed to be subdirectories, or am I doing something wrong?  Also, how do you list all branches in bazaar?20:21
kfogelparoneayea: I'm not a bzr expert, but I think 'bzr branches' will show you all the branches ('bzr help commands' is what told me that).  In my way of working so far, it's common to put branches in subdirectories -- that is, one subdir for each branch -- but I'm not sure you have to do it that way.  Have you read the Users Guide?20:24
kfogelAlso, comparing http://bazaar-vcs.org/Scenarios/OneOffContribution with http://bazaar-vcs.org/Scenarios/RepeatedContributions might give you some idea of the relationship between branches and repositories.20:24
paroneayeakfogel: yeah, I'm trying to look at the user's guide but I didn't see it describing the way subdirectories work and stuff20:26
paroneayeaI'm used to the git idea20:26
paroneayeawhere you have all these branches but you only see one at a time20:27
lifelessparoneayea: we are looking at changing this; the git layout seems pretty popular20:27
lifelessit clicks better for enough folk20:27
lifelessanyhow20:27
kfogelparoneayea: you can do that in bzr too, it's not actually so different (that is, have a bunch of branches present in your repository locally, and only be viewing one at a time in the actual checked out tree, using the 'bzr switch' command).20:28
lifelessyes, one directory per branch at the moment [unless you use a plugin that changes that]20:28
kfogelI hope someone else here will correct me if I make any wrong assertions.20:28
kfogelparoneayea: it's more a matter of bzr having a different default right now, that's all20:28
paroneayeaah.  Okay, this conversation helps20:29
lifelesskfogel: you do know about the brisbane-core project yes?20:30
paroneayealifeless: do you know of such a plugin?20:30
kfogellifeless: I know about it, but I think I might only know about some of the performances speedup stuff going on there.  Is it about more than that?20:30
lifelessparoneayea: yes, the colocated-branch plugin jelmer put together20:30
lifelessparoneayea: its not really polished, but its a usable proof of concept20:30
lifelessalso 'bzr-loom' does something similar (its similar to topgit)20:31
lifeless[or rather topgit is similar to it :P]20:31
lifelesskfogel: re bug 24689120:31
LarstiQparoneayea: a similar workflow can be achieved with `bzr cbranch` and friends from bzrtools, but some people dislike having branches be actual filesystem objects20:31
ubottuLaunchpad bug 246891 in bzr "bzr log -v is slow" [High,Confirmed] https://launchpad.net/bugs/24689120:31
kfogellifeless: yes, thanks -- I'd heard people mention brisbane-core.  But is it scheduled to land at a particular time?20:32
lifelesskfogel: as soon as we can :P20:33
lifelesskfogel: its more that there is very little we have identified as 'doable' to improve performance on tree delta operations (both -v and subdir-contents in log require that) without it landing20:34
kfogellifeless: can't come soon enough for me (and GNU Emacs :-) )20:34
paroneayeawell anyway, I will keep following bazaar... it has a much cleaner command set than git.  But for now it's too much of a disruption for me to have the multiple subdirectory branches in my workflow, so I think I'm sticking to git for now20:43
paroneayeathanks for the help :)20:43
LarstiQparoneayea: even with switch?20:43
paroneayeaLarstiQ: well, maybe I should look at it some more.  But it's confusing, there's not much documentation on this workflow in bazaar.  I can't tell if it's safe to remove subdirectories and whatever20:44
lifelessparoneayea: to remove a branch, rm -rf it20:45
paroneayealifeless: but that won't remove it from the database?20:46
LarstiQparoneayea: your pointer in the revision DAG is gone, but if you know the revision (tagged it, it's a head, or written it down) you can resurrect the branch20:47
LarstiQparoneayea: http://doc.bazaar-vcs.org/latest/en/user-guide/index.html#reusing-a-checkout 5.5.3, but I see that should be updated20:48
LarstiQparoneayea: afaik it is possible to just use `bzr switch sibling` if the branch currently checked out is a sibling of where you want to switch to20:49
LarstiQparoneayea: (if it was a standalone branch, it would be entirely gone)20:49
lifelessparoneayea: in git terms, the ref is contained in the .bzr/branch/ of each branch20:49
lifelessparoneayea: so rm -rf removes the ref; the revision won't propogate anywhere20:50
lifelessthere is a gc plugin I think20:50
lifelessparoneayea: are you concerned that old branches will take up space? or get lost? or ..20:55
Lo-lan-dolifeless: Assuming I'm concerned about the space, is there already an answer?21:14
LarstiQLo-lan-do: it depends on the situation. Standalone branches? rm -rf the branch and the space is reclaimed.21:15
Lo-lan-doNah, shared repository :-)21:15
LarstiQLo-lan-do: shared repo? Are there other branches using the same revisions? Then there is no space lost.21:15
LarstiQLo-lan-do: Shared repo and no branches use the revisions anymore?21:15
LarstiQah.21:15
LarstiQLo-lan-do: that would be the case where a `bzr gc` would make life easier.21:16
Lo-lan-doMy potential use case is that I pushed a branch to the wrong repo.21:16
* LarstiQ nods21:16
LarstiQLo-lan-do: I'm not aware of anything that automates that much.21:17
LarstiQLo-lan-do: making a new repo and branching over what you want to keep is a bit of a hassle.21:17
LarstiQLo-lan-do: you're at fosdem, right?21:17
Lo-lan-doIt can be scripted, probably, but I see.21:17
Lo-lan-doNot yet, but I intend to go, yes :-)21:18
LarstiQLo-lan-do: it shouldn't be hard to write up an initial version of that command.21:18
LarstiQLo-lan-do: right :p21:18
LarstiQLo-lan-do: so if you're interested in doing that, I suggest we work on that?21:18
LarstiQLo-lan-do: the remove-revisions plugin already does removal21:19
Lo-lan-doI never hacked bzr itself; if you think that might provide a gentle first step, then I'm all in favour.21:19
Lo-lan-doThen I may be able to help bzr-git :-)21:19
LarstiQLo-lan-do: I think it should be fine.21:20
Lo-lan-doGreat :-)21:22
lifelessso the challenge in writing 'gc' correctly is prevent concurrent insertions into the db21:25
lifelesslike git, bzr is multi-writer21:25
lifelessgit uses the refs as a way to handle gc AFAICT21:26
Lo-lan-doIsn't there a repository-wide lock?21:26
lifelessLo-lan-do: insertions are done in a 2-phase operation; phase 1 prepares the insertion, phase-2 commits it21:26
lifelessthere is a lock for phase-2, but its short-lived, and doesn't prevent phase-121:26
lifelessso to do a gc, you need to: prepare a phase-1 operation that will insert a new pack containing the non-gc'd elements of all the packs that have things to be gc'd.21:27
lifelessother writers doing a phase-2 insertion before you will succed, so in your phase 2 you need to check you are not dropping anything referred to by packs added during the gc.21:28
lifelessits not terribly hard, but its plumbing not porcelain21:28
lifeless(if someone has added a ref, abort the gc)21:29
* LarstiQ intended to be far less subtle in the first go21:29
lifelessin fact, as a cheap start, you could simply abort the gc if the packs list has changed; that would be safe and correct-enough21:29
LarstiQLo-lan-do, lifeless: I sent a mail to the list stating our intention.21:30
luke-jrhow do I get 'bzr merge' to do a real merge when cherrypicking?21:38
luke-jrit only wants to do a diff+patch for me ☹21:38
Lo-lan-doluke-jr: I don't think it's doable right now.21:38
luke-jr-.-21:39
lifelessluke-jr: what do you mean 'real merge'21:39
luke-jrlifeless: one that 'bzr status' shows21:39
lifelesscherry picks don't join the graph21:39
lifelessby definition21:39
luke-jr"pending merges:"21:39
lifelessif you cherry pick adjacent to a merged revision, it will be treated as a normal merge21:40
luke-jrwhat does that mean?21:40
luke-jrI want to merge a bugfix from trunk..21:40
luke-jrbut I don't want to merge trunk's enhancements21:40
luke-jrseems like a pretty common use case21:40
lifelessand it should work fine21:40
luke-jrno, it just modifies the working copy and doesn't note it as a merge at all21:41
lifelessI think what you are missing is that 'log' doesn't show the merge revision, right?21:41
luke-jrI would hope merges are more than mere log changes21:41
lifelessmerges do one thing with a few implications. They set the 'parent' pointer in the revision graph21:42
lifelessthat pointer, as it is in git and hg and pretty much everything, is a transitive pointer in a DAG21:42
luke-jr21:42
luke-jrwhatever that means21:42
garyvdmlifeless: What will happen if you cherrypick a revision, and later try to merge it. Will you have a conflict, or does bzr know that it has allready been merged?21:42
lifelessgaryvdm: our merge code tries quite hard to make that not conflict unless you further changed it21:43
luke-jrI just want it to show up as it would if I committed to the oldest valid branch and merged those upward21:43
lifelessluke-jr: ok, right now you can't21:43
luke-jrsigh21:44
luke-jrcan I get the log to look as if I did?21:44
lifelessI was trying to explain, but you seem uninterested21:44
lifelessI'll be back in a bit21:45
luke-jrI just want it to work, I don't really care about the details as to how or why21:46
LarstiQluke-jr: you could include the log messages of the cherry picked revisions in your commit, does that help?21:47
luke-jrLarstiQ: you mean manually?21:48
LarstiQsomething like bzr ci -m "Merge bugfix foo.\n `bzr log -r x..y`"21:48
luke-jrsigh21:48
luke-jrguess that works21:48
LarstiQluke-jr: what about that isn't good enough? Would you be satisfied if the commit included those log messages automatically?21:50
LarstiQluke-jr: or, and this is why I'm asking and where lifeless was going afaics, do you actually require the revision graph to be altered there?21:50
luke-jrI have no clue wtf the reivison graph is21:51
LarstiQluke-jr: ok. Could you then either explain what it is you want, or listen to an explanation of how things work?21:51
garyvdmPending merges indicated that the revisions graph is going to have extra stuff....21:52
luke-jrLarstiQ: I just want it to work as if I had made my changes in 0.1 and merged that into 0.2 and trunk21:53
LarstiQluke-jr: the problem is, "as if I had made my changes" has lot of implications, most of them probably not relevant to you21:55
LarstiQluke-jr: making it work that way requires a lot more effort, and hence will be finished on a larger timeframe21:55
LarstiQluke-jr: knowing which parts you care about make it easier to do something about it.21:58
davidstraussluke-jr: This is a highly dangerous approach to version control systems: "I just want it to work, I don't really care about the details as to how or why"22:00
davidstraussluke-jr: It's like getting on the road without knowing traffic rules and only caring about "getting there."22:01
garyvdm"An SCM tool is not like a clock.  Clock users have no need to know how a clock works inside.  We just want to know what time it is.  Those who understand the inner workings of a clock cannot tell time any more skillfully than the rest of us.22:01
garyvdmAn SCM tool is more like a car.  Lots of people do use cars without knowing how they work.  However, people who really understand cars tend to get better performance out of them." - Eric Sink22:01
LarstiQboth not actually the thing at hand imo.22:01
davidstraussLarstiQ: My point is that the question he's asking may not serve his long-term interests.22:02
LarstiQwithout eloborating it is impossible for me to tell what luke-jr wants, not knowing requirements makes writing software hard.22:02
LarstiQdavidstrauss: good point22:03
* LarstiQ needs to go to sleep22:03
LarstiQnight22:03
davidstraussLarstiQ: night22:03
garyvdmnight LarstiQ22:03
davidstrausslifeless: ping22:08
lifelessdavidstrauss: hi22:09
davidstrausslifeless: would you like the bzr.log from our beloved windows committed?22:09
davidstrausscommitter*22:09
lifelessdavidstrauss: uhm, remind me of the situation, I'm embarrased but its paged out22:09
davidstrausslifeless: This is the smart server repo corruption we discussed last week22:10
lifelessoh yes22:10
lifelessthe content-from-unmerged-rev one22:10
lifelessyes that log is a good starting point22:10
lifelessdid we open a bug ?22:10
davidstrausslifeless: how should i get it to you?22:10
davidstrausslifeless: i don't think so22:11
lifelesseither email me, robert@canonical.com22:11
davidstrausslifeless: i think it would be wise to open a formal bug report22:11
lifelessor if we can open a bug, even a private one if there is other stuff in the log, and attach it there22:11
davidstrausslifeless: nothing to hide here22:11
davidstrausslifeless: this is all Drupal GPL development22:11
lifelessthen a bug would be best22:12
lifelessas it lets other devs chime in22:12
davidstrausslifeless: posting it now22:16
lifelessthanks22:19
davidstrausslifeless: https://bugs.launchpad.net/bzr/+bug/32410022:19
ubottuLaunchpad bug 324100 in bzr "Content from unmerged revision breaks branch" [Undecided,New]22:19
davidstraussI wish launchpad would assume the bugs I post "affect me too"22:20
mwhudsonyou could make the bug about that as affecting you i guess :)22:20
mwhudsons/make/mark/, sigh22:20
davidstraussIt would be awesome to have a Firefox plugin to browse bzr repositories when I click a bzr:// link.22:22
lifelessdoesn't bzr-gtk install a bzr:// handler?22:23
davidstraussIt might, but I'm on OS X.22:23
* garyvdm adds that to qbzr todo22:24
lifelessah22:24
davidstraussI have an Ubuntu VM open, so I can certainly try it.22:24
davidstraussHow can I get a Bazaar sticker for my laptop?22:24
lifelessthats a good idea22:25
lifelessI don't htink we have them at the moment22:25
davidstraussOr maybe a very covertly technical bumper sticker?22:25
bob2"my other car's a version control system"22:25
davidstraussbob2: Insurance would be cheaper if accidents had "uncommit"22:26
lifelessoh nice22:26
bob2hah, that's close to NRMA's current campaign22:27
=== kiko-afk is now known as kiko
lifelessspiv: http://launchpadlibrarian.net/21885424/bzr.log if you're interested22:40
* spiv looks22:40
lifeless3.7MB22:40
lifelessdavidstrauss: do you remember, I think it was rev 521 broke it ?22:42
davidstrausslifeless: yes22:42
davidstrausslifeless: that ought to go into the but22:42
davidstraussbug*22:42
lifelessdone22:42
davidstrausslifeless: thanks22:43
=== spm_ is now known as spm
lifelessbeuno: is verterok around?22:44
lifelessspiv: I see update, status, info, commit-on-bound-branch22:46
lifelessbut the update appears to be a no-op, checking further22:47
lifelessjelmer: would you consider making 4587.877  Unable to open <bzrlib.transport.local.LocalTransport url=file:///C:/Program%20Files/xampp/htdocs/drupal_test_7_fic/modules/field/field.form.inc/> with Subversion: Unable to open an ra_local session to URL22:47
lifelessjelmer: be only shown with -Dtransport?22:48
=== fta_ is now known as fta
lifelessdavidstrauss: can you get the user, to cd to C:/Program%20Files/xampp/htdocs/drupal_test_7_fic/22:49
lifelessdavidstrauss: and run22:49
davidstrausslifeless: his repo has been overwritten with the fixed upstream one22:49
lifelessdavidstrauss: damn, did he keep a backup?22:50
lifelessor did he overwrite using 'pull' ?22:50
davidstrausslifeless: i'm guessing he ran "update" from my fixed repository22:51
davidstrausslifeless: and that probably wiped out the troublesome revisions22:51
lifelessno they will be there22:52
lifelessso, 'bzr cat-revision bzr@web3fourkitchens.com-20081206090158-z4ejks27ylqpj0py'22:52
lifelessthis is assuming he did update/pull22:52
lifelessas long as he didn't rm the thing, they will be candidates for gc, but not actually removed22:52
lifelessdavidstrauss: AFAICT there is no reason for his tree to have magically grown references to that revid22:54
lifelessdavidstrauss: he hasn't run merge, in the timespan of the log22:55
davidstrausslifeless: I'll ask him to run it.22:55
lifelesshe has run update, but that will be grabbing from the master branch - he has a checkout, rather than a seperate branch22:55
davidstrausslifeless: Actually, I'll ask him for a zip file of his working copy, including .bzr stuff.22:55
lifelessdavidstrauss: good idea22:55
davidstrausslifeless: Email is perhaps the highest latency remote shell in the world.22:56
beunolifeless, hi!  I don't see him on any of the normal channels of communication  (plus, I'm in Brazil)23:00
lifelessbeuno: trying to track down a nasty commit bug; I want to ryle out the xmlcommit etc commands23:00
lifelessdavidstrauss: except on windows, where you can send them a script to run, and it will just run it :)23:01
davidstrausslifeless: yes, but i can just copy his checkout to a windows VM I have23:01
davidstrausslifeless: oh, just got the joke23:02
beunolifeless, I haven't looked at the code since he did the rpc thingie. I'll poke him if I see him around. Is there a bug #?23:02
lifelessdavidstrauss: :P23:02
lifeless32410023:02
lifelessbeuno: ^23:02
* beuno looks23:02
spivlifeless: I don't see any obvious red flags in that log file.23:04
lifelessspiv: indeed23:04
sproatywhenever I use push and it asks for my password, I have to press "deny" first before it'll accept it23:04
sproatyI'm typing the same password 4 times, nothing - press deny then it'll work :/23:04
lifelesssproaty: what url do you push to ?23:04
sproaty sftp://sproaty@bazaar.launchpad.net/~sproaty/whyteboard/development/23:04
lifelesse.g. sftp/ftp/bzr+ssh/lp/ ?23:04
spivsproaty: do you use some sort of SSH key agent?23:05
lifelesssproaty: ok, bzr itself doesn't manage passwords for tht23:05
lifelesssproaty: so its your OS/ssh client23:05
sproatyah23:05
spivAlso, bazaar.launchpad.net's SSH/SFTP server doesn't ever accept passwords.23:05
sproatywell I used ssh to get some key to upload to launchpad23:05
sproatyso it's probably asking for key verification?23:05
spiv(And says so at the SSH protocol level)23:05
davidstrausssproaty: It's probably your SSH key agent implementation.23:06
davidstrausssproaty: actually23:06
spivSo if it's asking for your LP password, then your SSH client is buggy.  Or maybe it's asking for a passphrase to unlock your private key, but it doesn't sound like it.23:06
davidstrausssproaty: It's probably your SSH client making a crappy attempt to get a password instead of trying your key first.23:06
davidstrausssproaty: Some broken SSH clients assume you'll always need to submit a password.23:07
sproatyOpenSSH_5.1p1 Debian-3ubuntu1, OpenSSL 0.9.8g 19 Oct 200723:07
lifelesssproaty: what is the exact question it asks you23:08
lifelesssproaty: the title of the window, everything23:08
sproatyerm I dunno, I closed them...should I push again to see?23:08
sproatywell actually, don't want to commit a change with no changes23:08
fullermdJust trying to push (even when there's nothing to push) will make it try to connect.23:09
davidstrausssproaty: your only other option is to leave us guessing23:09
fullermdOr pull, or missing.  Doesn't much matter; it just needs to get as far as doing the SSH connection.23:09
davidstrausssproaty: And I doubt this is a problem with your core OpenSSH implementation. It's likely a problem with some GUI wrapper.23:10
sproatyit seems to have saved the password for a while.23:10
lifelesssproaty: next time it comes up, grab a screen shot23:11
sproatygotcha23:11
lifelesssproaty: then cut the dialog out of it and you can show it to us :)23:11
sproatyIt did seem different to ubuntu's root password prompt thingy23:11
davidstrausssproaty: as it should be23:12
sproaty:)23:13
sproatyI'm not sure what SSH client I have.23:13
lifelesstheres a keychain thing in gnome these days23:14
lifelessI don't like it :P23:14
sproatyI may have installed one the other day23:17
kfogelI'm writing blackbox tests for some new status output, and noticed that assertStatus() and assertEqual() helpers (used in bzrlib/tests/blackbox/test_status.py) assume that status lines will be printed in a certain order.  That is, even though bzr could often choose any order for path statuses to be printed, it seems as though the tests assume the order will always be the same.  Anyone know if that's on purpose, or just an accident of how bzr i23:21
kfogels written?23:21
lifelesssproaty: its there by default23:21
lifelesskfogel: assertEqual is deliberate23:22
lifelessI don't recall about assertStatus23:22
lifelessstatus doesn't do most things in arbitrary order though23:22
kfogellifeless: assertStatus() is just a wrapper around assertEqual23:22
lifelesskfogel: could you expand on what you are doin23:27
kfogellifeless: finishing issue #30639423:27
* kfogel waits for the bot23:27
kfogelokay23:28
kfogelbug #30639423:28
ubottuLaunchpad bug 306394 in bzr "bzr status should not ignore all other command line arguments when passed a non-existent file" [Undecided,Confirmed] https://launchpad.net/bugs/30639423:28
kfogellifeless: see Ian's mail, referred to from a comment at the end of that bug23:28
kfogellifeless: larger context: this is one of the bugs that was an annoyance for GNU Emacs; it's the least important of the bugs tagged with "emacs-adoption", but it's the one I can fix... and I hate to start something and not finish it :-).23:29
lifelessfair enough23:29
lifelessso why does emacs ask about unversioned files23:30
mlh_a bit OT but do any DVCs support having the repo on one disk and the checkout/tree on another?23:30
spivOh man.  This is like the mailing list thread all over again ;)23:30
lifelessmlh_: bzr does23:30
mlh_oh nice23:30
lifelessspiv: the risk of going on leave is that you miss things23:31
mlh_I thought'd have to hack it with ln -s /some/mirrored/disk/.bzr /some/fast/disk/.bzr23:31
spivlifeless: :)23:31
lifelessspiv: right now there is at least one patch I'm really unhappy with in bzr; I'm feeling motivated to prevent more23:31
kfogellifeless: I'm not sure.  I prefer the new, non-aborting behavior anyway, so if it makes some Emacs VC maintainers happy too, then great.23:32
spivlifeless: FWIW the thread started on Dec 23, and has "306394" in the subject, and was ~35 messages.23:33
lifelessspiv: so the import thing23:33
kfogellifeless: oh, were you referring to this patch above ("...motivated to prevent more")23:33
lifelesskfogel: indeed23:34
lifelesskfogel: not saying its wrong, saying I have motivation to examine23:34
lifelessthis is probably unhealthy23:34
kfogellifeless: sure, understood23:34
lifelesscause mesh gatekeeping doesn't scale23:34
spivlifeless: IIRC, Aaron was pretty skeptical about accomodating this behaviour (on the basis that emacs should just "bzr st" the whole tree?), but Martin thought it was reasonable.  Hopefully I'm not misrepresenting the thread too badly...23:35
lifelessI'm with Aaron23:35
kfogelhowever, it  might be better (for the future) if re-exams would happen before the implementor does the work... :-)  (I.e., we had a discussion about it, rough consensus seemed to be that more of us want it than don't want it)23:35
lifelesswhole tree status is much faster that status-per-file or status-per-dir23:35
kfogelspiv: I think Aaron's reasons had nothing to do with Emacs (as they shouldn't).23:35
kfogelI was arguing for the new behavior on the basis that it's better anyway, and I think those who agreed agreed on that basis.23:36
lifelessand in fact, status-per-dir is much faster than 'status-of-these-files-that-happen-to-be-all-in-the-same-dir'23:36
spivkfogel: s/emacs/programs invoking bzr/ :)23:36
kfogelAaron was arguing that it's worse, also independently of programs invoking bzr.23:36
lifelesskfogel: yes, and provisionally, I agree.23:36
kfogellifeless: can you expand?23:37
kfogel(you mean you agree with Aaron, right?)23:37
lifelesskfogel: yes.23:37
lifelesskfogel: listing a path is an explicit request from the user that it's status be obtained23:37
kfogellifeless: sure, we all agree on that23:38
lifelessyou can argue then, that 'absent and never versioned' is simply the status of a named-missing-and-never-versioned-path23:38
kfogellifeless: some people just think that "nonexistent" is a legit status, right23:38
lifelessbut you can also argue that its likely a typo23:38
kfogellifeless: in which case, instead of aborting the whole rest of their status, we can just print out the paths at the end with "nonexistent:" or "X"23:39
lifelesskfogel: we should still exit with error though23:39
lifelesskfogel: because status != 2 implies commit-is-safe23:39
lifelesskfogel: unpacking a little, 'status X not erroring implies commit X will not error either'23:40
kfogellifeless: hmmm.  Is that true/important?  Do people or programs really behave that way?23:40
lifelesswith the caveat on partial-commits-of-merges being a technical limitation we want to get rid of, not a ui goal23:40
kfogellifeless: *nod*23:41
lifelesswell, the more special cases, the harder the system is to learn, it becomes more modal and less inferrable23:41
lifelesscurrently there is a very strong mapping between what makes status error and what makes commit error23:41
spivlifeless: https://lists.ubuntu.com/archives/bazaar/2008q4/051045.html is Martin's thoughts in that thread on exit status, btw23:42
lifelessspiv: yes, precisely23:43
kfogellifeless, spiv: so you think error code 2 or 3?23:44
lifelesskfogel: 3 probably23:44
kfogellifeless: (when you said "status != 2" earlier, I assumed you meant "status != 0"...)23:44
kfogeloh23:44
kfogellifeless: nm23:44
lifeless0 is no-change, 1 is changes, 2 is unrepresentable changes, 3 is error23:44
kfogel0 is nothing changed, 1 is something changed, 2 warnings, 3 err23:44
kfogelright23:44
lifelessI'm fine with status doing additional work, but I do believe that status absent-unversioned file should be an error23:45
lifelessyou can render that however you like23:45
kfogellifeless: ret code 3 sounds reasonable to me23:45
lifelessbut, and I suspect that this is in the thread somewhere, it should still look like an error to the user23:46
lifelesskfogel: why do you say status outputs in arbitrary order/23:46
kfogellifeless: if we use the current (in my branch) output, plus ret code 3, then we have: "non-existent is represented as just another status, but still returns error to retain the mapping with 'bzr commit' "23:47
kfogellifeless: not arbitrary, just the same every time23:47
lifelesskfogel: you were expressing surprise or something23:47
kfogellifeless: sort of.  I was expressing surprise more that the test suite actually tests this behavior (for example, it could expect certain status lines in the output, but expect them in any old order... instead, it expects them in exactly a certain order).23:49
kfogellifeless: well, also surprise at the actual order23:50
kfogellifeless: for example:23:50
kfogelIf I do 'bzr status --short FILE_B FILE_C' and they're both modified, they'll get printed in that order.  But take off the --short, and they show up in the reverse order.23:51
lifelesskfogel: are those the exact file names?23:51
kfogellifeless: well, the answer to that is complicated.23:52
kfogelYes, in my tests (but my test has more changed than that).23:52
kfogelNo, in the manual test I ran just now using README and INSTALL in the bzr top level.23:52
kfogelso try this: make trivial changes to README and INSTALL.  Then do 'bzr status README INSTALL', then do 'bzr status --short README INSTALL'.23:52
lifelesskfogel: --short is a little odd there IMO23:54
lifelessbut I never use it so shrug :P23:54
lifelessnormal status is alpha output per dir23:55
kfogellifeless: I've run into a bunch of idiosyncracies like that.  I'm not sure the effort of detailing them all is important, but they surprised me.23:55
lifelesskfogel: well, you could alter --short to be alpha sorted rather than iterating the list it was given23:55
kfogellifeless: I could, but ... opportunity cost.  There are bigger fish to fry; even #306394 is a bit questionable in that regard, although it's so close that might as well just finish it.23:56
lifelesssure23:56
kfogelno one *really* cares about status output order, in real life :-)23:56
mlh_lifeless: what's that feature called - standalone trees?23:58

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