/srv/irclogs.ubuntu.com/2009/10/22/#bzr.txt

awilkinsHmm... when I view the output of building the "survival" docs locally all I get is a blue page00:02
awilkinsTitle headers are there but the content seems to be missing00:02
awilkinsSame for the other pages so I know it's not just me00:02
fullermdawilkins: Sorry, that means you don't get to survive   :(00:14
awilkinsBah, pushed it up anyway, the text is still PURE GOLD, I tell you.00:15
awilkinsOnly someone who hates VSS as much as I do could document how it differs from decent version control systems at all thoroughly.00:15
awilkinsBecause by definition, anyone who knows a lot about how VSS works, hates it.00:16
* mwhudson hasn't used VSS for 9 years, didn't use it much then and still hates it00:18
* fullermd never used VSS, and still hates it :p00:19
awilkinsI used to have to run the "analyze.exe" tool00:20
fullermdI figured the document would look something like "unlike VSS, bzr actually stores your history and can retrieve it later"00:20
awilkinsI tried to stay away from making it a "why Bazaar is just Soooooooo much better than VSS" document and stuck to "Why you may find Bazaar, or indeed, any decent VCS, a bit confusing after using VSS"00:21
awilkinsBut it's far from complete and I need sleep. But slashdot beckons00:21
awilkinsBah00:21
awilkinsIs Karmic going to have GNOME Shell?00:24
SamB_XP_awilkins: why do you care? rxvt-unicode, man!00:25
fullermdOh, is that what people use who don't have xterm?  :p00:25
awilkinsYeah, but it's nice to have a window manager to move your terminals around00:25
awilkinsYou can fit more on the screen with overlapping windows00:26
fullermdPfft.  Who wants to waste CPU cycles on frills?00:26
SamB_XP_awilkins: oh, wait, I'm confused with GNOME Terminal00:26
SamB_XP_I guess I may have been using Windows too much lately?00:26
SamB_XP_also, some people are liking Xmonad, though it's configuration file be written in a most arcane script ...00:26
awilkinsThis was prompted by the announcement that Fedora 12 has a preview of it in the distro00:27
dashgnome-shell is available in karmic00:27
dashit's slightly neat00:27
SamB_XP_who needs a desktop?00:27
dashSamB_XP_: who needs a computer?00:27
awilkinsWho needs a computer?00:27
* dash hgh fives awilkins 00:27
awilkins:-D00:27
fullermdHow else would I heat my house?00:28
SamB_XP_dash: well, the desktop is a lot less necessary than the WM00:28
SamB_XP_if you'd seen my homedir, you would understand ;-)00:28
awilkinsThey replaced my machine at work with one that only drives one monitor00:28
fullermdThat sounds like it should be a country song.00:28
awilkinsWhat the *hell* are they smoking in ICT00:29
awilkinsI'll just have to get one of those USB graphics adapters00:29
SamB_XP_huh, my school's ITS is really crappy and I don't think we *have* any computers that can only drive one monitor ...00:29
=== davidstrauss_ is now known as davidstrauss
awilkinsOr work at home a lot more... I neeeeeed my dual 22" widescreens00:29
awilkinsIt's painful enough being trapped in tiny resolutions like 1280x1024 at work...00:30
SamB_XP_... of course, none of them are really set up to take advantage of the second output, except some of the ones hooked up to projectors :-(00:30
awilkinsBlimey, gnome-shell is going all "Mac" in terms of menu00:33
=== BasicPRO is now known as BasicOSX
Peng_I'm being pushy here, but: could someone send my branch to PQM? :D https://code.edge.launchpad.net/~mnordhoff/bzr/statictuple-pickling01:16
fullermdLet's just agree too assume I've found the perfect time for the 'sounds like a real pickle' joke, and save me the trouble of coming up with it, and you the trouble of hearing it.01:18
spivPeng_: hmm, I don't see your name on the list people that have signed contributor agreements... would you mind doing so?  http://www.canonical.com/contributors01:22
Peng_spiv: Yeah, I never did, cuz I don't like copyright assignment. :P I liked being in the grey area of "hasn't written enough code for it to be copyrightable".01:28
Peng_spiv: Anyway, I'll do it now.01:28
Peng_Crap, it's a PDF?01:28
Peng_Google cache++01:28
spivOh, that's a problem?  I could have sworn this was 2009, not 1999 ;)01:29
fullermdNo way.  Then I'd have to stop partying like this.01:29
spivHaha01:29
Peng_spiv: Or...I'll do it soonish. My brain isn't up to deciphering legal documents rightn ow.01:33
Peng_spiv: Who do you want me to CC it to, you or poolie?01:33
spivPeng_: poolie01:34
Peng_spiv: 'kay01:50
Peng_spiv: Is it supposed to be GPG-signed?01:53
spivPeng_: I don't think it's required (whatever that link says is the rule), but it wouldn't hurt.01:54
spivPeng_: and I know if I was the sender it would make me feel better ;)01:55
jdubhrm, where do i install plugins such that loggerhead will run them on writes?02:29
lifelessthe bzr plugins dir02:34
lifelesshow are you running loggerhead?02:34
jdublifeless: the init script... runs as loggerhead user02:37
jdublifeless: so ~loggerhead/.bzr/plugins ?02:37
* jdub doesn't like the loggerhead package02:37
lifelessyou may also need to be sure you are running 'bzr serve --http', not 'serve-branches'02:37
lifelessthe former will load all plugins, the latter *may*, and I'd need to check to be sure.02:37
jdubs/bzr/bazaar/ <- oops ;)02:38
jdublifeless: hrm, then using loggerhead as a plugin?02:39
spivlifeless: serve-branches does load plugins02:40
lifelessspiv: good to know02:41
lifelessjdub: I hope to convince beuno to delete serve-branches soon02:42
lifelessonly need one 'serve' command.02:42
jdubspiv: so my expectation that it'd load them from ~/.bazaar/plugins of whatever user loggerhead is running as would be right?02:42
lifelessyes02:42
lifelessor the global python install dir02:42
lifelessand you can add paths via BZR_PLUGINS_PATH02:43
jdubwhihc makes the loggerhead package SPECIAL02:43
Peng_It does?02:43
jdubjdub@whitlam:~$ getent passwd loggerhead02:43
jdubloggerhead:x:109:117::/:/bin/false02:43
lifeless\o/02:43
lifelessjdub: put them in e.g. /var/lib/loggerhead/plugins02:43
lifelessand export BZR_PLUGINS_PATH=/var/lib/loggerhead/plugins02:43
jdubperhaps the best thing to do would be BZR_PLUGINS_PATH=/var/lib/loggerhead or whatever in the init script02:44
jdubha ha02:44
jdubwe are FHS TO THE MAX, man02:44
lifelesssubmit a package patch to do that ;)02:44
jdubyeah, but now i'm looking more closely at bzr serve02:44
jdubdoes --http only work when bzr finds loggerhead?02:45
lifelessyes02:45
lifelessloggerhead provides --http02:45
jdubright02:45
lifelesssvn should provide --svn, but I don't know if its glued in yet02:45
jdubwill other parameters be passed through automagically? ie --use-cdn02:46
spivIt would perhaps be nice to have something simple builtin for --http, but if loggerhead is easy enough to install then it's probably not a big deal.02:46
lifelessspiv: I'm very keen on not building in a non-loggerhead http02:46
lifelessspiv: I think discussions about doing that have been missing the point :)02:47
AfClifeless: that wold be nice02:47
Peng_jdub: No.02:47
lifelessAfC: --svn?02:47
Peng_jdub: That's basically the reason to still keep serve-branches around for now.02:47
AfClifeless: non loggerhead --http02:47
AfC[battery change02:47
lifelessAfC: why?02:47
jdubPeng_: particularly since the use of libjs-yui doesn't actually work ;-)02:48
jdubPeng_: ah, plus, no way to provide a prefix02:49
jdubjdub@whitlam:~$ bzr serve --http --allow-writes --port 8000 --directory /srv/whitlam.crikey.com.au/code/02:50
jdub...02:50
jdub  File "/usr/lib/python2.5/site-packages/bzrlib/registry.py", line 183, in get_prefix02:50
cszikszoyHi, I was wondering if someone could help me with a small bzr problem.  I merged 2 branches.  There was a conflict in 1 file.  I bzr rm'd the folder that contained that file, and now I can't commit (bzr says conflicts still exist).02:50
jdub    if fullname.startswith(key):02:50
jdubAttributeError: 'LocalTransport' object has no attribute 'startswith'02:50
lifelessjdub: please file a bug on that02:50
cszikszoybzr resolve gives an error saying: "bzr: ERROR: The file id "....." is not present in the tree <WorkingTree4 of ...."02:51
lifelesscszikszoy: bzr resolve --all02:51
jdublifeless: will do02:51
lifelesscszikszoy: and file a bug please02:51
jdublifeless: against?02:51
jdubbzr itself02:51
lifelessjdub: loggerhead, for now.02:51
jdubok02:52
cszikszoylifeless, great, thanks very much!02:52
spivlifeless: yeah, I'm certainly not keen on bringing yet another underpowered, buggy HTTP server into the world :)02:55
spivlifeless: I can see how it might be convenient from time to time... but I think I'd rather put effort into making loggerhead smoother.02:56
lifelesssame02:56
mlhhttp://code.google.com/p/magnum-py/ ?02:58
lifelessgod no02:58
jdub-1 point, terrible pun name02:59
mlhoh, liux specific :-(, not really embeddable02:59
mlh(I'll get my coat)02:59
lifelessfor starters, python 2.6 minimum03:00
lifelessand multiprocessing is *slow*03:00
lifeless(the module)03:00
mlhis it?  I was curious about that03:00
lifelesswe already have http servers in the code base too, for testing03:00
lifelessthere is a tolerable http server in the standard library03:00
jdublifeless: looked at unicorn?03:01
lifelessnope03:01
jdublifeless: http://unicorn.bogomips.org/ (ruby, but interesting to read)03:01
* mwhudson keeps meaning to investigate spawning seriously for loggerhead03:02
lifelessmwhudson: please don't, I've seen one have lots of fallout from spawning03:04
spivlifeless: btw, here's something a bit amusing03:05
jdubyeah, spawning sucks. looking at you, spiv.03:05
lifelessjdub: 'serve fast clients on low-latency, high-bandwidth connections'03:06
spivlifeless: we recently pointed out an error in the way our mortgage interest was being calculated by our bank (they weren't applying an offset account the way we had asked them to)03:06
lifelessjdub: e.g. 'unsuitable for use on the internet'03:06
jdublifeless: it also says that. :-)03:06
lifelessspiv: nice catch03:06
spivlifeless: the bank checked their records and agreed, so they had to fix the history of our account03:06
jdublifeless: unicorn is designed to sit behind nginx03:07
spivlifeless: it turns out they don't rebase ;)03:07
jdub(or something else, but they're close cousins)03:07
lifelessspiv: so you got a single adjustment ?03:07
spivlifeless: so the statement for the mortgage now has all the original interest and payment transactions, plus a bajillion new transactions, backdated, that undo those individually, and individually reapply the right amounts03:08
lifelessjdub: squid won't [without a rather ugly hack I don't think I landed in trunk] buffer full responses03:08
spivlifeless: on top of the existing history03:08
lifelessjdub: unless they are tiny03:08
spivlifeless: which certainly makes for a confusing read, but the original history is intact ;)03:08
lifelessspiv: nice03:08
lifelessspiv: they can't rebase, its the law :)03:08
spivRight.03:09
spivStill, it would be nice to have a view of the history "as it should be" as well as "how it ended up being recorded"03:09
spivBut they don't provide the tools for that.03:09
lifelesstrue03:10
spivjdub: spawning is certainly slow~!03:10
lifeless[=======     ]   download in progress03:11
lifelessthere is a maternity t-shirt with that on it03:11
spivlifeless: from thinkgeek, yeah :)03:11
jdubspiv: yeah, i think about starting, but "want! now!" impatience gets in the way03:11
lifelessit would rock if they sold three or four versions03:12
lifelessjdub: and thus, Po03:12
jdublifeless: or a little extendy piece of fabric03:12
jdubhmm.03:12
jdubprobably going to have shirt size problems.03:12
jdubseparate shirts == better.03:12
piemhowdy. i'm trying to "bzr svn-import https://pure-data.svn.sourceforge.net/svnroot/pure-data/trunk/pd", but it crashes bzr03:13
lifelessyes03:13
jdublifeless: adult size, puppy brain!03:13
jdubhe's 23kg now03:13
jdub6 when we got him03:13
lifelessjdub: nice03:13
spivpiem: with a memory error, or something else?03:13
lifelesspiem: details are needed, my telepathy is broken03:13
piemok, i'll reproduce again. got than on osx, now back on debian unstable, and got the same03:14
jdubhe's currently chasing horse flies in the loungeroom... chaos.03:14
piem$ dpkg -l bzr | tail -1 | awk '{print $3}'03:15
piem2.0.1-103:15
piem$ dpkg -l bzr-svn | tail -1 | awk '{print $3}'03:15
piem1.0.0-103:15
piemnow running the import, it will take a while...03:16
spivpiem: a pastebin of the error would be helpful03:16
piemspiv: yep, preparing that...03:17
Peng_jdub: Waitwaitwait, I just fixed that LocalTransport bug in the trunk a couple days ago.03:17
jdubPeng_: oh! loggerhead trunk?03:17
Peng_jdub: Yah.03:17
jdubPeng_: win! :-)03:17
spivjdub: also, loggerhead trunk has my fix from yesterday I think03:18
jdublooks like i'll have to start running loggerhead trunk ;)03:18
jdubyayayay03:18
spivjdub: (and bzr trunk now has the fix for the other issue I bumped into too)03:18
lifelessspiv: whats a test that will run only_raises03:18
Peng_spiv: Yes, it does.03:18
jdubnot quite so interested in running bzr trunk ;)03:18
piemhttp://pastebin.com/d4758296703:19
Peng_jdub: Why not?03:19
jdub(it appears this loggerhead adventure has been fruitful!)03:19
spivlifeless: test_decorators has unit tests for it03:19
jdubPeng_: happy to run 2.0 on production machine via ppa, but not quite so keen on bothering with trunk ;)03:19
Peng_jdub: Bazaar's trunk is just as reliable as the releases.03:19
lifelesspiem: either a sf operation issue, or a bzr-svn bug; start by filing a bug on bzr-svn please03:19
Peng_jdub: Plus, there's a nightly PPA, so you don't even have to build it yourself.03:19
spivlifeless: or if you mean indirectly, any test that invokes unlock on a Repository or Branch03:19
spivPeng_: mmm, our trunk is pretty damn good03:20
spivPeng_: but even so it's not *quite* as reliable as releases03:20
piemlifeless: https://bugs.launchpad.net/bzr-svn/+filebug ?03:20
Peng_spiv: The only major breakage I remember is all of the fallout back when packs were added, and that made it into the releases. :P03:21
spivpiem: yep03:21
Peng_spiv: But you're right. Still, it's pretty damn close.03:21
Peng_spiv: I sent the contributor agreement email, btw03:22
spivPeng_: there have been a few regressions in trunk from time to time that we've been careful to catch and fix before releases03:22
Peng_spiv: Hmm. The 2a fallout?03:22
spivPeng_: and occasionally stuff like hpss verbs in one revision of trunk incompatible with an earlier revision of trunk03:22
Peng_spiv: Oh, that's a good point. That did bite me once.03:23
Peng_The main problem with running bzr.dev is keeping all of your plugins compatible.03:23
Peng_piem: The "bzr init" is pointless.03:23
fullermdAll the majorest hiccups I remember ended up happening with releases too.03:23
piemPeng_: why?03:24
fullermdSo maybe it's safer to avoid them and stick with .dev   ;)03:24
spivYeah, plugins are really the main practical issue, much more so than our rare regressions.03:24
piemPeng_: import does init too/03:24
piem?03:24
jdubPeng_: i use bzr-svn quite a bit (working with wordpress stuff)03:24
piemjust submitted a bug03:24
piemhttps://bugs.launchpad.net/bzr-svn/+bug/45781303:24
ubottuLaunchpad bug 457813 in bzr-svn "bzr svn import crashes" [Undecided,New]03:24
Peng_piem: Well, first of all, teh command you were looking for was "bzr init-repo", not "bzr init". And yes, it does create its own repo.03:25
Peng_jdub: You only have to keep a copy of bzr.dev's bzrlib around for Loggerhead. You don't need to install it globally. Well, you'd have to hack get it into sys.path somehow, but...03:25
=== Sam__ is now known as SamB_XP
Peng_Just sayin'.03:25
jdubPeng_: wait, loggerhead trunk requires it?03:26
Peng_jdub: Err, no, not what I meant. I meant that if you wanted to run Loggerhead against bzr.dev, you don't need to install bzr.dev globally.03:27
Peng_jdub: Loggerhead trunk is supposed to be compatible back to...1.13, I think?03:27
Peng_jdub: I don't know if anyone tests it regularly, but...03:27
jdubright03:29
jdubyeah, if i don't need to run bzr.dev, i'm not going to bother :)03:29
piemPeng_: right. reproduced, the right way :-)03:30
spivpiem: exact same error?  Or does the SVN revision number change?03:30
piemand bug report updated03:30
piemspiv: exact same error it seems03:32
Peng_jdub: If you want .bzr/smart to work with shared repos, you'll need bzr.dev. Or to backport the patch.03:33
spivOr use the monkeypatch I gave him yesterday03:33
jdubyeah03:34
Peng_Or that!03:34
Peng_Heh.03:34
Peng_I don't want to add the monkeypatch to Loggerhead; there's not a good way to test if the version of bzr.dev being used has the bug or not.03:34
spivPeng_: version < 2.1.0b2 would be approximately right03:35
mwhudsonlifeless: one as in u1?03:35
mwhudsonin any case, good to know03:37
Peng_spiv: Eh.03:39
spivPeng_: I'm not for or against adding the monkeypatch to loggerhead anyhow03:39
spivPeng_: just saying :)03:39
Peng_spiv: :)03:39
Peng_I don't _want_ to add it, but I also want Loggerhead to seem less buggy. I'm going with the lazy choice for now. :P03:40
spiv+1 lazy03:40
spivpiem: not that it matters a lot, but I don't see your update to the bug report?03:42
Peng_Stupid question: does interning objects keep them around forever or can they still be GCed?03:45
mwhudsoninterning strings doesn't keep them around forever03:48
piemspiv: editing the first entry actually failed, resubmitted now03:50
Peng_ISTM _static_tuple_py's interning makes them immortal, though. It just does "adict.setdefault(self, self)"03:51
spivPeng_: hmm, perhaps that should be a weakref dict of some sort.03:52
Peng__static_tuple_c OTOH uses a SimpleSet, and does a decref and has a comment about making sure they're not immortal, so I guess it doesn't?03:53
mwhudsonstatic tuple's aren't weakrefable03:54
mwhudsonthough maybe the python version is03:54
spivmwhudson: the pure python one is a non __slot__ted subclass of tuple, so it probably is03:54
spiv(Hmm, adding __slots__ to that is probably a good idea though)03:54
mwhudsonspiv: i don't think it is actually03:54
mwhudsonbecause you can't weakref subclasses of variable sized types i think03:55
mwhudson(i tried to fix this once)03:55
spivmwhudson: apparently you're right03:55
spivThat seems like an odd restriction.03:55
mwhudsonspiv: it's because the location of the weakref list is stored as an offset into the structure03:56
mwhudsonin something like tuples you'd have to interpret a negative offset as an index from the end of the object03:56
spivAh, hmm.03:56
mwhudson(which is how dict is done)03:57
mwhudsoni can't remember why i didn't fix this, i guess i just ran out of steam03:57
spivAnother reason perhaps to make the pure python StaticTuple not inherit from tuple03:57
mwhudsonor make interning a noop03:58
spiv(the other is that you can't make tuple + StaticTuple give you a StaticTuple)03:58
spiv(which is an unfortunate difference in behaviour from the C version)03:58
spivI don't think it's hugely likely that we'll right code that accidentally depends on "foo = (prefix,) + a_static_tuple; foo = foo.intern()"04:00
Peng_There are probably other subtle differences, features that tuple doesn't implement but StaticTupleC does.04:00
spivs/right/write/04:00
lifelessmwhudson: yes, u104:00
spiv(I'm sure if wrote it we'd right it sooner or later ;)04:00
mwhudsonlifeless: ugh :(04:01
mwhudsonlifeless: oh well, i'm glad i can take advantage of their pain04:01
lifelessmwhudson: they may have gotten all the glitches out by now04:02
lifelessbut its got a tonne of too-much-magic in it04:03
lifelesssuch as watching sys.modules contents, which is a terrible idea (apt-get dist-upgrade FAIL)04:03
Peng_E.g., StaticTuplePy.from_sequence supports arbitrary iterables; C requires sequences.04:03
Peng_StaticTuplePy can be subclassed, C cannot . .04:03
Peng_The very basic issubclass(StaticTuple, tuple).04:04
lifelessAfC: why?04:33
AfClifeless: you talking about aspiration for a loggerhead-less embedded web server?04:34
lifelessyes04:34
lifelessI said 'we don't want it' and you piped up with 'it would be desirable'...04:35
lifelessso why is it desirable?04:35
AfClifeless: well (and this is just my subjective experience, but) LoggerHead has been unbearably slow.04:36
AfClifeless: It's user interface is ghetto.04:36
AfClifeless: It is almost impossible to find the revisions [and their detailed commit messages] that actually contributed changes as instead presents almost exclusively to the useless left hand edge merges.04:36
lifelessAfC: so, an embedded http server in bzr core would be likely be slower and even more primitive04:37
AfClifeless: and I am quite embarrassed that my code is presented by it on the branches that launchpad mirrors.04:37
AfClifeless: as may be04:37
lifelessAfC: these are 'things wrong with loggerhead' not 'why there should be an embedded http server in bzr core'04:37
lifelessAfC: For the former, I encourage bug filing!04:38
AfClifeless: I've been hacking on a kludgy workaround just using GNU source-highlight locally and then rsyncing up04:38
lifelessfor the latter, I'm still at a loss04:38
AfClifeless: but a straight forward [a la darcsweb, gitweb] branch navigator would have been lovely.04:38
lifelessI _loath_ gitweb04:38
lifelessits terrible04:38
AfClifeless: or whatever they're running on git.gnome.org — people can effortlessly refer to a branch + revision + file + line number combination.04:39
mwhudsona Transport should expect to get paths that are utf-8 plain strings and urlencoded, right?04:39
lifelessmwhudson: yes04:39
lifelessmwhudson: or rather no04:40
lifelessmwhudson: urls and relative urls04:40
mwhudsonlifeless: i mean a transport method like "rename"04:40
lifelessmwhudson: url encoding is not uf8; its a specific defined encoding itself.04:40
jfroyverterok: I got things building, I'll try to package tomorrow04:40
lifelessutf8 is outside the permitted codepoints for urls04:40
mwhudsonlifeless: yes, it's a succession of things: unicode --(utf-8)--> str --(urlencode)--> ascii-only str04:41
lifelessAfC: you can do that in loggerhead too04:41
lifelessmwhudson: urls don't imply unicode or utf8 at all04:41
lifelessmwhudson: std66 is sadly clear about it being useless this way.04:41
spivAfC: I honestly don't see any of that being harder with loggerhead than with what git.gnome.org is running04:41
mwhudsonlifeless: i'm not talking about urls, i'm talking about bzrlib.transport.Transport methods04:42
lifelessmwhudson: the generator of a url is responsible for getting it into url form, and noone else is permitted to try to decode it.04:42
lifelessmwhudson: so am I04:42
spivexcept *perhaps* the browsing for branches part04:42
lifelessmwhudson: they take relative url references04:42
AfCspiv: I couldn't say why, to be honest. I'm just giving you the result of my experience working with both that cgit is a) not slow and b) way easier to use.04:42
spivBut certainly once you're looking at a branch it's essentially the same, except it takes me one less click with loggerhead04:43
lifelessAfC: its fast, I'll give you that. Thats something loggerhead can improve at - it should be faster with 2a branches anyhow.04:43
lifelessAfC: can you describe /how/ cgit it easier to use?04:43
lifelessI know I find 'blob' links a bit of a mindfuck04:44
mwhudsonlifeless: the concrete problem i have is that "bzr push bzr+ssh://bazaar.launchpad.dev/~mark/+junk/bé" causes a server side exception04:44
mwhudson(that was a utf-8 string if irc's unhelpfulness on this topic defeated things)04:45
lifelessmwhudson: ok. So the client should be encoding that, and here is where std66 fucks us, we guess at utf8 for the native encoding of the far end04:45
mwhudsonlifeless: right04:45
lifelessso you'll have argv[2].decode(console_encoding).encode('utf8').urlencode()04:46
lifelessand then pushed over the wire04:46
lifelesswhats the server side exception? is there a bug?04:46
mwhudsonlifeless: the bug is https://bugs.edge.launchpad.net/launchpad-code/+bug/44952804:46
ubottuLaunchpad bug 449528 in launchpad-code "lp: resolution for non-ASCII name oopses" [High,Triaged]04:46
mwhudsonwell, ish04:46
spivAfC: hmm.  Well, if you figure out why it feels nicer to you at some point then please do file a bug or post about it.  From what I can see loggerhead's UI actually is simpler for this, but I realise UI issues can be pretty subtle.04:46
mwhudsonthe exception in that report is in the lp-resolution04:46
lifelessmwhudson: is there a stock test double for launchpad, for using in code that wants to talk to launchpad04:47
mwhudsonlifeless: no04:47
mwhudsonit would be hard to make a generically useful test double that was much less complicated than launchpad i think...04:47
lifelessa fixed definition of apis would allow that to be programmtically generated04:48
mwhudsonlifeless: the exception is actually in the implementation of the xml-rpc method that we call to interpret paths04:49
AfCspiv: I don't know. I've just spent the last 5 minutes trying to find loggerhead of bzr on launchpad. I really don't have any more time, so I'm sure you'll dismiss this feedback as whinging. Pity I can't be more specific. At least my objection to Bazaar Explorer is simpler to articulate.04:49
lifelessmwhudson: it would help to have a backtrace in the bug04:49
mwhudsonlifeless: basically, i think there's a lack of understanding of unicode paths all through the code, so i want to figure things out starting at the beginning04:49
spivAfC: http://bazaar.launchpad.net/~bzr-pqm/bzr/bzr.dev/04:49
lifelessmwhudson: we try for crunchy shell there04:50
AfCspiv: [thanks; that wasn't anywhere obvious on the bling new website]04:50
spivAfC: now, if your problem is with Launchpad's UI for browsing branches rather than loggerheads, that makes more sense to me :)04:50
AfCspiv: aren't they the same?04:51
lifelessAfC: bzr lp-open lp:bzr, and click on 'view the branch content'04:51
mwhudsonlifeless: i'm implementing a transport, i'm part of the shell, surely?04:51
lifelessAfC: god no.04:51
spivAfC: I mean, for browsing through the set of branches that are available04:51
lifelessmwhudson: gimme a backtrace, I'll try to help :)04:51
AfCreally? Well, launchpad is what everyone I talk to thinks loggerhead is04:51
AfCs/launchpad/launchpad's pathetic attempt at branch, revision, and code browsing/04:52
lifelessAfC: the url spiv gave you is loggerhead04:52
mwhudsonlifeless: you've already answered my question enough i think04:52
spivAfC: as opposed to what loggerhead provides to Launchpad, which I just gave you a link to04:52
spivAfC: (And is where the "browse the source code" link on https://code.launchpad.net/bzr will take you)04:52
lifelessmwhudson: ok, well I'm happy to look more closely if you like.04:52
lifelessit would be a pleasant distraction from deciding how untested I can bear this ppa watcher to be04:52
mwhudsonlifeless: thanks, i'll come back if i have more questions04:53
Peng_Crap, I just let a traceback get word-wrapped by my email client. :( Should I resend a fixed version, or do you guys usually just suffer through mangled tracebacks?04:53
spivAfC: so if the difficulty you have is with finding a branch in the first place, that's purely Launchpad.04:53
AfCSo here I am, trying to find the revisions that led to revno 4753. Click on the expander, and all I get is more details about some guy named "Canonical.com Patch Queue Manager" who write some code04:53
spivPeng_: they are generally decipherable anyway04:53
mwhudsonoooh04:54
mwhudsonbleeping xmlrpclib strikes again04:54
mwhudsoni expect04:55
spivAfC: ah, fair enough.  The link "(4752.2.1 integration)" with the crossed arrows icon takes you to the other parent revision04:55
AfCFour pages later I finally find my way to a page that has a link that turns out to be http://bazaar.launchpad.net/~bzr-pqm/bzr/bzr.dev/revision/4752.1.1 that finally has the commit message that Vincent wrote.04:55
spivAfC: but I think a way to see all the revisions that were merged into mainline at that point is lacking04:56
emmajaneabentley, I see you're away and stuff... but I'll be in Toronto this weekend for OLF. We're going out for dinner on Friday if you're interested.04:56
AfCin little itty bitty type04:56
* spiv takes some notes04:56
emmajane(Everyone else is invited too... if you can make it up to Canada)04:56
AfCspiv: yeah, you know, like, say, `bzr viz`04:56
mwhudsonaaaaaaaaaaa04:56
* spiv nods04:57
AfCoh, that's brilliant... from that page, click on "view branch changes" which is http://bazaar.launchpad.net/~bzr-pqm/bzr/bzr.dev/changes/4752.1.1?start_revid=4752.1.1 and then get another useless left hand edge history. Squint hard, and we'll see our revision at the top.04:59
* emmajane chuckles.04:59
AfCspiv: so... here I am, having spent about 4 times longer on evaluating this than most people, [and lord knows I'm predisposed to at least try and figure it out] only to be frustrated, puzzled, and then ultimately profoundly depressed.04:59
AfCspiv: maybe this makes perfect sense to someone who understands the Zen Of LoggerHead05:00
spivAfC: Thanks, this is useful feedback.05:00
spivSo, I think Loggerhead currently does a very good job with the left-hand history.05:01
AfCspiv: but I've got to admit as someone who has a reasonably sophisticated (if outsider) knowledge of Bazaar and it's culture [and more to the point, basis] that I have absolutely no idea what that tool is presenting, other than knowing that it's05:01
AfCnot giving me anything I can readily show to a new developer saying "yeah, here! that's the code"05:01
spivAnd a pretty weak job with the rest.05:01
AfC[and yes, I've tried this extensively on [mirrors of] my branches]05:01
jdubspiv: you would have received more points if you started that with, "so, on the one hand..."05:02
AfCspiv: which, actually, is my primary interest: people toddle along to one of my projects, ask a question,05:02
AfCspiv: and I want to show them a {file snippet | branch that is working on that feature} in as seemless and impressive a way as possible.05:02
AfCspiv: in order to suck them in, have them think that Bazaar is smoking hot & sexy cool05:03
AfCspiv: while being blown away and in need of CPR to get over how impressed they are at my code :)05:03
spivSo I think loggerhead does a pretty good job of that.  Wanting to interrogate the non-lefthand history isn't usually something I'd want to do with a project I'm new to.05:03
spivIt would be good to make it easy to do so, of course.05:04
AfCspiv: in the projects I'm working on, the left hand edge is almost meaningless. It's the people who contributed the actual work in the [non merge] revisions & their commit messages that I'm interested in. That's where the credit needs to be focused.05:04
AfCspiv: and that's what the left hand edge bias comprehensively works against.05:04
AfC[as I write about frequently]05:05
spivSure.  There are multiple use cases here.05:05
AfCspiv: (and, just to close the topic, annotate does NOT show left hand edges. It shows the revisions that change things. Merges are transparent there, as they should be)05:05
spivAnd some of them aren't being well catered for.  I just wanted to point out that some are, and I think actually fixing the presentation non-lefthand history is not fundamentally that hard.05:06
spiv...and, to bring the conversation back to the start: I'd rather fix this in loggerhead than try to do it from scratch in some sort of minimal serve --http :)05:06
mwhudsonspiv: do you have any good tips for running pdb inside a smart server process?05:07
spivmwhudson: "import pdb; pdb.set_trace()" works well in a TCP server05:07
spivOther than that, not really.05:07
AfCspiv: not sure; as I've just alluded to, those of you who work to the patch queue manager and have it committing your left hand edge seem awfully happy with that workflow,05:08
mwhudsonhm, i can probably get a TCP server to work05:08
AfCspiv: but certainly no one else I know is using that model, and thus the culture expressed by the bzr tool (and its left hand edge loving ecosystem) doesn't seem to be that well suited to "their" needs. [using that sloppily, of course]...05:08
AfCspiv: and since I have a somewhat vested interest in Bazaar looking appealing to [new contributors] people, this is a very exposed issue for me.05:08
AfCspiv: back to start... fair enough05:08
spivAfC: well, I think for heavy lifting you really want something richer than a web UI (which is not an argument for neglecting the web UI)05:09
AfCspiv: perhaps, but at this point anyone coming from another system has glorious [pun intended] web experiences, and we look lame & cumbersome in comparison.05:10
spivAfC: but "when did this line of this file change", and "show me what's been happening lately" the sorts of things a casual users tend to want and loggerhead already caters for quite well.05:10
mwhudsonhuh, pushing to bzr://localhost/<non ascii path> says "bzr: ERROR: Unsupported protocol for url "bzr://localhost/~mark/+junk/bé""05:10
spivmwhudson: weird05:11
spivAfC: I'll file some bugs with this feedback, it's good to have some concrete "user tried to do X, got lost" stories.05:12
mwhudsonoh hang onnnnnnnnnnn05:13
spivAfC: oh, and I'll note we keep getting git users in this channel wanting to rebase because they don't want to deal with non-linear history in any VCS ;)05:14
mwhudsonthe unicode characters in my test case are getting past the checks in get_transport because of the directory service?05:14
mwhudsonwell sort of05:14
spivmwhudson: whee?05:14
* spiv -> late lunch05:14
mwhudsonthe directory service is accidentally quoting them05:14
lifeless'accidentally' ?05:15
mwhudsonwell maybe not that05:16
mwhudsonbut it is05:16
AfCspiv: yeah, well, there is that :)05:16
AfCspiv: I have a suspicion that if we did a concerted push on making the workflow [that I don't have a cunning handle for, but that John blogged about at http://jam-bazaar.blogspot.com/2009/10/refactoring-work-for-review-and-keep.html ]05:17
AfCspiv: be *ultra* smooth and sexy05:17
mwhudsonlifeless: basically you can say bzr push lp:<unicode> and it will go off and talk to the server05:17
AfCspiv: [ie, the use of revert there, and the need to not unrevert a second time]05:17
mwhudsonlifeless: but the client will barf on bzr push sftp://<unicode>05:17
mwhudson(actually you can't say the former, the directory service will oops)05:18
AfC[when "revert" as in blow away is NOT what you're actually doing overall, even if in that branch at that instantaneous moment it is indeed the operation you are performing]05:18
AfCspiv: cross product05:18
AfCspiv: somehow making the `bzr diff -r submit:` UI a bit more first class05:18
AfCwould suddenly make the outward goal that people are trying to achieve ["here's my patch, here are the revisions (sic) that led to it" be über clean]05:19
AfCand suddenly merge vs rebase would go away entirely (with bzr winning, because the workflow would be easy, and the history would be preserved... TRANSPARENTLY05:19
AfCanyway, that's what I'm ultimately after. There's no doubt in my mind that Bazaar's infrastructure is a better foundation, but equally the ... effect ... that people are presently rebasing to achieve isn't going to go away.05:21
AfCIt is, indeed, [IMHO] the primary open source workflow, and we don't support it very well.05:21
AfC... which was the point that Havoc & Martin made all those years ago when contemplating what a next gen distributed version control system ought to be if it was going to be of value to open source communities.05:22
Peng_Ohh! I left out my name in the contributor agreement email. Oops.05:27
mwhudsonlifeless: fwiw, i think i found the (or a, at least) problem in codehosting: in say def get(relpath) going self.base + relpath isn't valid05:35
mwhudsonbecause the escaping is different on the two sides05:35
lifelessmwhudson: thats correct05:37
lifelessmwhudson: don't you wish we used haskell/erlang/ocaml?05:37
mwhudsonlifeless: heck, python3k would be a lot better for this05:37
lifelessmwhudson: I don't think it would catch this as they are both going to be bytestrings05:38
lifelessunless relpath is unicode, in which case your caller is broken05:38
mwhudsonlifeless: although launchpad implemented in haskell would be an interesting idea05:38
mwhudsonlifeless: yeah, true in this case, but it would be better for other things05:38
jelmermoin06:00
lifelesshi jelmer06:01
jdublifeless: writing post commit stuff is kinda hard for a sysadmin not familiar with the bazaar codebase06:03
lifelessjdub: I'd like to have a library of common needs06:04
lifelessjdub: the svn stuff is also strange06:04
jdublifeless: ever thought of a runparts adapter?06:04
lifelessjdub: mmmm, not having stuff on disk ...06:04
jdublifeless: hmm?06:05
lifelessI may be confused06:05
jdublifeless: i was just thinking of a bazaar plugin which let you throw shell scripts into runparts style directories06:07
jduband passed useful parameters06:08
lifelessjdub: see jelmers shell hooks plugin06:08
* jdub currently trying to figure out params, as passed to post_change_branch_tip06:08
jdublifeless: ooer, wher eis this?06:08
lifelessjdub: somewhere around06:08
lifelessanyhow, write the hook, and import pdb;pdb.set_trace() as teh first line of it06:09
lifelessyou can explore very effectively06:09
lifelesswhat do you want your hook to check06:09
jdubfirst thing appears to be "is this the branch i should be running this hook on?"06:09
jdubahr: http://people.samba.org/bzr/jelmer/bzr-shell-hooks/trunk06:10
lifelessright, you can use the branch.get_config() to read a config key06:10
lifelessjohnf has done some stuff for finding the public url too, for similar reasons06:10
abentleyemmajane: I'm rock-climbing on Friday after work, but maybe I can meet up later?06:11
emmajaneoooooo06:11
emmajanejealous06:11
emmajaneI havne't been climbing in ages.06:11
spivjdub: http://doc.bazaar-vcs.org/latest/en/user-reference/index.html#post-change-branch-tip http://starship.python.net/crew/mwh/bzrlibapi/bzrlib.branch.ChangeBranchTipParams.html06:11
emmajaneabentley, we'll be up at the end of the world for the pre-party. it'd be great if you could make it.06:11
jdubspiv: aha, it's that second url i have been looking for -- thanks!06:12
jdubhrm, suspect i can't really use the shell hooks stuff... not sure i want something in .bzr/branch/branch.conf -> i only want server-side hooks06:13
lifelessjdub: that should be referenced (as ChangeBranchTipParams) from the hook docs06:13
lifelessand pydoc bzrlib.branch.ChangeBranchTipParams06:13
lifelesswill work06:13
abentleyemmajane: Sure, can you mail me details? aaron@aaronbentley.com06:13
emmajaneabentley, sure.06:13
lifelessjdub: .bzr/branch/branch.conf is fine for configuring a plugin that is only installed on the server :)06:13
lifelessjdub: as for the shell hooks - yes, security and containment are big reasons we didn't include them in core06:14
jdublifeless: but if someone has the plugin on their client, won't it attempt to run the shell script?06:14
lifeless"jdub: as for the shell hooks - yes, security and containment are big reasons we didn't include them in core"06:14
lifeless:P06:14
jdubheh06:15
jdublifeless: pdb during commit = win ;)06:16
jdubwell06:16
jdubpost commit ;)06:16
lifelessjames_w: please upgrade bzr-builder to 2a06:18
bialixhi bzr universe06:45
jdubcan't quite seem to get loggerhead to run a commit hook plugin07:01
jdubi've got a py file in /var/lib/loggerhead/plugins07:01
jdubset the BZR_PLUGIN_PATH env var in the init script (both exported and ahead of the daemon just in case)07:01
jdubBZR_PLUGIN_PATH=/var/lib/loggerhead/plugins bzr plugins07:02
jdublists the plugin07:02
jdubit's world readable07:02
jdubi've set up a non-interactive way to see if it runs07:03
jdub(touch /tmp/touchable ;)07:03
spivjdub: your plugin touches when loaded, or when the hook is run?07:03
jdubspiv: oh, within the hook07:04
jdubspiv: good point, check if it's loaded at all07:04
spivYeah07:04
jdubaha07:07
spivIt might be nice if loggerhead had an option to turn on a magic diagnostic URL, e.g. /plugins to list plugins.07:07
jdubloaded and running07:07
jdubmaybe one of my checks is bad...07:07
jdub(also, must remember to restart loggerhead on plugin changes)07:07
vilahi all07:17
vilaspiv: revno 4762 put babune in the red, 16 errors about TypeError: __init__() takes exactly 5 arguments (4 given)07:18
bialixhi vila07:18
vilahi bialix !07:18
bialix:-)07:18
bialixbabune -- what is funny name. what it means? a monkey?07:19
vilaspiv: certainly trivial, but I'm worried that PQM let it pass...07:19
vilaspiv: http://paste.ubuntu.com/298840/07:21
vilaspiv: I need to apply updates all  over the place so babune (and  I :) may well be unreachable in the coming hour, see the paste above for the various call sites07:21
jdubspiv: *lightbulb* ... plugins run in bzr serve's handy chroot07:22
lifelessjdub: :)07:23
jdubspiv: well, no, more that branch locations have special chroot names07:23
jdub(params.branch.base)07:23
lifelessthis is why I mentioned johnf's work07:24
igchi vila, bialix07:24
bialixhi igc07:24
* igc back online after a day nursing my 6 year old07:25
mneptokigc: you've started lactating?!07:30
igcmneptok: no, that's well beyond my talents!07:31
mneptokigc: damn. it's always been a secret desire of mine, and i was going to ask about your current pharmaceutical regimen.07:31
igcmneptok: :-)07:32
lifelessmneptok: I hear simple stimulation can be enough07:43
* spiv puzzles over the test failures that PQM didn't catch07:47
spivlifeless: Oh!!07:47
spivlifeless: selftest --subunit gives exit code 0 even when a test fails.07:48
* spiv fixes the immediate failures first.07:48
=== mthaddon` is now known as mthaddon
mneptoklifeless: if you're going to be at UDS, i'll take you up on that offer08:05
* vila back after rebootS08:07
vilaspiv: ping08:08
spivvila: so08:09
spivvila: 1) fix for the test failures is with PQM08:09
spivvila: 2) selftest --subunit has exit code of 0 even when test fail08:10
vilaargh, I ws so afraid about 2) :-(08:10
vilaspiv: is that related to the progress reportting ?08:10
spivvila: well, in bzr.dev make check uses --subunit now08:11
spivTo give the progress reporting08:11
spivBut it looks like subunit's TestProtocolClient has a bug in wasSuccessful08:11
spivIn certainly doesn't have a unit test for it...08:11
vilaspiv: ok, thanks for checking that so quickly08:11
spivvila: this explains both recent cases of buildbot breakage I think08:12
vilaI was about to say that :)08:12
vilaIt certainly sounds like jam's breakage that we attributed to some extension building related problem wasn't related to extensions :)08:12
vilaIt's a good thing I don't use 'make check' in babune (as I considered at one point, but I think lifeless disagree :)08:13
viladisagreed08:13
lifelessspiv: subunit command gives non-0 though08:14
lifelessspiv: oh, you've found the bug?08:14
spivlifeless: yes08:14
lifelesscool08:15
spivlifeless: here's a failing unit test for you http://pastebin.com/m72a5a3bf08:15
spivlifeless: feel like writing the fix? :)08:16
spivlifeless: (I need to go to the shops and grab some dinner stuff)08:16
lifelessspiv: not tnoight; can you file a bug with that?08:16
spivlifeless: sure08:17
spivlifeless: https://bugs.edge.launchpad.net/bzr/+bug/45795208:23
ubottuLaunchpad bug 457952 in bzr "TestProtocolClient.wasSuccessful is always True" [Critical,Confirmed]08:23
spivPfft, I filed that on subunit originally, but somehow the bzr task seems to have taken precedence.08:23
spivAnyway, food.08:24
Peng_Crapcrapcrap, jailbreak errors.08:29
Peng_Ah, I accidentally reverted the fix.08:31
lifelessspiv: thats not the bug08:36
garyvdmHi bialix08:46
garyvdmI don't often get annoyed, but I'm realy piss now... </vent>08:47
bialixHi Gary08:48
bialixgaryvdm: I don't understand08:48
bialixam I say something wrong (again)?08:48
garyvdmNo not you08:49
=== weigon_ is now known as jan
garyvdmCraig08:49
vilagaryvdm: me ? I said nothing ! Maybe I should have ? :-D08:49
=== jan is now known as Guest67699
garyvdmlol08:50
* vila is always happy when he can make an angry people laughs :)08:50
bialixgaryvdm: that custom rendering was always issue for me08:51
bialixgaryvdm: take easy, Craig is not python developer as I know08:52
garyvdmbialix: Me to. The qt api is not very good, it that it does not allow you to reuses the bits that you need.08:52
bialixheh08:53
=== Guest67699 is now known as weigon
Peng_jam: ping09:00
vilaPeng_: Don't wake up the beast yet...09:00
vilaPeng: it's 3:00AM in Chicago...09:01
Peng_vila: A real beast never sleeps anyway!09:01
vilaPeng: oh, you're talking about fullermd now...09:01
Peng_jam: There's a little oddness in StaticTuple_New: if (size < 0), it throws a TypeError with PyErr_BadInternalCall(). Then it has a check, if (size < 0 || size > 255), it throws a ValueError.09:02
Peng_I should probably file a bug or something instead of IRC-poking.09:03
vilaPeng: exactly, throw a mail to the ML or better, file a bug09:03
Peng_vila: Then I have to think of a title and stuff. I hate that. :P09:04
Peng_(Will do.)09:05
vilaPeng: title == 'little oddness in StaticTuple_New'09:05
Peng_vila: I hate undescriptive bug tiles like that, or "bzr crash" or whatever.09:07
spivlifeless: oh?09:07
spivlifeless: hmm09:08
spivlifeless: so, in that case, I still think you want a test for the behaviour of wasSuccessful :)09:08
vilaPeng: that one should be short-lived so it doesn't matter that much, what you want is catch jam attention, if you don't want to file a bug, send a mail :)09:08
Peng_vila & jam: Well, I filed https://bugs.edge.launchpad.net/bzr/+bug/457979 about it.09:12
ubottuError: Could not parse data returned by Launchpad: The read operation timed out (https://launchpad.net/bugs/457979)09:12
Peng_C'mon, ubottu, you can do it! ...Darn.09:12
vilaPeng: hmm, looks like today will be a good day for you :)09:13
Peng_I just edited the bug description right after filing it. I *always* do that.09:14
igcvila: do you have time today to look at the review queue? There's a few small changes there from community folk that I'd like to get a second reviewer on09:35
vilaigc: not really, but I'm tweaking the terminal_width one right now09:35
vilaigc: also I'd really like if we can do *something* about the dwim revspec one to get it moving forward09:36
vilalifeless: would you be really sad if we land it as is ? I agree we want *something* to be done for svn:, git:, thread:, etc, but we don't have that today so I think it's  not a valid reason to block the landing... thoughts ?09:42
vilaspiv: babune starting its comeback in green (jaunty almost there, I'll start the others now), thanks09:44
igcvila: ok. Thanks for working on the terminal width one. I think we need to help pilot a few of these patches through rather than let them sit there in semi-limbo for weeks/months09:50
vilaigc: you're preaching the choir :)09:50
igcvila: ? as in you agree?09:51
vilaigc: as in: I fully agree for years :-D09:51
vilaigc: as in: I'm a dog more than a owl (at least that's what everybody is telling me :) bark bark09:52
igcvila: I've been flat out on 2.0-related stuff like packaging and docs for a few months now but ...09:53
igcvila: I'd *love* to get back to the BundleBuggy days of just a few patches in the queue - not 2009:53
vilaigc: sure, I think we have more submissions right now though...09:54
igcvila: we probably do. It will only increase though if we're successful :-)09:55
vilaigc: hehe, I think the actual increase *is* already a sign of success :)09:55
igcvila: and I want the community folk to enjoy the experience of submitting patches (again) rather than being frustrated as some have been lately09:56
igcvila: anyhow, enough philosophy. Here are the simple patches I'm looking for a reviewer on ...09:57
igchttps://code.edge.launchpad.net/~mathepic/bzr/mkdir-recursive/+merge/1338009:57
igchttps://code.edge.launchpad.net/~mathepic/bzr/remove-tree-multi/+merge/1345109:57
igcplus the terminal one09:58
lifelessvila: I think that landing the proposed patch makes things less clear/obvious for someone wanting to work inthat area09:59
lifelessvila: that fails the 'dont make things worse' tenant09:59
lifelessbah, spelling.09:59
lifelessvila: I'm not -1 on it, but I'm certainly not for it.10:00
vilalifeless: worse ? It *adds* new semantics for unqualified rev specs. It *doesn't* provides an easy way to add *more* dwim semantics, but there wasn't any before that. What is worse ?10:03
vilalifeless: I'm really trying to understand here, I've looked at addressing [y]our concerns but didn't find a trivial way in less than an hour, hence my desire to land as is10:05
spivI'm inclined to agree with vila.  I haven't looked at the patch closely, but I don't see that adding that extensibility later is going to be hard enough that it justifies landing the incremental improvement.  It doesn't feel like a step backwards to me.10:07
spivEr,10:07
spivThat is justifies *not* landing.10:07
spivmemo to self: long run on sentences with double negatives on irc are a bad idea :)10:08
* igc dinner10:12
Kamping_Kaisersuppose I bugger up a commit without noticing and want to fix it. is the best thing to branch at that point, fix and merge?10:15
=== loxs_wrk is now known as loxs
Kamping_KaiserI have commited since the change in question10:15
Peng_Kamping_Kaiser: Daggy Fixes are really cool (IMO), but not necessary. You can just "bzr commit" a fix.10:16
Peng_Kamping_Kaiser: Daggy Fixes are useful if you want to do something like merge it into a release branch, though.10:16
Kamping_KaiserPeng_: ok, thanks.10:17
=== davidstrauss_ is now known as davidstrauss
lifelessspiv: vila: it adds a long case statement which needs to be teased apart and put back into the existing registry11:33
vilalifeless: right, looking at the code, I think we don't want to inherit from RevisionSpec but put the code back into a static method, and from there, right (apart from rewriting the tests), there should be a way to come back to a registry but I'm not sure we want to reuse the existing one or create a new one11:38
vilabut that isn't indeed trivial11:39
vilapff, not even ! the dwim revspec is used to delay the _match_on call so that the actual revspec can be created lazily from the dwim_revspec created in from_string :-/11:41
=== deryck is now known as deryck[afk]
vilahmm, jam just walked on his laptop that he mistakenly left near his bed...11:54
=== mrevell is now known as mrevell-lunch
RenatoSilvaIs there a way to unmerge an ancient merge?12:59
=== mrevell-lunch is now known as mrevell
=== vila is now known as vila-afk
garyvdmAny opions on Bug 444862?13:42
ubottuLaunchpad bug 444862 in qbzr ""bzr qlog" displays revision when searching in revids, but not when searching in messages" [Undecided,New] https://launchpad.net/bugs/44486213:42
=== weigon_ is now known as weigon
=== vila-afk is now known as vila
vilagaryvdm: you mean apart from the fact that 52 clicks is too much ? :)14:15
vilagaryvdm: oh wait, you ask that question before guilhem replied tight ?14:16
guilhembivila: garyvdm:14:16
guilhembihello, yes I just replied, and it has to do with 52 clicks indeed (more details in my reply).14:17
guilhembiand I attached a screenshot to clarify more.14:17
garyvdmguilhembi: Ok - so you want it to expand to the found revision.14:20
garyvdm*revisions14:20
guilhembigaryvdm: yes, 52 clicks is tedious. On the other hand, there is not one found revision, all found revisions are interesting,14:21
guilhembiso I guess it could expand to all found revisions. On the yet other hand, if the search found 10000 revisions,14:21
guilhembithis expanding will kill qlog I guess.14:21
guilhembiWhich is why I thought - don't expand, but offer an "expand all" button (if user sees 1000 unexpanded revisions he may not click on the button). Just an idea.14:22
garyvdmYes - if you start typing 'apple' and you just get to 'a'  - it will show lots.14:22
garyvdmhmm - intresting problem14:23
=== deryck[afk] is now known as deryck
igcnight15:09
=== MTecknology is now known as MTeck-ricer
jamnight igc16:04
jammorning vila, did you see my response to your 'isatty' change16:04
jamI think you 'broke' the original intent with your update16:04
vilajam: not yet, :-/16:05
vilajam: morning16:05
jambasically, you now set the terminal width based on whether there is an 'isatty' attribute16:06
jamrather than whether isatty() returns True/False16:06
jamand doing "bzr log | less" has an object with 'isatty' but it returns False16:06
vilaoh, I see, you mean I should *add* 'and not sys.stdout.isatty()' ?16:08
vilarhaaaa 'or not sys.stdout.isatty()'16:09
vilajam: ^16:10
vilajam: ok, found your mail finally, I agree (as said above...) and will fix16:18
vilajam: did you read the IRC logs, especially the part about PQM not failing on errors ? (for bzr.dev, not 2.0.x)16:22
=== GaryvdM_ is now known as GaryvdM
=== beuno is now known as beuno-lunch
jamvila: I did not see the irc logs, I did see Andrew's post about it.16:38
vilajam: good, I didn;t see your comment on the bug until now16:42
jamPeng_: btw, I replied to the bug and the merge proposal16:43
jamwow GaryvdM is going banaza on the bugtracker...16:45
fullermdvila: I warned you that registrifying the DWIM wasn't trivial   :p16:58
vilafullermd: I have a working patch except it fails one test that seems so unrelated I'm a bit puzzled...16:59
fullermd's either a lot of grumpy hand-fitting so it works with The Way Things Are, or a lot of grumpy work changing The Way Things Are...16:59
vilafullermd: not that much, let me push that so you can see16:59
fullermdOh, my eyes won't help you.  I hit my capability limit just writing it as-is.17:00
vilafullermd: pff :)17:00
fullermdAnd I'm in crunch, so I won't have time to do more than glance at much for weeks...17:00
fullermdAnd actually, if the concensus is toward stopping on non-revno revno-looking things, that adds more magic in registrification, unless that check is left out of the reg, and...17:04
maxbigc: Hi! What's your initial reaction to the idea of having bzr-fastimport store git refs as bzr branch nicks?17:04
vilafullermd: look at lp:~bzr/bzr/revspec-dwim if/when you can17:04
vilafullermd: that's not as bad as many tought17:04
fullermdvila: What's with the pulling of wants_revision_history in 4586?17:06
vilafullermd: nobody uses that since we create new revspecs objects17:06
fullermdAre you sure?  I needed it so that it didn't try to build the history when it looked into revnos, but DID for other stuff.17:07
vilafullermd: no I'm not sure :)17:07
larsemili have created a project for wich i am the maintainer on launchpad. but i dont understand how to upload my code there?17:08
fullermd(and without at least setting it False, it ended up building the history just for revnos, which is a big regression)17:08
vilafullermd: you rock !17:09
vilasetting to false is enough17:09
vilaIndeed, I deleted that after running only -s bt.test_revisio, but the failing one was not there...17:09
vilaI need to EOD just now, but I'll update the submission probably later tonight ~21h00 my time (it's 18h10)17:10
fullermdI recall that I needed to reset it for later because something failed if I didn't, but that may be faulty memory.17:11
jamlarsemil: you may want to create a group for the project17:19
jamotherwise just "bzr push lp:~USERNAME/PROJECT/trunk" or some similar branch name.17:19
jamyou can then edit your project settings to declare that location as the 'development focus'17:19
jamso that people doing "bzr branch lp:PROJECT" will get the code from that branch.17:20
jamPeng_: if you could help me understand the issue with 'merge' it would be appreciated17:21
jamtesting it locally doesn't seem to trigger the problem17:21
larsemilso now the project came under USERNAME/PROJECT so noone else will be able to commit to it+17:22
jamlarsemil: so anyone can push their own branch to "~myuser/project/branch-name", however yes, if you don't create a group for the project17:23
jamonly you will be able to push to the trunk branch17:23
jamnote that you can create a group later17:23
jamand move the development focus to that branch later, etc.17:23
larsemiljam: i did a push but still it says no revision?17:24
larsemiljam: and with group you mean team=17:24
larsemil?17:24
jamlarsemil: yeah, probably team17:25
larsemilthanks17:26
jamlarsemil: did you commit locally before pushing?17:26
larsemiljammaybe not?17:26
larsemilbefore pushing i did bzr init17:26
jamlarsemil: 'bzr init; bzr add; bzr commit; bzr push' is the general steps17:29
=== beuno-lunch is now known as beuno
jamnote that you may want "bzr init; bzr st; bzr ignore; bzr add" etc17:29
larsemiljam: thanks i got the files now17:32
jamPeng_: for example, are you sure that you recompiled all extensions before doing the 'bzr merge' ?17:38
RenatoSilvaI want your feedback about the following workflow. I have trunk and feature branches. I focus on testing all of them together, so I have a branch all-features that basically is a merge of trunk and the otehr branches.18:48
RenatoSilvaHi.19:01
RenatoSilvaI want your feedback about the following workflow. I have trunk and feature branches. I focus on testing all of them   together, so I have a branch all-features that basically is a merge of trunk and the other branches.19:01
dashRenatoSilva: why do you do that?19:01
break_hey. I was hoping someone could help me. I need to import the files from just the latest revision of an svn repo into a newly created bzr branch. I don't need any of the revision information, just the files themselves. how do i do this?19:49
vilafullermd: so, we were both half-right, wants_revision_history should be set to False at the class level BUT there is no need to set it to True after that.19:56
vilafullermd: presumably you needed it in some intermediate implementation ?19:57
fullermdPossible.19:57
fullermdRemember, I don't know python or bzrlib, so my patches are all just shotgunned until they work   :p19:57
fullermdYou can def. see the performance impact of not False'ifying it.19:58
=== Adys is now known as Cogwillie
Takbreak_: svn export, then bzr add?19:58
vilafullermd: EPARSE(can def. see)19:59
fullermdGoes from ~.21s to ~.60s for 'stat -c-1' without it, since it builds the full tree before it gets to trying the revno.19:59
=== Cogwillie is now known as Adys
fullermd"can definitely see"19:59
vilaha, funny you say that, the failing tests was a effort one :-)19:59
vilabzrlib.tests.blackbox.test_pull.TestPull.test_pull_smart_stacked_streaming_acceptance20:00
* fullermd blinks.20:00
fullermdWow, that must be some WEIRD indirect kinda effect   :p20:00
fullermdBut I guess it did its job, in a roundabout way.20:00
vilathe test checks how many calls are done to the remote server, getting the rev history add calls20:01
fullermdI can only imagine the performance impact it would have on trees with more history than bzr.dev, but I knew if I submitted a patch that made -r123 more expensive, I'd get lynched...20:01
vilathe good thing is that the test was well tought and caught a related bug, the bad thing is that it was the only test to catch it20:01
fullermdYeah, but who expects something like that to be doing a -rSOMETHING?  Wacky.20:02
vilafullermd: look at it now that you know it fails and why, you'll see it's obivous20:02
vilaeven more when knowing that replacing '-r 1' by '-r revno:1' made it pass20:02
fullermdProbably.  I never looked at it before I kniew it failed   :p20:02
fullermd('cuz it never failed for ME.  I can't help it if YOU break my perfect code  ;)20:03
sjamaanIs there any sane documentation for scmproj? The official docs are thoroughly confusing20:03
vilafullermd: me neither, but it prompted me to ask for your fresh eye 5 mins before my EOD :)20:03
vilasjamaan: your input will certainly help, the main autho native language is not english20:04
vilas/autho/author/20:04
break_Tak: thank you, that looks like just what i need20:04
sjamaanvila: sure, but in order to be able to provide input I have to understand it first :)20:04
sjamaanI was able to initialize a project, but I can't find docs on how to actually start adding subprojects to the project20:05
vilaI don't use it myself so I can't answer that20:06
vilafullermd: so, should I propose merging lp:~bzr/bzr/revspec-dwim or do you want to pull that in your branch and press the resubmit button ?20:08
vilaI think the later will provide a better tracking,,,20:08
fullermdEither way.20:09
vilathen pull/push/resubmit , I'll aprove, add some comments20:12
vilas/approve,/approve and/20:12
vilafullermd: the 'resubmit proposal' button is in the upper right area20:13
* fullermd waits in LP to update it.20:15
vilaok20:15
fullermdI don't see a...    oh, on the merge page, not the branch.20:16
fullermd'k, wending its way around.20:20
vilafullermd: did you explicitly request reviews from Ian and Robert or did lp did that on its own ?20:21
fullermdI didn't do anything to add them, so I guess LP slapped 'em on.20:21
vilawow, I thought I approved that one.... but I'm not even in the comments 8-)20:22
fullermdYou answered the email I sent on to the list, not the MP mail.20:22
* fullermd goes on another epic bitch session about the two being divorced.20:22
vilahmm, yeah, both arrive in the same mailbox here so I may have been confused, especially if you used the same subject...20:23
fullermdjelmer and spiv also commented, but on the list, so they didn't make it into the tracker either.20:23
vilaI think we are progressing anyway :-)20:24
phoenixzHi all, Im new on Bazaar... Long time SVK / SVN user, but since SVK effectively is dead, I need to switch to something new.. Could anybody here tell me if bazaar has these options? - Offline working, automated merges (not needed to track which changes where, etc, just plain merge and it works)...20:25
vilaWe have nearly all the needed pieces in place: 1) You put an url to the merge proposal in the commit mesage when you land on trunk, 2) You put url to the mailing list archive in your merge proposal, 3) You teach qbzr/bzr-gtk to open urls in commit messages....20:25
fullermdphoenixz: Both of those are pretty much inherent qualities in DVCS's, so bzr does them naturally.20:26
phoenixzfullermd: well, I'd think so too, but AFAIK, SVN doesn't.. :) which was the reason for me to use SVK, which does..20:26
fullermdThat's 'cuz SVN isn't a _D_VCS  ;)20:27
phoenixzfullermd: sounds good.. is it possible to for BZR to connect to an SVN repository?20:27
nyuhi20:27
phoenixzfullermd: Just for the record, I'm just walking out on SVK / SVN here.. :) I know VCS, but what is a DVCS?20:27
fullermdphoenixz: Yes, there's a bzr-svn plugin for that.20:27
nyuI notice branching from svn (via bzr-svn plugin) is awfully slow.  is this because of the branching or because of the svn->bzr conversion?20:28
fullermdphoenixz: 'Distributed'20:28
dashphoenixz: yes, i use bzr with several svn repos20:28
nyuI guess it's downloading the whole thing?20:28
* fullermd has to dash off and take care of some things.20:28
dashphoenixz: I hear it can even read SVK merge data but I haven't tried that :)20:28
dashnyu: yes, the first time it has to download the whole thing20:28
phoenixzdash: so it makes a complete local mirror of a repository, like SVK does?20:29
dashright20:29
nyudash: once I created the first branch, will I be able to create further branches from it quickly?20:29
dashyes20:29
nyuI mean, remotely20:29
dasha shared repo can also help with that20:29
phoenixzfullermd: another question.. svn has the very FRIGGIN nasty habbit of dumping .svn directories all over the place.. bzr doesnt do this either?20:29
dashphoenixz: nope, just one .bzr dir at the top level of your branch20:29
nyudash: so even if the repo is huge, I can branch a remote bzr URL into another remote bzr URL with small cost?20:30
phoenixzdash: mmm, I think I can live with that..20:30
nyui.e. without downloading the whole thing20:30
dashnyu: right, because it will use the revisions stored locally before downloading any20:30
dashif you use a shared repo then the branches will use it for the revisions they have in common20:31
nyuin that case I guess I should setup a bzr mirror of svn trunk, then branch off it, rather than branching directly from svn?20:31
nyuI need branching to be cheap20:31
dashnyu: that's what we did20:31
nyuok, thanks20:31
phoenixzfullermd: so, it also tracks all changes and merges? So, say if I have tree B, with subdirectory lib in there.. I copy tree A to B, I make changes in some files in A/lib and some changes in similar and other files in B/lib.. then can I easily merge the changes from A/lib to B/lib and also vice-versa?20:32
phoenixzfullermd: I realize, I may be asking if ice is cold here, but with SVK.. well, it worked, but thats about all.. I have a migraine from using it and I need something that just plainly works..20:32
fullermdphoenixz: Sorta.  There'll be some realigning of your thinking to fit with bzr, though.20:32
phoenixzfullermd: howso?20:33
fullermdphoenixz: You don't work with repositories in bzr, you don't work with branches.  And they're real branches, not 'copies'.20:33
phoenixzfullermd: okay.. trying to fit that in...20:33
fullermdphoenixz: And revisions are the first-class entities you ship around.  So when you merge, you're merging one set of revisions with another.  Your history has all the revisions you've ever pulled in, so it tracks based on that.20:34
fullermdphoenixz: I really need to run off right now, but I'll be back in an hour or so.  Or somebody else can help you fill that in.20:34
sjamaanfullermd: Is there a way to fetch an entire repository with bzr? Or can you only fetch branches?20:34
fullermdsjamaan: Only branches, currently.  There may never be a way to fetch a _repository_ per se, but there will probably be ways to fetch a _group of branches_.20:35
sjamaan(I'm a little concerned that if I have two very big branches and I clone both, they won't share data on my machine)20:35
phoenixzfullermd: okay, thanks for all the info anyway! Im going to give this one a good try20:36
sjamaanHaving repositories be second-class citizens as it were, you undermine the distributed nature of bzr, no?20:36
dashsjamaan: create a repo, fetch branches into it, they'll share revisions20:36
sjamaandash: Ah, that works?20:36
dashsjamaan: yep20:36
sjamaancool!20:36
sjamaanI take it it picks up the sha1 hashes and uses that to determine two files are the same?20:37
dashsjamaan: this is why they're second class citizens, they're mostly an optimization rather than something affecting the contents of your branch :)20:37
dashsjamaan: revision IDs20:37
sjamaanAh, I understand now20:37
sjamaanIt does make sense20:37
asachow can i configure bzr branches so that noone can push merges that make the bzr revision move backward?20:38
sjamaanIs there a way to create repositories later on, after you checked out a branch?20:38
sjamaan(say I have branch a as a regular branch, but then decide I also want branch b, and want them to share data)20:38
dashsjamaan: sure. just do the same thing :)20:38
dashcreate a repo, create a branch in it from your existing non-repo branch20:38
sjamaanI need to re-clone the branch?20:38
sjamaanOr can I just move the existing branch into the repo dir?20:39
dashthe former20:39
* sjamaan nods20:39
sjamaanI could probably clone it locally and then make it point at the original upstream branch, right?20:40
sjamaan(to avoid downloading a lot of data)20:40
lifelessasac: bzr help configuration, look for append_only20:42
lifelessmoin20:54
sjamaanWhere can I find more info on nested branches?21:04
nyudash: uhm, the "bzr push" part of the mirroring just takes 5 steps in progress bar, is this normal?21:04
nyuit looks scaringly fast in comparison ;-)21:05
nyuI hope it *does* indeed upload the whole thing21:05
Solarionis there an easy-to-read guide to using bzr in emacs?21:21
dashSolarion: well, both vc (builtin to emacs) and DVC (available separately) support it21:22
dashDVC does more21:22
sjamaandvc is fancy21:22
dashyeah and its bzr support is pretty good these days21:23
Solarionvc is (hopefully) fine for now21:23
dashSolarion: well, i'd just look at the manual for that21:23
SolarionI may be stupid, but I'm having trouble figuring out how to do a basic pull and update the buffers21:24
dashvc doesn't support pull21:24
Solarionah, well, that'd explain it. :)21:24
dashvc was written when CVS was the hot new thing :)21:24
Solarionyeah21:25
Solarionit seems to quasi-support bzr, though, so it had me fooled21:25
Solarionis there an ubuntu package?21:25
dashsure21:25
sjamaanSolarion: I guess it would work if you only use bound branches?21:25
dashthe operations that vc _does_ support, it supports on bzr21:25
dash(where they make sense)21:25
sjamaan(ie "centralised mode")21:25
Solarionsjamaan: I don't think so21:26
Solarionmaybe I fail to distinguish between bound and checkout21:26
sjamaanno, that's the same21:26
Solarionthen no. :)21:26
Solarionat least, not that I can tell21:26
sjamaanclone creates an unbound copy, checkout creates a bound copy of a branch21:27
sjamaanVC has all the main concepts then, no?  commit, update, log21:27
sjamaanThose work when operating on a bound branch21:27
sjamaan(not that I've tried this though :) )21:28
SolarionC-x v m?21:28
Solarionto just "Picku p any recent changes from the repository without trying to commit your own chagnes"21:28
Solarion"Sorry, merge-news is not implemented on Bzr"21:29
sjamaanic21:31
sjamaanWell, too bad :)21:31
Solariony8eah21:31
SolarionDVC it is21:32
* Solarion doesn't want to manually update all the buffers21:32
sjamaanyeah, that sucks too21:33
nyuis it possible to organize repositories using a directory structure?21:33
sjamaanI always hated that about vc-mode21:33
nyubzr seems to want them all in the top dir21:33
sjamaanEven with svn I use psvn or dsvn21:33
sjamaan(but vc-mode is a nice way to do a "quick commit")21:33
sjamaan(and then afterwards finding out you forgot to commit the other file and need to do it all again)21:34
sjamaan:P21:34
LarstiQnyu: euh? you can use directory hierarchies just fine21:34
nyuit complains that "parent of foo does not exist".  and --create-prefix doesn't seem to be accepted in branch command21:35
nyumaybe I should branch locally, then push with --create-prefix ?21:36
LarstiQwhat is it you are trying to do?21:36
nyuor perhaps just create the directory by hand21:36
nyuLarstiQ: branch from . to a remote location21:36
nyu. is a pull from svn, which I just pushed21:37
nyu(to a remote bzr location)21:37
LarstiQnyu: `bzr push --create-prefix remote/location`21:38
nyuLarstiQ: but then it's not a branch?21:38
nyuor is it21:38
LarstiQit is21:39
* LarstiQ goes to bed21:40
nyubut this uploads the whole thing?21:40
lifelessif the branch is new, yes21:41
nyubut I'm branching from something which is already in the server21:41
lifelessserver?21:41
nyuI guess "branch <remote URL 1> <remote URL 2>" is what I'd like to do, but it complains about missing directory21:42
nyumay I create that dir by hand?21:42
lifelessnyu: is this an svn server?21:43
lifelessor a bzr server?21:43
* lifeless is totally without context21:43
nyubzr21:44
lifelessthen branching locally and push --overwrite newoath is equivalent21:44
lifelessuhm21:44
lifelessif you're worried that it will upload a lot of data - it won't (unless you don't have a shared repo)21:45
lifelessand if you don't have a shared repo, branching on the server would still have to do the same amount of work21:45
nyuI was using the local tree I use for the svn->bzr transition, is that ok?21:45
lifelessthats fine21:45
nyudo I have a shared repo? ;-)21:45
lifelessdo you have any branches on the server yet?21:46
nyuwell, I'm trying to create the first one.  then I interrupted it mid-way because it seemed like it was uploading the whole thing21:46
lifelessit has to :)21:47
nyubut why?21:47
nyuit's already there21:47
lifelessyou just said you don't have any branches on the server...21:48
nyuoh, sorry21:48
nyuI have something I would've called a 'trunk'21:48
lifelessand its a bzr branch ?21:48
nyuit's the result of bzr pull from svn && bzr push to bzr21:48
lifelessok21:48
lifeless'bzr info <url to trunk>'21:49
lifelesspastebin that somewhere, and I can show you if you have a shared repo21:49
nyuit says that's the "branch root".  svn one is in "related branches"21:50
lifelessIt should have provided several lines of output21:51
lifelessyou can anonymise the urls if you like, but I need to see the otuput21:52
nyunah, just these two21:52
nyuwait21:53
nyulifeless: http://pastebin.com/m3a9c566121:53
phoenixzHi, just started to test a little with BZR.. made a project, pushed it to a remote place, branched it to another computer.. Now I have the same project on 2 locations, I made changes on both places, now I want to merge the changes from both locations so that both locations have the same changes but how do I do that? bzr send seems to support only email?!  cant I send the changes directly?21:54
lifelessphoenixz: bzr merge OTHER_URL; bzr commit22:12
lifelessnyu: 'Standalone branch ' is the bit that matters22:13
lifelessnyu: it means you don't have a shared repo22:13
lifelessnyu: if you do this:22:13
lifeless'bzr init-repo --rich-root-pack sftp://robertmh@bzr.savannah.gnu.org/srv/bzr/grub/trunk'22:13
lifelessthen you'll have a shared repo22:14
lifelessyou'll need to push up the contents once more, because the previous push is in a standalone branhc22:14
lifelessso22:14
lifelessbzr push sftp://robertmh@bzr.savannah.gnu.org/srv/bzr/grub/temp22:14
lifelessand after that pushing new branches will be fast22:15
fullermdYou probably don't want to actually init-repo at trunk/...22:15
lifelessoh yes, bad cp22:16
lifeless'bzr init-repo --rich-root-pack sftp://robertmh@bzr.savannah.gnu.org/srv/bzr/grub'22:16
lifelessI'll note that sftp is fairly slow compared to our dedicated server, but savannah still see to be confused/limited22:16
lifelesskfogel: ^22:16
asacthx22:17
nyulifeless: ok, now I need to push again?  the old tree is still there22:17
kfogellifeless: reding22:18
kfogellifeless: savannah problem?22:18
lifelessnyu: you need to push to a branch that isn't trunk, within the shared repo, to seed it with the content.22:19
lifelesskfogel: last I heard they only support sftp for bzr22:20
lifelesskfogel: which is really really inefficient compared to a client-server protocol22:20
nyulifeless: ok.  how do I replace the old trunk afterwards?22:21
lifelessdelete it, e.g. with lftp22:21
lifelessthen push to it again22:21
nyuah.  can't I just delete trunk already?22:22
lifelesssure22:22
kfogellifeless: https://savannah.gnu.org/support/?106612#comment10 indicates they have smart server22:22
lifelessthey need a root signed ssl cert too22:22
lifelessor we should ship their root cert22:22
nyulifeless: btw, when setting up a svn mirror, am I supposed to checkout or branch from it?22:22
nyuI guess commits aren't going to be pushed back, so branch would be the way?22:23
lifelessnyu: its up to you22:23
lifelessnyu: if you want a mirror, I'd use checkout + update myself22:23
lifelessas you shouldn't be committing in a mirror22:23
lifelesskfogel: "Using the latest version of bzr with a ssh + smart server access requires a change in the current installation and a migration of existing bzr projects. This looks like the way to go in the long run but this will take more time than using the existing infrastructure. "22:24
lifelesskfogel: I think you got the sense inverted22:24
nyulifeless: yeah, I don't want anyone to commit in the mirror.  they should branch instead22:25
kfogellifeless: oh, no I just read the first line.  but they are doing commit emails with inotify22:25
lifelessnyu: exactly22:25
lifelessnyu: what I'd do is maintaint he mirror as a checkout+update; and branch from the mirror to do work22:25
phoenixzbzr does not support file copy?22:28
fullermdphoenixz: Not as something that makes any notations in history, no.22:28
phoenixzfullermd: so basically, a copied file is just a new file, as far as bzr is concerned?22:29
fullermdRight.22:29
phoenixzfullermd: okay... and just so that I get it.. I created tree A, added some files and dirs, committed, then pushed that to another server.. on the same computer in another directory, I bzr branch "serverpushurl", and had a branch of A, which I called B.. so far, so good, right?22:31
phoenixzfullermd: then I made changes in A and in B, and to merge them, I basically would have to do cd A, merge ../B, correct?22:31
fullermdRight.  So now you [technically] have 3 branches; one at A, one at B, one at SERVER.22:31
phoenixzand then cd ../B, bzr merge ../A22:31
phoenixzfullermd: ah, so bzr push also branches?22:32
fullermd(note that you could have done 'cd .. ; bzr branch A B' instead of routing through SERVER there too)22:32
phoenixzfullermd: but so, technically, how could I merge my changes back to the pushed branch? because that didnt work, somehow..22:32
fullermdWell, you'll have to quantify "didn't work" a little more   ;)22:32
fullermdBecause that looks reasonably correct.22:33
phoenixzfullermd: heheh, well, so I had A, pushed it to server (which is branching too, right?), lets call that C, then I bzr branch C on another location in my laptop, called that B22:34
* fullermd glares at his ringing phone.22:34
phoenixzfullermd: so I have A, B and C (on the server)22:34
nyulifeless: btw, the example in http://doc.bazaar-vcs.org/latest/en/user-guide/svn_plugin.html recommends --default-rich-root rather than --rich-root-pack.  I guess it needs updating?22:34
lifelessnyu: no22:34
phoenixzyeah, take that call :) I'll keep on writing..22:35
lifelessnyu: you did the conversion with an older bzr22:35
nyulifeless: ah, ok22:35
phoenixzfullermd: now, I make changes to A and B.. I can merge changes from A to B and from B to A.. but how do I send those changes to C??22:35
lifelessnyu: I used the exact matching format that 'bzr info' told me you have your trunk in22:35
nyulifeless++22:35
lifelessnyu: otherwise bzr would have had to do data conversion - and while converting to 2a (which is what default-rich-root is now) is a good thing, I sense you're just getting started22:35
nyupretty obvious that I am ;-)22:36
fullermdphoenixz: 'k, sorry.  You'd use 'push' to push them up.22:39
fullermdpush is almost the complement to pull, except that (as in your first steps) push also creates the target branch if it doesn't already exist.22:39
phoenixzfullermd: and if I Im in B and I send changes from A to C and I want to receive those changes in B.. ? how would I do that then?22:40
lifelessvila: jam: spiv: - on tripit?22:40
phoenixzfullermd: sorry for all the bothering :) just trying to gettit22:40
fullermdphoenixz: Grr.  You people are going to make me actually dig all that up...22:42
fullermdphoenixz: Lemme dig through my logs.  I had a long discussion about roughly that with another guy some weeks ago...   I've been threatening to put it up somewhere for reference.22:43
phoenixzfullermd: Hehehe, sorry.. Its just that bzr does seem to do things a bit different than SVN.. its not hard to grasp, its hard to change learnt stuff...22:43
fullermdYeah, the basic units you work with are a bit different.22:43
phoenixzfullermd: exactly, thats my difficulty now, Im looking though pink svn glasses...22:44
fullermdphoenixz: Editing...   will take me some minutes.22:48
phoenixzfullermd: sure, thanks!22:48
fullermdphoenixz: http://bazaar-vcs.org/MatthewFuller/AboutPushPullMerge23:03
fullermdphoenixz: There was followup discussion to that about Repositories.  I'm editing that now.23:09
nyulifeless: ok, finished with the re-push.  still complains about non-existant parent dir though23:15
nyuI guess I can mkdir it by hand?23:15
nyu(within the shared-repo directory, of course)23:15
sven_oostenbrinkfullermd: thanks for the document, reading it now!23:19
sven_oostenbrinkfullermd: sorry for the late reply, had some network problems here23:19
fullermdHey!  No nick changing on me!  10 minutes in the penalty box!23:20
RenatoSilvamy question : http://pastie.org/66542323:22
RenatoSilvasorry http://pastie.org/66594123:23
sven_oostenbrinkfullermd: just a question... the .bzr directory basically is the repository? and then the files  along side it the working tree?23:25
fullermdThe .bzr/ directory is all the bzr meta-data.  Any given .bzr/ dir may have a Repository, or a Branch, or [the internal tracking files for] a Working Tree.23:26
fullermdOr any combination of the above.23:26
fullermdIn SVN terms, it can be the repo, or the equivalent of the stuff in .svn/ dirs in a checkout, or both.23:26
sven_oostenbrinkfullermd: gottit..23:26
sven_oostenbrinkfullermd: other question..23:27
sven_oostenbrinkfullermd: There is A, pushed to B, branched to C23:28
sven_oostenbrinkfullermd: So I could say.. B is the trunk, A is my working copy, C is working copy for person C..23:28
sven_oostenbrinknow, A makes changes, C makes changes..23:28
sven_oostenbrinkfullermd: to move those changes to B, A does bzr push23:28
sven_oostenbrinkWhen C does a push, A's changes will NOT be overwritten, right?23:29
rockstarsven_oostenbrink, no.  In fact, C can't commit unless they are up to date.23:29
sven_oostenbrinkfullermd: thats to say... when I push to a location, All revisions (each revision being a collection of changes) will be pushed to that location.. If that location contains nothing yet, it will practically be a copy of my local stuff, right?23:30
fullermdrockstar: No, they're branches, not checkouts.23:30
fullermdsven_oostenbrink: When C tries to push, it will tell him he's out of date.  And he'd have to merge before he could push.23:30
rockstarfullermd, yeah, I think there's some confusion there.23:30
sven_oostenbrinkfullermd: so C first would have to do a pull, right?23:31
fullermd(this also then leads into a discussion about how you'd actually probably NOT wnat to work that way, since it destroys the mainline.  But let me edit ONE big thread at once!)23:31
rockstarfullermd, sven_oostenbrink, he won't be able to just push if A has pushed already.23:31
sven_oostenbrinkfullermd: C would have to do bzr pull or bzr merge?23:31
rockstarHe'll have to do a merge -> push, because the branches are diverged.23:31
fullermdsven_oostenbrink: No, he'd have to merge.  He couldn't pull since he has changes the far side doesn't.  See the merge discussion about halfway down that page.23:31
fullermdYou can imagine that instead of that guy working on both Linux and Windows, there are just two people, one on each.23:31
sven_oostenbrinkfullermd: so if C would do either push or pull, he'd get a message he'd have to merge first..23:32
rockstarsven_oostenbrink, yes.23:32
sven_oostenbrinkok, perfect..23:33
sven_oostenbrinkfullermd: rockstar: another question.. I did a push to another server over sftp:// I checked the destination, and it was a directory with a .bzr directory in it. This means that, bzr push basically sends all revisions to the remote location that the remote location doesn't have yet, and if the remote location has nothing yet, it will just send all revisions I have.. is this correct?23:34
rockstarsven_oostenbrink, correct.23:35
sven_oostenbrinkok, and when I have changes to merge, I can also send them by email (bzr send) and then another person receiving htat mail, can apply then with bzr patch ?23:35
fullermd'bzr merge' more like.23:36
fullermdYou could also just put your branch somewhere they can see, and they can merge directly from it.23:36
sven_oostenbrinkah, gottit..23:37
sven_oostenbrinkfullermd: now just one other thing.. What, in bzr, is the difference between a checkout and a branch? I mean, in SVN / SVK, a branch basically is a copy. period. A checkout is creating a working tree.. but here, I bzr branch or bzr checkout, both create a WT..23:39
sven_oostenbrinkfullermd: if I get it correctly23:39
sven_oostenbrinkfullermd: then if I have A in bzr, I push that to B.. Then if I work on location C, if I bzr branch it, I have branch C.. if I just checkout it, I will be on location C but working on branch B... ? irght?23:40
mwhudsonargh23:40
dashsven_oostenbrink: the difference is just that a checkout is bound to a remote branch23:40
fullermdsven_oostenbrink: Roughly the same, actually.  Just think of 'branch' as making a branch and then checking it out.23:40
mwhudsonlifeless: hi23:40
* fullermd stabs dash until he stops saying 'bound branch'.23:40
dashsven_oostenbrink: meaning that checkins will first make sure the changes can be applied to the remote branch before applying them locally23:40
dashfullermd: I didn't say "bound branch"!23:41
fullermdYou said half of it.  That's at least 75% as bad  :p23:41
sven_oostenbrinkfullermd: understood..  but then, if I checkout from a branch on another computer.. when committing, I then MUST have network access to that computer, no? while bzr branch would just place everything locally on my computer.. right?23:41
dashsven_oostenbrink: if you don't have network access you can do 'bzr commit --local'23:42
fullermdRight.23:42
dashand then push/merge later23:42
fullermdAnd never commit --local.  'cuz then we'll have another giant fooforah when it screws you.23:42
dashfullermd: What23:42
dashfullermd: Where is this documented23:42
* sven_oostenbrink hates deez pink SVN glasses.. its easy, but so hard to get it..23:43
dashsven_oostenbrink: the third mode is a lightweight checkout, you get one via "bzr co --lightweight"23:43
dashsven_oostenbrink: this doesn't store any local revisions, it's like an svn checkout in that regard23:44
fullermddash: In a whole lot of mailing list threads and long IRC discussions.23:44
dashfullermd: so what's wrong with it23:44
sven_oostenbrinkdash: Id prefer just bzr branch.. just work on my own branch, all alone, nobody bothering me.. when I'm finished,  I merge my changes to a trunk23:44
dashsven_oostenbrink: that works23:45
fullermdFor one thing, various bugs cause it to totally hork you when you have local commits and uncommited changes and update.23:45
fullermdsven_oostenbrink: It's very common to use checkouts for the trunk.23:45
dashfullermd: Oh. :(23:45
dashyeah I switched to a checkout for my local copy of trunk23:45
fullermdIn a broader sense, local commits in a _checkout_ make no sense.  That's more a 'bound branch' thing.23:45
dashfullermd: what's the difference23:45
dashI never knew those were distinct23:45
fullermdsven_oostenbrink: So instead of merging trunk and pushing your branch over, you merge your branch into trunk and commit.  That way you don't disturb the mainline.23:45
fullermdWell, they're not, in bzr.  That's kinda the problem   :p23:46
dashfullermd: I am utterly confused23:46
dashfullermd: what is the problem?23:46
fullermdThe difference is that in a _checkout_, you have one branch, and a WT for it.  In a _bound branch_, you have TWO branches, that you generally want to keep in sync.23:46
dashEr23:46
fullermdThe desired semantics of the two cases are subtly different in many ways.23:46
dashi thought that's what a lightweight checkout was?23:46
sven_oostenbrinkfullermd: sorry, didn't get that last one.. merging trunk and pushing branch over, or merge branch into trunk.. whats the difference?23:46
fullermdRight now, bzr has _neither_.  It has a chimera that's some of both.23:46
dashOkay23:47
sven_oostenbrinkfullermd: probably totally logical, but not seeing it for a second here.. :)23:47
fullermdsven_oostenbrink: It has to do with the way revisions are arranged in history.  Ask me later.23:47
sven_oostenbrinkok23:47
dashI think I'm going to stop thinking about this and go back to being ignorant23:47
* sven_oostenbrink welcomes dash...23:47
fullermdLight and heavy checkouts _should_ act exactly the same, just with heavies having a local cache.  Bound branches should act differently from either.23:47
fullermdBut as-is, we have heavy checkouts sometimes acting like bound branches (and sometimes acting in ways more like a checkout)23:48
fullermdThe two cases are so MUCH alike, that it's easy and natural (and what happened) to conflate them.  But it's troublesome because they're not really the same thing.23:48
lifelessnyu: push --create-prefix23:48
lifelessmwhudson: hi23:48
lifelessmwhudson: are you on tripit?23:48
mwhudsonlifeless: i don't think i know what tripit is, so probably not23:49
lifelessmwhudson: social flight tracking23:49
spivlifeless: I'm not on it23:50
* mwhudson is once again horrifically confused by non-ascii characters in urls23:50
lifelessspiv: does your -suffix@puzzling.org work dynamically?23:51
lifelessor do you need to set them up?23:51
sven_oostenbrinkdash: another one, does bzr also do binary files, like (small) images23:51
sven_oostenbrink?23:51
fullermdsven_oostenbrink: http://bazaar-vcs.org/MatthewFuller/AboutUsingRepositories   is a followon to that previous discussion, talking about using shared repos (and some other stuff mixed in I didn't bother cleaning out)23:51
dashsven_oostenbrink: sure, files are files :)23:51
fullermdIt's hard to get a diff of them, of course   ;)23:51
lifelessfullermd: I don't really get the differences you postulate for bound/heave23:52
fullermdlifeless: Yeah, I'm gonna make a wiki page of it in, like, 20 years when I recover from making them today   :p23:52
lifelessspiv: mwhudson: you should both have tripit invites23:53
mwhudsonit seems if i do bzr push bzr://localhost/b%C3%A9 the server raises an exception and the client blows up translating it :(23:53
lifelessmwhudson: would you like to go through whats happening in more detail?23:54
fullermdlifeless: Bound branches can have different nicks, checkouts can't (doesn't make sense).  Bound branches can diverge, checkouts can't (doesn't make sense).  Checkouts should be sync'd to the remote with update, bound branches should use pull.  etc etc etc.23:54
lifelessfullermd: are you listing bugs or conceptual expectations?23:54
fullermdWell, the latter, which means them showing up is the former   ;)23:55
lifelessfullermd: I wouldn't expect pull on a bound branch to sync it to the master23:55
lifelessfullermd: I'd expect that to change the master23:55
mwhudsonoops, now i have two tripit accounts it seems...23:56
lifelessmwhudson: heh, you can combine them I think23:56
mwhudsonyeah, i'm sure23:56
fullermdsven_oostenbrink: (that discussion of usage of repositories may be good for you coming from svn)23:56
mwhudsonlifeless: yes i would like to talk about what's going on, but first i think i'm going to have lunch23:56
mwhudsonlifeless: talk to you in a bit?23:56
spivlifeless: yes, the suffix is automatic, although I prefer @bemusement.org these days.23:57
fullermdlifeless: Maybe.  But 'update' shouldn't updating the local branch to the other branch.  Update is for WT<-Branch, not Branch<-OtherBranch.23:57
lifelessmwhudson: ok23:58
lifelessspiv: puzzling/bemusement :P23:58
lifelessfullermd: as the author of update, I take some exception to your definition23:59

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