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

poolieit's quiet today...00:29
lifelessand how does that make you feel?00:32
lifeless:)00:32
jelmermoin poolie, lifeless00:37
* mwhudson grumbles01:09
mwhudsonother things that turn out not to be thread safe in bzrlib: lazy imports01:09
lifelessmwhudson: for that one, you might want to file a bug01:12
james_wthings not being thread safe that have bitten me today: LP API01:15
pooliejml, did you send a metronome mail?01:16
mwhudsonlifeless: https://bugs.edge.launchpad.net/bzr/+bug/39681901:25
ubottuUbuntu bug 396819 in bzr "lazy imports are not threadsafe" [Undecided,New]01:25
mwhudsoncontrary to what i thought yesterday, lrucache doesn't seem to be that thread un-safe02:00
mwhudson(although if a cleanup function raises, that seems to break the cache pretty badly)02:01
poolielifeless: is there a command to dump the pack-names file (re bug 396308)02:11
ubottuLaunchpad bug 396308 in bzr "bzrlib.errors.ShortReadvError: readv() read 0 bytes rather than X bytes for pack" [Undecided,New] https://launchpad.net/bugs/39630802:11
lifelesspoolie: bzr dump-btree .bzr/repository/pack-names02:21
lifelesspoolie: (for 1.9 and above formats)02:21
jmlpoolie, no, it got crowded out.03:02
thumperpoolie: for  bug 391411 can the reconfigure --stacked-on give a relative remote path for the branch?03:22
ubottuLaunchpad bug 391411 in bzr "want "reconfigure --unstacked" or --stacked-on" [High,In progress] https://launchpad.net/bugs/39141103:22
thumperpoolie: I think that is what we really want for LP stacking03:22
pooliethumper: my current idea (indeed current code) is that you give a cwd-relative or absolute url, but it stores it relative to the branch03:48
thumperpoolie: we use absolute paths from /, like /~bzr/bzr/devel03:48
thumperpoolie: so it works over whatever transport03:49
poolieok03:49
pooliehm maybe we need a transport-relative path03:49
pooliebtw, staging is a bit hard to test this against because it recommends new branches be stacked on staging/~bzr/bzr/trunk (for example)03:49
pooliebut that branch doesn't exist :)03:49
poolieon staging03:50
thumperpoolie: bzrtools is on staging03:50
thumperpoolie: but I think it is the only project we copy across for testing03:51
poolieok03:51
pooliei'll test on that then03:51
thumperlet me know if you have any problems03:51
thumperalthough with spm not around, I'm not sure there will be much I could do :)03:51
jmllifeless, Just confirming, is the full fix for bug 390563 in bzr.dev?04:21
ubottuLaunchpad bug 390563 in bzr "absent factory exception from smart server when streaming 2a stacked branches" [Critical,In progress] https://launchpad.net/bugs/39056304:21
pooliejml, it may be that there are other bugs that look similar04:29
poolienot sure04:29
RenatoSilvaanyone using maven?04:32
RAOFThe only thing I've heard about maven has not been complementary.04:34
RenatoSilvaI want to download source for a lib04:34
doctormoI'm trying to help someone who is new to bzr, I asked him the bzr checkout a branch that we can both commit to on launchpad but when he goes to commit he gets: bzr: ERROR: Cannot lock LockDir(http://bazaar.launchpad.net/%7Eubuntu-learning-board/ubuntu-learning-moodle/trunk/.bzr/branch/lock): Transport operation not possible: http does not support mkdir()04:40
doctormoI think I may have advised him wrong, any help getting out of this position?04:40
beunodoctormo, he hasn't set his launchpad id04:41
beunobzr launchpad-login USERNAME04:41
doctormobeuno: Ah right04:41
jmlpoolie, done!04:42
doctormobeuno: running the launchpad-login caused the same error: Transport operation not possible: http does not support mkdir()04:43
beunodoctormo, that's... odd04:45
jmldoctormo, does he have write permission for the branch?04:45
jmlthat is, is he a member of ~ubuntu-learning-board?04:46
doctormobeuno: Ah no sorry the login didn't error, a new commit command failed the same way,.04:47
doctormobad communication04:47
beunodoctormo, as jml asked04:58
beunois he part of the team?04:59
lifelessjml: checking (sorry, laptop powered off, came back and the kms thing had me wedged for a bit)05:04
lifelessand now X has locked up.05:04
lifeless<sigh>05:04
doctormobeuno: yes team: https://code.launchpad.net/~ubuntu-learning-board code: https://code.launchpad.net/~ubuntu-learning-board/ubuntu-learning-moodle/trunk and user: (launchpad wouldn't load)05:04
lifelessdoctormo: now you need him to do 'bzr bind lp:<...>'05:05
doctormomatthew.lye05:05
lifelessdoctormo: to change the URL that bzr has recorded locally05:05
lifelessor bzr switch lp:...05:05
doctormolifeless: I see05:05
doctormoI think I remember this problem from before05:05
doctormohttps://code.edge.launchpad.net/~ubuntu-learning-board/ubuntu-learning-moodle/trunk <- on here, we got his commit working, but he shows us as an odd name /email, config problem?05:18
doctormothanks lifeless, beuno for your help with the commit problem05:18
lifelessdoctormo: bzr help whoami05:21
doctormothanks lifeless05:22
jmlhey05:56
jmlI was just talking with Twisted folk about NEWS files.05:56
jmlapparently when they had a NEWS file that was edited on each mainline commit, they got conflicts on every landing05:58
jmlthis doesn't seem to happen with the Bazaar project: why?05:58
lifelessjml: two things06:00
lifelessa) it does06:00
lifelesswe often have to merge down trunk and fix conflicts with news06:01
lifelessjust run log -n0 (man that should be the default) and you can see those commits.06:01
lifelessb) we alphabetically order the news items under each header.06:01
lifelessthis reduces concurrent editing of the same locations06:02
jmllifeless, ok. thanks.06:03
lifelesschronological ordering will generate many successive edits to the same place06:04
RenatoSilvathe args are given to a plugin command by bazaar, right?06:15
lifelessyes06:16
RenatoSilvaI mean, I have a source code here, and the command class has a run method with the *args argument06:16
RenatoSilvathese args are full objects, right? e.g the rev06:16
RenatoSilvaI'd like to know who fills in the data for the rev object...06:18
RenatoSilvait seems that the fields are utf-8 str objects, not unicode06:18
lifelessplugins are no different than any other command06:19
RenatoSilvabut I need a documentation06:19
lifelesslook at something like cmd_pull06:19
lifelessthere are api docs, but there isn't a narrative about this part of bzrlib06:20
RenatoSilvaok, bazaar gives the cmd an arg called rev, it's an object06:20
RenatoSilvaI want to know what bazaar has to tell me about the rev strings06:20
RenatoSilvaare they always utf-8? may change the encoding? may become unicode someday?06:21
lifelessshow me your code06:21
RenatoSilvalifeless: what code exactly?06:21
RenatoSilvalifeless: what I'm trying to achieve is...06:21
RenatoSilvabzr-eclipse gets branch's log by running an xml-rpc call, which in turn runs xmloutput plugin, which returns the XML version of the log. I looked at the source, the xmllog command just runs the builtins.cmd_log passing an XML formatter for the log. This formatter handles the revision object given by bazaar...06:25
RenatoSilvaand puts the commit message inside a CDATA for example06:26
lifelessinside bzrlib revisionids are utf8 bytestrings06:26
RenatoSilvaI'm not sure if it's using a custom writer or if the data comes from bzr already as utf-8 str06:26
lifelessthe commit message is unicode06:26
RenatoSilvathe fact is that the data is utf-806:26
RenatoSilvalifeless: only message or all data in rev object?06:27
lifeless"only message or all data in rev object?" - what?06:27
RenatoSilvalifeless: what's the compromise of bazaar rgarding rev data format?06:27
lifelessI'm sorry, I'm really not following you. You're talking about objects, not data formats.06:28
lifelessthe Revision class has a number of fields, and they are all different types.06:28
RenatoSilvas/data format/string format (aka str+encoding or unicode)06:28
lifelessif you're talking about how something is serialising stuff, it depends on what the serialiser is doing06:29
RenatoSilvalifeless: I need to check if the plugin is using a self writer06:30
lifelessthis may help:06:30
lifelessthere are three sets of strings that bzr deals with:06:30
lifeless - internal disk data (stuff under .bzr). These we have specific formats for that have varied over time. Commonly they are xml within compressed archives06:31
lifeless   and more specifically, the xml tends to be utf8 encoded06:31
RenatoSilvaI just want to find the reason I'm receiving utf-8, if it's bzr or the plugin06:31
lifeless - local environment strings: command line parameters, working directory, file system encoding, console encoding06:32
lifeless   for these strings bzr usually decodes them to unicode objects, so the core bzr code doesn't have to know what encodings are in use06:33
lifeless - internal strings. These are strings like revision ids, index keys, file ids. For these bzr strives to have them in utf8 all the time, decoding to unicode and encoding to the external encoding only when required06:33
lifeless   we do this for speed06:33
lifelessRenatoSilva: You want to know if you're getting utf8 *in python code* ? Or on stdout ?06:34
RenatoSilvalifeless: I want to know what happens from e.g. commit message inside .bzr to it being read by the java plugin. I want to know if the plugin is re-encoding stuff as utf-8 or if it was already encoded by bzr06:36
RenatoSilvaanyway I want to know06:36
RenatoSilvasorry06:36
lifelessit will be reencoding06:38
lifelessbecause the repository is not required to use xml06:38
lifelessas to where it is reencoding, I haven't looked at the xmloutput plugin, so I don't know what code paths its using06:38
lifelessI'm still not clear what you mean 'it being read by the java plugin'. You might  be meaning 'when the eclipse process reads teh xml'. Or you might mean 'when a revision object is given to bzr-xmloutput'06:39
lifelessor you might mean 'when xmloutput receives an xml revision string'06:39
lifelessor something else06:39
RenatoSilvaI'm checking bzrlib.revision.py, there are just 2 refs for message field, one in __eq__ and the other in get_summary06:40
RenatoSilvaok let me start again...06:40
RenatoSilvathe problem is:06:40
RenatoSilvawrong chars in bzr-eclipse log view06:41
RenatoSilvathat is, when you want to see the log through ui using bzr-eclipse, you see wrong chars because of an ecoding issue06:42
RenatoSilvathis issue can be fixed by just re-decoding the xml-rpc response as UTF-806:42
RenatoSilvathe problem here is that...06:43
lifelessso the xmlrpc response has to start out as octets06:43
lifelessbecause its a network protocol06:43
RenatoSilvaI don't want to put "UTF-8" hard-coded in the fix06:43
RenatoSilvaI want...06:43
lifelessXML defines how encodings are represented06:44
RenatoSilvaI want to who is ensuring the data is UTF-8, and if it will always be this way, etc.06:45
RenatoSilvalifeless: ok you could guess by XML preamble but...06:45
lifelessso, you're looking at lass XMLLineLogFormatter(log.LineLogFormatter):06:46
lifelessyes?06:46
RenatoSilvalifeless: unfortunately just printing out a charset in the XML header won't ensure that the XML itself matches such encoding...06:46
lifelessso, bzr-xmlloutput is responsible for this06:47
lifelessit recieves Revision objects06:48
lifelessand it should serialise them06:48
lifelessthe revision_id and parent_ids attributes have utf8 bytestrings; the other fields are variously dicts, ints, floats, and unicode06:48
RenatoSilvalifeless: and the data I'm particularly interested in is not generated by the plugin, it's given by bzr.... the question is: is bzr giving unicode and the plugin encoding as utf-8? or is bzr giving utf-8 str, and in this case is the plugin doing any conversion still? or still, is bzr giving non-utf-8 str and the plugin is re-encoding as utf-8?06:50
lifelessRenatoSilva: I think I've answered this06:50
RenatoSilvalifeless: I'm reading the code to find the answer... you're giving me me info about rev object, but in bzrlib.revision.py for example, I can't find the message field. Am I looking at the wrong file?06:52
lifelessRevision is poorly documented, and a bit of a 'data holder' class06:52
lifelessdeserialisation is per-repository, you can look at repository.py, and repofmts/*.py to see the different serialisers06:53
lifelessand bzrlib/xml* and bzrlib/*serial*06:53
lifelessas I said above though. revision.message is *unicode*06:53
RenatoSilvayou just know this or are you looking at some source code?06:54
RenatoSilvaAs I said I can't find the definition of the message field :(06:54
RenatoSilvalogxml.XMLLogFormatter has a to_file field, but I can't find where it comes from06:57
lifelessthe log infrastructure06:57
RenatoSilvaI'm trying to know if it is being overwritten by the plugin (codecs.getwriter)06:58
RenatoSilvawell I think I don't need to06:59
lifelessI have no idea :)06:59
RenatoSilvaif the message is given as unicode by bzr, and it gets in the client as utf-8, that's because bzrl-xmloutput is doing it, no matter how :)06:59
RenatoSilvalifeless: so I can trust that rev object strings will be either unicode or utf-8 str, right?07:00
lifelessin the log formatter yes07:01
lifelessI can't make any assertions about what the log formatter outputs07:01
RenatoSilvaanyway I think the plugin should handle the data properly, ensuring its policy will be applied (for example, print always utf-8)07:03
RenatoSilvalifeless: conclusion the answer about what is the encoding should be given by the plugin07:03
RenatoSilvaso simple o.O07:03
vilahi all07:25
vilalifeless: I agree with your feelings about pycurl hanging bug, *but* digging to the root cause requires crossing the python/C barrier and that could be really time consuming, keep in mind though, that if real servers can produce such behavior, I will, sooner or later knows it via local_test_server (once I restart my efforts there)07:33
vilas/I agree/I *share*/07:34
lifelessvila: so a few thoughts07:50
lifelessvila: have you checked that the socket is actually being closed?07:50
vilalifeless: just asnwering to your mail07:51
vilalifeless: I've seen the close() calls07:51
lifelessin strace?07:51
vilain pdb07:51
pooliehi vila07:51
vilahi poolie !07:51
pooliespiv, istr you had a patch a while ago, that might have been abandoned, to do with better reporting of exceptions masked by unlock failures...07:52
lifelessso _socketobject.close seems to rely on gc()07:52
lifelessvila: ^07:52
spivHuh, I wasn't expecting to find a hpss hang here.07:52
vilalifeless: >-/07:52
spivpoolie: I did, I think it was essentially abandoned.07:52
lifelessvila: I'd really like a little more investigation. Not a lot.07:52
lifelessvila: just - add a gc.collect() call after the server calls close()07:53
vilalifeless: like a call to gc from the server after the close ?07:53
vila:)07:53
spivI think the bug report(s) are probably fairly up to date about where that's at.07:53
lifelessand when it hangs, poke with lsof07:53
lifelessperhaps run under strace quickly, which should show the data being written, and read, and the socket closed07:54
pooliespiv, where?07:54
pooliei mean, where is the hpss hang?07:54
lifelessif thats all inconclusive, keep it as it is...07:54
vilalifeless: works for me07:55
spivpoolie: there's a race condition(!) in the v3 decoder, if it receives multiple calls to accept_bytes after parsing the end of the message it overwrites, not accumulates, the excess bytes.08:00
spivThe fix is trivial (+= rather than = in the relevant function), but it certainly was confusing for a while, especially before I didn't realise it wasn't necessarily deterministic once sockets get involved... so I was getting random test failures.08:02
poolieoh ok08:12
spivAnd of course when you don't realise there's randomness then you start going crazy as you change minor things to debug the failure and get different results...08:13
spivJust finishing up the network backwards-compat part of this inventory delta patch and then it's ready for review.08:15
lifelessjml: ping08:21
jmllifeless, pong08:24
jmllifeless, just got back from an urgent hair cutting appointment.08:24
lifelessheh08:24
lifelessI wanted youropinion on my last post on https://bugs.edge.launchpad.net/testresources/+bug/28412508:24
ubottuUbuntu bug 284125 in testresources "Provide an option for easy instrumenting of resource setup and teardown" [Medium,Triaged]08:24
jmloh right. I saw that go through my email last night..08:26
lifelessI could ring you?08:28
jmlyeah.08:28
jmlalthough skype is better for me08:29
lifelessI'm just heading for a walk08:29
vilalifeless: summary: I need to call gc.collect() *after* the server thread ends to get some difference :-/08:32
vilawhich seems to validate poolie's theory..08:32
Spabbyhi there, the location of my bound branch has moved (ip has changed), is there any way to tell bzr this pleasE?08:42
bob2edit .bzr/branch/branch.conf or 'bzr bind nelocation'08:43
Spabbysorry closed my irc by mistake, thank you bob208:44
jmljelmer, can you please set the development focus branch of https://launchpad.net/git to the vcs-imports branch?08:55
Mezjml, still around?09:13
Mezor any of the devvies :D09:13
jmlMez, I am.09:14
Mezjml: I'm thinking of a feature request - don't know whether it's viable.09:14
MezWell, 2 feature requests.09:15
Mez1) When you commit, an option to set the "whoami" data for just that commit09:15
Mez2) the option to force you to have to set that per commit (so you have to specify who you are)09:15
MezIt's cause we've got a dev environment where we all seem to login to and commit, and it doesnt show in the log WHO actually made the commit09:16
jmlMez, ok.09:16
jmlMez, so you can set the author of a commit already09:16
jmlMez, note that 'author' is distinct from 'committer'09:16
Mezhows that then ?09:17
jmlMez, 'bzr commit --author 'Jonathan Lange <jml@mumak.net>'09:17
Mezjml: does that show up in the log ?09:17
jmlMez, I don't know off the top of my head. It should be easy enough to do the experiment though.09:18
jmlhe said, hintingly.09:18
MezI'm already doing an experiment, just thought you might know off the top of your head09:19
jml:)09:19
Mezrevno: 45909:19
Mezauthor: Martin Meredith <martin@sourceguru.net>09:19
Mezcommitter: root <root@webutils>09:19
jmlMez, as for forcing you to set the author...09:21
poolielifeless: ok, bzr-guess just helped me :)09:21
poolieor it tried09:21
pooliei ^cd it by instinct first09:21
jmlMez, I guess it's a valid feature, but you might well be the only person who wants it :)09:22
Mezprobs09:22
jmlMez, as a crappy hack, you could do this:09:22
jmlbzr alias commit='commit --author'09:22
poolieor you can set BZR_EMAIL09:22
jml(but that's a really crappy hack.)09:23
Mezor I can write some sort of plugin09:24
jmlyeah.09:25
jmlI've talked with lifeless before about a feature for setting the author(s), for use in pair programming sessions.09:26
mwhudsonjelmer: does bzr-git import the kernel yet? :)09:42
poolieit might be nice if the config system also looked in the environment09:42
pooliefor cases like this09:42
vilalifeless, poolie: I've got a cleaner fix calling shutdown(socket.SHUT_RDWR) and catching EBADF and ENOTCONN when the server connection is closed09:42
Mezwell, it's also the fact we all use the same user (near enough) when we're on there09:43
poolienice09:48
poolieMez, that's why i was suggesting an env var09:49
poolieso it's not on disk or shared09:49
poolievila, nice - i agree with you in questioning whether this is worth it, but if you've fixed it, yay09:49
poolielifeless: are you still here?09:49
pooliejml, nice metronome09:49
jmlta09:49
Mezpoolie, then they have to work out how to set that env var09:49
jmlpoolie, lifeless is gone, methinks.09:50
vilapoolie: I feel better having it fixed that way, lifeless rightly pointed the grey area09:50
poolievila, just to talk over the reconfigure stuff09:50
poolieapparently it fails if there's new history in the stacked branch on top of the fallback repository09:51
poolie'it' meaning set_stacked_on_url09:51
pooliein other words, if the tip of the stacked branch is new, it fails with revision not present09:51
pooliethis is a pretty typical scenario if you think about it09:51
pooliei suspect this covers some number of existing bugs09:52
poolienow i need to work out if i can get fetch() to backfill history the right way09:52
vilapoolie: new history ? Between which dates ?09:53
poolienew history in the sense of revisions that aren't in the fallback repository09:54
vilaso it can be called only at creation time ?09:55
poolieyeah apparently so09:57
poolieor rather, before committing to the stacked branch09:57
poolieit looks like it tries to handle the other one but it doesn't seem to work09:57
vilahmm, worth fixing :)09:58
vilalifeless: in passing: using --parallel=fork in the test farm gives a very obscure failure: the execution is killed after the timeout without output has triggered but there is no clue about why. I think I'll keep using it though at least until I stabilize the whole setup10:14
poolievila: you know socket shutdown may (on some OSs?) discard any data sent to the socket and not read by the other party?10:17
vilapoolie: pffff, even flushed data ?10:17
vilapoolie: because here, both read and write makefiles are flushed, closed, and yet, pycurl got nothing while polling...10:19
vilawhere is that data then ???? :-D10:19
fullermdI ate it.  I'm sorry.10:20
poolievila, it can discard the socket buffers inside the os kernel10:20
pooliei'm not sure if this is relevant to your patch10:20
poolievila, do you know if there's a way to do a fetch that allows for this situation i described above?10:21
poolieie the tip revision we want to fetch is not in the source, but some of its ancestry is?10:21
pooliemaybe i should just change it to fetch everything...10:21
vilapoolie: the more bugs of that kind I see, the more I'm convinced there is a bug in the python socket stack...10:22
vilapoolie: err, I'm not familiar with fetch internals, sorry :-/10:22
pooliewell10:22
pooliedoing that makes it pass :)10:22
pooliei think i'll leave it there for tonight and talk to jam or lifeless tomorrow10:23
vilabut I feel strange that you request a tip that is not in the source instead of fetching what you're missing10:23
poolieit may be possible to make a fetch spec for it10:29
pooliei agree it sounds strange10:29
FauliHi everyone.10:46
FauliAny bzr-gtk developers available?10:46
vilaFauli: depending on your question you may have different answers, so please just ask10:49
FauliIs it possible to make release?  The current 0.95.0 is broken with Bazaar 1.16, but fixed in trunk.10:50
FauliI help maintain the Gentoo Bazaar overlay where we have an ebuild available (and I am the Bazaar maintainer in Gentoo anyway).10:50
Pilkypoolie: you around?10:50
vilaFauli: ping jelmer and phanatic, I thought jelmer was about to make a release though...10:51
Faulijelmer: What's the status on a new bzr-gtk release?10:52
Faulivila: Thanks for the information.10:53
awilkinsverterok: Hi there ; is there anything more to installing a Hudson plugin than uploading the hpi to the web interface? I can't seem to get the Bazaar plugin to install11:05
awilkinsverterok: Never mind, it installs it rather than just putting it in the list of available plugins11:08
jelmerjml: done11:31
jelmermwhudson: it should support importing the kernel if you're importing to a 2a repo11:31
jelmerFauli: I'm not sure - I won't have time for it any time soon, maybe one of the other bzr-gtk folks will11:32
Faulijelmer: Could you convince them or should I file a bug for that?11:35
lifelesspoolie: guess - good.11:37
lifelesspoolie: you can ring if you need to chat but I'm not at the laptop after these lines11:37
lifelessvila: yes, I suspected shutdown would be useful11:37
jelmerFauli: can you perhaps mail to bzr-gtk@lists.canonical.com ?11:37
lifelessvila: this starts to smell less like a pycurl bug with that data11:37
* lifeless goes again11:37
Faulijelmer: Done.11:39
jelmerFauli: thanks11:40
mwhudsonjelmer: what goes wrong in 1.9-rr?11:53
mwhudsonjelmer: https://code.edge.launchpad.net/~vcs-imports/git/trunk:)11:56
mwhudsonjelmer: also https://code.edge.launchpad.net/~vcs-imports/wine/git-trunk :(12:09
=== mrevell is now known as mrevell-lunch
=== mario__ is now known as pygi
=== mrevell-lunch is now known as mrevell
jelmermwhudson: in 1.9-rr xml-invalid characters are squashed13:48
jelmermwhudson: meaning that you need the cache for proper incremental imports13:49
vilajelmer: I'd be happy to *help* release bzr-gtk but I don't know what need to be done to make a release13:54
jmljelmer, thanks14:23
Takjelmer: good $timeofday14:24
jelmervila: there's a tasklist here: http://bazaar-vcs.org/bzr-gtk/releasing14:30
jelmerTak: hey14:30
TakI had the same bzr-svn error again yesterday :-/14:31
TakI couldn't find any cache dir to remove this time, but a rebase seems to have "fixed" it for now14:32
jelmerTak: please file a bug next time you hit it14:34
Takok - I can't seem to reproduce it consistently - just a couple times I've gone to pull, and bam14:39
vilajelmer: from http://bazaar-vcs.org/bzr-gtk/releasing, I can push a branch where 1-6 are done, I can then do 15-18, can you do 6-14 ? (12 and 13 being... optional it seems, see updated wiki)14:52
Pilkydid bzr get a new progress bar in 1.16?14:52
vilaPilky: changes where made in that area yes14:52
Pilkycool, it's a hell of a lot more useful than it was before :)14:53
vilaPilky: compared with what ?14:53
Pilkywell I've got 1.10 on my main machine and it doesn't show as much info and seems to be kinda buggy, but 1.16 on my laptop seems more informative and not buggy14:54
Pilkythough I didn't realise I was that far behidn on my main machine14:54
vilaPilky: oh, so, you just discovered the traffic blinken lights :)14:56
ramaralHello, I'm new to Bazaar. I was going through the tutorial (mini version) and tried to publish to my ftp website and got this error message "FTP temporary error 451:......." I noticed some of the files and directories were created on the ftp server but my version files were not copied. Can anyone help me resolve this?15:12
=== andreas__ is now known as ahasenack
vilaramaral: it would help if you say what is after the 451, if it's about appending, you're likely out of luck with a server that doesnt' support a feature bzr need15:15
ramaralThe stuff after the 451 error is "/Projects/myproject/.bzr/repository/upload/iqbx62....ftech: Append/Restart not permitted, try again. retrying."15:18
bialixvila: bonjour15:18
vilaramaral: exactly15:21
vilabialix: hi !15:21
ramaralvila: do you mean exactly I'm out of luck because my ftp server does not support append or you want the rest of the GUI that I truncated in the last message?15:25
vilaramaral: your ftp server doesn't support append15:29
ramaralOK, thanks for your help!15:30
bialixvila: http://pastebin.com/m7f3976a315:41
bialixvila: any ideas why explicit URL gives this warning every time?15:41
bialixit affects qpull (in qbzr)15:42
bialixcan I file a bug?15:42
vilabialix: <shudder> because some code is stripping the the final '/' you carefully added :-/15:48
bialixqpull reads saved URL and then run bzr pull with exact string15:49
bialixand I've got this every time15:49
bialixit makes bad impression (even for me)15:49
vilathen, the http server, being Apache, insists that you really should put a final '/' if you're talking about a directory, even if it knows damn well that the path is a directory15:49
vilabialix: it's either a trivial patch or a tricky one, depending on how you look at it (I haven't in the last months, but lifeless and abentley discussed it and I seem to remember they ended up with a trivial, I don't remember why it was never submitted...)15:51
bialixso, I'm file the bug. I hope it's possible to fix it in trivial way rather than tricky one15:51
bialixhttps://bugs.launchpad.net/bzr/+bug/39704615:52
ubottuUbuntu bug 397046 in bzr "explicit URL for pull command: bzr eats trailing slash from URL and then complains about permanent redirection" [Undecided,New]15:52
abentleyvila: I don't remember.15:54
vilaabentley: what ? The fix or why it wasn't submitted ?15:55
abentleyvila: All I remember was agreeing that it should be fixed.15:55
vila:)15:55
bialixI don't find a similar bug report to mine15:55
jammorning vila, bialix16:05
jambtw vila, it seems "Review: approve" doesn't work anymore16:05
jamyou need to do "vote: approve"16:05
jam(I've run into this a couple times where I approved something and LP didn't notice)16:05
bialixjam: good day16:06
vilaI did it yesterday and it did work16:06
jamvila: it didn't work here: https://code.edge.launchpad.net/~jameinel/bzr/1.17-rework-annotate/+merge/828116:06
jamnot sure why16:06
vilabut the mail should be signed16:06
vilarats, I forgot to sign that one too ???16:06
vilaI thought you got an error mail in that case but may be that changed :-.16:07
vilajam: I'm reviewing your lru-cleanup, let's see16:08
vilahmm, reading the help again: Note that you must start the command line with a space or your command will not be recognized.16:10
jamvila: sure, I thought you had16:11
jamI *think* vote is for the vote of the specific patch16:11
jamand Review is the overall status of the merge request16:11
jamso doing *both* is actually reasonable16:12
vilavote (deprecated: use review)16:12
jamvila: where is the help?16:12
vilahttps://help.launchpad.net/Code/Review16:12
vilaand needs_fixing *really* sounds like tweak to me16:13
vilaapprove: go ahead, merge, needs_fixing: merge with the little changes asked for, resubmit: too many changes asked for, I'd like to view the result16:13
vilaoh nice: reviewwer16:14
vilaoh nice: reviewer16:14
vilaor maybe tweak is really: review needs_fixing, merge approved16:14
jamso it seems that "merge" is now the overall status16:15
jamand "review" is the status of my personall review16:15
jamalso interesting16:16
jamthe "review" commands are actions16:16
jam(approve, disapprove)16:16
jambut the "merge" commands are *states*16:16
jam(approved, rejected)16:16
jamprobably not the best design16:17
vilareview approve, merge rejected :-/16:17
vilajam: it worked16:18
jambug #39704916:19
ubottuLaunchpad bug 397049 in launchpad-code "code review email interface inconsistent command types" [Undecided,New] https://launchpad.net/bugs/39704916:19
bialixjam: I have no chance to test/review your patches for bzr-explorer in next few days, because I'm in the process of finishing urgent tasks before my vacation. I hope igc will be able to review them16:24
jambialix: no problem, I hope you have a nice vacation16:25
bialixI hope too16:25
jama couple are pretty trivial, though16:25
bialixit's a bit short -- only one week16:25
* bialix waves, need to go16:26
mgedminwhat was the name of that plugin that showed notification bubbles when people committed changes in your local LAN?16:30
mgedminsomething to do with bzr-avahi, no?16:30
* mgedmin plays with bzr help and find bzr lan-notify16:32
mgedminbzr commit-notify doesn't exist in my version of bzr-gtk :(16:38
jamvila: I have to duplicate the line to get it into the finally block16:41
jamwhat would you rather see?16:41
vilawow, a new brain ?16:42
vilaif misread the else as being aligned with the try :-/16:43
* SamB wonders what happens when you use bzr-svn to commit a non-linear revision graph16:43
vilaI know, doesn't make sense16:43
* SamB supposes there's one way to find out ...16:43
vilajam: then just a comment in the finally block that you want to ensure the node is warm enough16:45
jamvila: yeah, I added finally comments16:45
jamabout why we are using them16:45
vilaok16:46
SamBwarm? like, won't go out of cache?16:46
jamSamB: moved to the front of the LRU in an LRUCache :)16:47
jamvila: btw, I did end up inheriting from _py.Annotator in _pyx.Annotator, and it does simplify things a bit16:47
jamso cheers for the idea16:47
vilayeah !16:47
jamIt also meant I didn't need to create _NeededTextsIterator16:47
jamto compensate for the fact that pyrex doesn't support yield16:47
jamwhich is a fairly big win for complexity16:48
vilaregarding pyrex, I browse the archives a little bit but I wasn't convinced there was a lot of activity there... and I see a lot of references to cython, did you research cython yourself ?16:49
jamvila: cython is a fork of pyrex that sounds "better", I believe bialix uses it and like its16:50
jamthat said16:50
jamit wasn't as widely available16:50
jam(as in, no packages for Ubuntu)16:50
jampyrex is basically maintained by 1 person that wants fairly strict control over it16:50
jamas he wants to understand everything that goes into the codebase16:50
jamcython is (AIUI) maintained by many people16:51
jamso if we were to go to the effort of packaging our own thing16:51
jamwe should certainly consider switching to cython16:51
jamvila: certainly the 0.9.8 stuff (supporting "cdef list foo" was brought into pyrex from cython)16:51
vilaouch16:52
jamvila: http://wiki.cython.org/FAQ#WhatistherelationbetweenCythonandPyrex.3FArethebarriersbetweenthetwobasedontechnicaldirection.3FDifferinggoals.3F16:52
jamthough I think the "for x in blah" was also brought into pyrex16:53
vilaok, I'm printing the Cython manual and willl read it at night16:53
vilajam: blah that url is unreadable :)16:53
jamvila: first item on:16:53
jamhttp://wiki.cython.org/FAQ16:53
vilajam: kidding, the page *is* readable :)16:53
jamautogenerated urls... yummy16:54
* SamB curses Debian and/or GNU for the lack of bash.info, even in non-free ...16:55
vilajam: If we go to the point where we archive the .c files, we'll get also lower the constraints on the tool we chose...16:55
jamvila: as long as you can make versioning auto-generated files palatable16:57
jamwhich seems to be the bigger issue16:57
vilajam: I agree. But does cython suffers from the same problem ?16:58
* mgedmin finds bzr-notify17:00
jamvila: cython shares enough history with pyrex that I'm 75% sure it does17:01
jamon the plus side, cython uses Launchpad's bug tracker :)17:01
jamthough the user mercurial as the VCS17:02
=== garyvdm changed the topic of #bzr to: Bazaar version control system | 1.16.1 released 26th June, 2009 | http://bazaar-vcs.org | http://irclogs.ubuntu.com/
jamhmm.. looks like they might be packaged in Jaunty17:02
jamgiven that they have some [jaunty] bugs :)17:03
vila0.10.3 in jaunty, bug they seem to use trac not launchpad...17:03
jamvila: well their wiki points you to answers.launchpad.net17:05
vilajam: yeah, weird17:05
jamoh, it also seems that pyrex is pure python, while cython bootstraps itself17:05
jamvila: so I still see absolute paths in the "cython.py foo.pyx" output17:11
jamso yes, they suffer the same issue17:11
vilahmm17:11
* vila EDOing17:14
jamsure17:14
jamgoing a bit further, they even include the code snippets in the output17:15
jamwhich means it is a bit bigger, and changing line 10 causes noise in the diff for line 11's comment17:15
garyvdmHi bialix17:29
=== sdboyer is now known as Guest45719
garyvdmHi amanica18:00
amanicagaryvdm hi!18:01
amanicagaryvdm: nice new photo..18:07
* bialix bbl18:12
ramaralUser question: I'm test driving bazaar following the mini tutorial. I've created a local repository and pushed it onto an ftp server. I'm having trouble getting those files from the server. The files were pushed to ftp://<server name>.com/Projects/myproject, I'm trying to get them into a different local directory (simulating a different user) like this "bzr branch http://<server name>.com/Projects18:16
ramaral/myproject. I get the error "ERROR: A Subversion remote access command failed: Server sent unexpected return value (403 Forbidden) in response to OPTIONS request for http://<server name>.com/Projects/myproject". Help?18:16
amanicaramaral: I assume you didn't use svn at all for this, and that you have the bzr-svn plugin installed?18:21
ramaralamanica: Yes, no SVN. I can only assume I have a bzr-svn pluggin. I installed the Windows version of Bazaar. I was surprised to see references to SVN.18:23
amanicaah, ok yes it is bundled with that afaik18:23
amanicathis sounds like a bug I saw18:23
amanicayou can try: "bzr --no-plugins branch http://<server name>.com/Projects/myproject. "18:24
amanica(space before the last .)18:25
ramaralOK, let me try that, one min...18:26
ramaralamanica: Now I get "ERROR: Not a branch : http://<server name>.com/Projects/myproject". For server name should I be using "www.<server name>.com" or "ftp.<server name>.com"18:29
amanicacan you browse the http site you are trying to branch from/18:31
amanicais it shared over ftp and http?18:31
ramaralI'll try that too a little later, have a meeting now...thanks amanica18:33
amanicaok ramaral, np18:33
bialixgaryvdm: hi19:05
schmichaelsomehow i've got my branch set with a "submit branch: ."19:11
schmichaelsp now merge is using "." by default instead of my parent branch19:11
schmichaels/sp/so19:11
schmichaeli'm not even sure what a submit branch is or (more importantly) how to get rid of it19:12
schmichaelit appeared when i was playing around with "bzr merge --preview"19:12
bialixschmichael: use merge PATH --remember to override it19:21
schmichaelbialix: any clue how i caused it?  or what a submit branch is?19:28
bialixтщ19:28
bialixno19:29
bialixschmichael: maybe you playing with `send` command?19:30
schmichaelnope, just merge...19:31
schmichaelweird huh?19:31
bialixweird? sometimes it makes sense to look at commands history19:32
dgoulethello people, is it possible to create a branch but with a revision history reset ? (not getting the revision history)19:33
bialixbzr init?19:33
dgouletwithout*19:33
dgouletoups sorry, from an existing repo19:33
dgouletbzr branch from an existing repo but without the history19:33
dashdgoulet: why create it in an existing repo if you don't need the history in that repo?19:33
dasha repo is just a collection of revisions :)19:34
dash(mostly)19:34
dash'bzr init' sounds right to me19:34
dgouletthe point is that I have some standard file in a bzr repo. I want to create a branch from that to get these "default file" but without getting the 18673 revision history19:35
dgouletbecause some file previously deleted or uncommit might be confidential19:35
dgouletare you following me?19:35
dashhmm, do you perhaps want 'bzr export'?19:36
dgouletyep but then I can't make anymore diff with the parent repo  right..?19:36
dashright19:36
dashwait19:36
dgouletthat's my problem19:36
dgouletI want to be able to diff19:36
garyvdmbialix: I'm looking at bug 395817. I think the fix will be in pipeline, and not qbzr.19:37
ubottuLaunchpad bug 395817 in qbzr "qbzr and bzr-pipeline not compatable." [Medium,New] https://launchpad.net/bugs/39581719:37
dashdgoulet: then you need the history19:37
garyvdmbialix: Any thing that I can help with?19:37
garyvdmUpdate NEWS.txt?19:37
bialixgaryvdm: I'm thinking what should be in NEWS19:37
bialixyeah!19:38
bialixyou read mymind19:38
bialixmy mind19:38
* bialix tired a bit19:38
schmichaelbialix: its a bit embarrassing, but here's my bash history :) http://dpaste.com/64664/19:38
schmichaelsomewhere around 507, "submit branch: ." was added (afaict)19:39
bialixschmichael: have no idea19:40
bialixI don't think it's horrible bug19:40
dgouletok well... to be able to make a diff we need a "common ancester" so there is no way we can connect the first revision of the new branch to the last revision of the main repo ? hehe19:40
bialixyou can always override this settings or even delete it (see .bzr/branch/branch.conf file)19:40
schmichaelbialix: thanks for your help!19:41
bialixdgoulet: -r0..N is the trick19:41
dashdgoulet: so you want a branch who shares history with another branch, but doesn't share history with another branch? :)19:41
dashdgoulet: perhaps your problem is not with bzr :)19:41
dashdgoulet: if the issue is just downloading all the history to a remote host, there are stacked branches and lightweight checkouts19:43
bialixgaryvdm: revno 785: it's about compatibility with bzr 1.17?19:44
garyvdmbialix: Yes19:45
bialixI'll mention it in the NEWS then19:46
garyvdmAnd rev 78719:46
bialixwhat's 790?19:47
bialixit was bug?19:47
bialixor just regression?19:47
bialixgaryvdm: thanks for fixing revno painter!19:54
garyvdmCool - but it was not me - it was luks19:55
bialixrats19:56
bialixsorry luks: many thanks to you19:56
dgouletdash: lightweight checkout consist of?19:57
dashdgoulet: a working tree and a reference to a remote branch19:58
dgouletok right19:58
bialixgaryvdm: so here is news: http://pastebin.com/mf7817af19:59
bialixis there anything I'm missing?19:59
dgouletbut let me be clear (might be confusing...). There's a repo bzr on a server A containing files and a very large number of revision (over 18000). What I want a do is to create a branch from that repo on a server B BUT without getting all revision history but still having a link to the parent branch so I can make diff20:00
dgouletclearer? lolo20:00
dashRight!20:00
dashso maybe you want a stacked branch20:00
dashwhich you can make local commits to, but doesn't store all history20:01
dashinstead it references a different branch as its parent20:01
=== nevans1 is now known as nevans
garyvdmbialix: Re:790 I added the feature before 0.10 (rev 720) but broke it before 0.10 (rev 729) - So we should mention it as a new feature.20:01
dashwhen it needs data from the remote branch, it fetches it.20:01
dgouletI see20:02
garyvdmbialix: I would like to add some detail.20:03
bialixgaryvdm: "Working Tree" label in qannotate looks a bit strange20:03
dgouletI found the page on doc.bazaar seems very interesting20:03
dgouletthanks a lot dash! much appreciate!20:03
bialixgaryvdm: I can commit my version and you'll have a chance to improve it, or you prefer pastebin your version?20:03
garyvdmbialix: Commit it. I use a tool bzr that is great for merging stuff like this ;-)20:04
bialixre revno 790: I was under impression it should open new qannotate window. but peraps from speed POV it's better reuse existing data20:05
bialixlog should be updated then I suppose20:05
* bialix committing NEWS20:05
garyvdmI don't change log, because otherwise it's not possible to go back forward.20:06
garyvdmbialix: I'm not sure what you mean about "Working Tree" label in qannotate.20:07
bialixin left bottom corner where graph of revisions shown20:08
bialixlast revision marked with Working Tree lable (on blue background)20:08
bialixpushed20:08
dgouletdash: with stacked branch you can still have all history with bzr log20:09
bialixgaryvdm: run qannotate for qbzr/__init__.py20:09
bialixlatest revno is 80820:09
bialixbut latest change for this file was in revno 78120:10
bialixbut revno 781 is marked in qannotate as Working Tree20:10
dashdgoulet: correct20:10
garyvdmqlog does that if you working tree tip is different from the branch tip.20:10
bialixit's wrong20:10
bialixgaryvdm: I'm working in lightweight checkout20:10
dashdgoulet: that's what you were asking for20:10
dgouletlol no the contrary :P20:11
bialixgaryvdm: so in reality I have 2 wt for one branch20:11
dgouleton the branch, I need NOT to see the log (revision history) ;)20:11
dashdgoulet: if you can't read the log you can't make diffs20:11
bialixthere is used wrong wt20:11
dgouletbut still having a link to the parent branch20:11
dgoulet;)20:11
* bialix checks20:11
dashdgoulet: make up your mind :)20:11
dgouletokok well that's my problem...20:12
dgouletso I think what I want to do is not possible20:12
dashwhy do you want this?20:12
bialixgaryvdm: anyway qannotate wrong: in my branch wt at revno 782, not on 78120:13
garyvdmbialix: Hmmm - What qlog does is if there is are revisions filtered, and the tip is filtered, then the label for the tip is moved down to the next visible ancestor.20:13
garyvdmthat was to fix bug....20:13
dgouletconcept of having a "reference copy" of files and getting these file for client but if the history comes with it ... security issue ;)20:13
bialixfor WT label it's maybe counter-intuitive20:13
dgouletbut if the client modify something on is branch, I want to be able to make diff from the "reference"20:14
dgoulethis*20:14
bialixgaryvdm: there is similar bugs when running qlog on shared repo: lables for merged branches tips shown incorrectly (for mainline revisions)20:14
dashdgoulet: oh, so you don't actually need to make checkins20:14
dashdgoulet: from that reference copy20:14
bialixgaryvdm: I don't want to block this release20:15
bialixbut it's looks not very good20:15
dashdgoulet: use bzr export; when you want to produce a diff, copy their version into the working copy of a branch :)20:15
garyvdmbialix: This feature was to fix bug 27331120:15
ubottuLaunchpad bug 273311 in qbzr "qlog FILE with pending merges: no "Pending Merge" label" [Medium,Fix released] https://launchpad.net/bugs/27331120:15
bialix:-/20:15
dgouletthat's a solution but diff does'nt consider deleted files or permission right?20:15
bialixgaryvdm: ok, I'll try to raise this q again after vacation20:16
garyvdmok20:16
dashdgoulet: well. delete all the files in the wc then copy in your clients' code :)20:17
bialixgaryvdm: pushed again (translations update)20:20
garyvdmok20:20
dgouletwell that's was the plan B hehe20:21
dgouletthx again20:21
bialixgaryvdm: please use https://code.launchpad.net/~qbzr-dev/qbzr/0.12 to merge 0.12-specific changes20:25
garyvdmok20:25
garyvdmbialix: How do we describe rev 791 (revno painter)?20:30
bialixthere was bug20:31
* bialix bbl: House MD on TV20:31
garyvdmqlog/qannotate/qbrowse: Revision numbers are right aligned on the mainline number.?20:32
lamalexCan you guys help me chose a merge algorithm? the default one is giving tons of conflicts and im wondering if using a different one will help20:34
bialixgaryvdm: fine for me20:43
garyvdmAnd I gave an example...20:43
garyvdmbialix: I just pushed some changes for lp:~qbzr-dev/qbzr/0.1220:44
garyvdmbbl20:44
bialixok20:44
bialixgaryvdm: so I'm ready to call it release20:52
lamalexanyone able to help me with this merge?20:56
bialixlamalex: what's up20:58
lamalexbialix: I think a different merge algorithm would help me complete this merge, but im not sure what to pick20:58
bialixdid you saw message about criss-cross?20:59
lamalexno, i know how tohandle that20:59
lamalexgive me a minute, im describing20:59
bialixthere is only 2 algorithms: merge3 and lca21:00
lamalexin the branch im merging into mine, many files that i have edited were renamed and have small edits. Our edits dont conflict however. If I rename all of my files into the same name as the new ones, i get conflicting code paths for every file- no good. if i just merge i get text conflicts21:00
dashlamalex: were the files renamed using 'bzr mv'/'bzr rename'?21:02
garyvdmbialix: cool21:03
garyvdmjam: I'm not sure why. I started using fireGPG, and on all of your mails, it say "Wrong signature".21:05
lamalexdash: looking.. not sure off hand but i think so21:05
jambialix: and --weave21:06
jamwhich IMO is better than --lca21:06
bialixjam: in my experience lca is better for criss-cross21:06
jambialix: than --merge3 yes, than --weave probably not21:06
jambialix: especially given that I did a lot of work on it for mysql21:07
bialixfor me: better, but it's just for me21:07
bialixsometimes weave produce wrong conflicts21:07
lamalexdash: actually no, it doens't appear to be the case21:07
dashlamalex: that's a significant problem then21:07
lamalexmaybe i can bzr mv --after them now..21:07
bialixbut you know better, of course21:08
* lamalex kills the person who did the renaming21:08
jambialix: so a while back --weave was utterly broken21:09
jamI don't know if you used it since I worked on it21:09
bialixI don't know when you worked on it21:10
jambialix: ~ earlier this year21:10
bialixI've not used --weave about a year maybe21:12
bialixwill check it next time when I have some conflicts, thx for the info21:13
lamalexdash: think it's possible to reverse cherrypick the commit that did the mvs, then redo it with bzr mv?21:17
dashmaybe21:17
dashif i knew what "reverse cherrypick" meant21:17
lamalexpick the commit out21:18
lamalexpretty sure thats the term used in the docs..21:18
lamalexdash: http://doc.bazaar-vcs.org/bzr.dev/en/user-guide/index.html#reverse-cherrypicking21:21
bialixjam: one question: if I tag new qbzr release as `release-0.12' instead of `release-0.12.0' it will be ok for your build bzr.exe release script?21:23
RenatoSilvalifeless: hi, about our encoding talk... I did the following...21:23
jambialix: Whatever you name it is what I'll put into build_release.py21:24
jamso right now I believe I use '0.11.0'21:25
jambut I can put '0.12' in there just as easily21:25
bialixok21:25
=== nevans1 is now known as nevans
RenatoSilvalifeless: there's a cmd.getStandardOutput() in the Java plugin. It is an XML, so I read the ascii preamble, get the encoding, change the XML itself to bytes form, then I decode it using the detected encoding. It is xmloutput's compromise to ensure that preamble and data encoding match.21:26
RenatoSilvaverterok: hi Guillermo. I've sent you a new branch to fix encoding in log view. Please forget what I said about the python-like string inside CDATA. It's not python-like, it's really an actual string. I was just confused by python's prompt when I decoded the base64 message...21:28
verterokRenatoSilva: yes, I got the email. thanks!21:29
verterokRenatoSilva: np :)21:29
verterokRenatoSilva: I'll take a look to it tonight21:29
bialixqbzr 0.12 released21:50
* bialix -> sleeps21:50
mwhudsonjam: would a complaint along the lines of "annotate often fails on stacked branches" surprise you?21:51
lamalexhow can I merge all revision since rev X21:51
lamalexbzr merge -r X branch21:51
lamalex?21:51
jammwhudson: I would be shocked and appalled that you would even hint at such a thing :)21:52
mwhudsonhmm seems to be https://bugs.edge.launchpad.net/bzr/+bug/39336621:53
ubottuUbuntu bug 393366 in bzr "KeyError in knit.simple_annotate running annotate on a stacked branch" [High,Confirmed]21:53
* mwhudson comments21:57
lamalexanyone got a suggestion for my merge question?21:59
lamalexbzr merge -r X.. branch21:59
lamalex?21:59
NfNitLoopI dunno, try 'bzr help merge'?22:01
NfNitLoopgenerally I don't specify revisions.22:01
NfNitLoopJust bzr merge branch.22:01
NfNitLoopit figures out what needs merging.22:01
lamalexNfNitLoop: yah tried --help22:02
lamalexdoesnt say and im not sure22:02
mwhudsonlamalex: yeah, merge -r x.. should do it22:02
mwhudsonit'll do a cherry pick though, not a true merge22:02
mwhudsonyou can also merge -r ..x, bzr revert ., bzr commit (this is called a "null merge"), then merge normally22:02
lamalexdoes one have any advantages over the other?22:03
lamalexmwhudson: and just to be sure, that will merge [X,..] or (x,..]22:05
RenatoSilvaverterok: a note about my stacked branch: the encoding comes as cp1252 (not static utf-8 anymore ok) but the data as cp85022:05
RenatoSilvaverterok: in terminal I mean22:05
mwhudsonlamalex: if you'll be wanting to merge from the branch again, the null merge approach is probably better22:06
mwhudsonum, ranges are inclusive start exclusive end for merge i think22:07
NfNitLoopnot according to `bzr help merge`22:08
NfNitLoopstart exclusive, end inclusive.22:08
NfNitLoop81..82 will get the changes introduced by 82.22:08
mwhudsonah right yes22:08
lamalexmwhudson: for that null merge did you mean x.. or ..x22:09
lamalexmaybe i should just describe the problem :)22:10
mwhudsonlamalex: i meant ..x22:10
mwhudsonlamalex: yeah, that's probably a good idea22:10
lamalexSo we had someone add/remove a bunch of files instead of bzr mv them22:11
NfNitLoophttp://doc.bazaar-vcs.org/latest/en/user-guide/index.html22:11
lamalexthis was a few commits back, i'm trying to undo what they've done so that i can cleanly merge with a branch that touches those files and was branched before their work22:11
NfNitLoop"Unlike a normal merge, Bazaar does not currently track cherrypicks. In particular, the changes look like a normal commit and the (internal) revision history of the changes from the other branch is lost."22:11
mwhudsonlamalex: urgh22:12
lamalexNfNitLoop: I'm not sure if oyu're talking to me, but that's irrelevant.22:12
NfNitLoopok.22:12
lamalexso pleas shut up, you're not being helpful. I've read the docs- I'm asking because this is complex22:12
mwhudsonlamalex: so if x is the branch22:12
mwhudsonlamalex: that's a bit harsh, NfNitLoop is trying to help too22:13
lamalexwhich branch :P22:13
mwhudsonlamalex: if x is the revision that screws things up22:13
lamalexmwhudson: you're right. NfNitLoop sorry, im strsessed out trying to fix this22:13
mwhudsonlamalex: i think you can bzr merge -r x..(x-1) .; bzr ci; to undo the messy revision, then merge22:13
mwhudsonif there have been changes to the files added/removed since the messing up, you're somewhat doomed i think22:14
mwhudsonwell not doomed, but it's going to be a fiddle22:14
lamalexthere's the guilty party22:14
lamalexmwhudson: so there are 3 commits (theyre sequential) i want to cut out that22:15
lamalexno, 222:16
mwhudsonlamalex: do subsequent commits change the files that were touched by the commits you want to revert?22:16
lamalex631 and 632, so I would want to bzr merge -r 632..630 .22:16
mwhudsonlamalex: yes22:16
lamalexmwhudson: yeah, these merges touched MANY files22:17
lamalexlike, at least 1 in every dir22:17
mwhudsonthat merge command will probably conflict then22:17
lamalexdo you think it's possible to branch at the last good before the bad, do the rename, then merge the ones after the bad?22:18
dashquite likely22:18
mwhudsonyesh22:18
mwhudsonthat's probably a good idea, actually22:18
mwhudsonman this would be easier to explain with a whiteboard :)22:18
lamalex:)22:19
lamalexthere isprobably some collabo software we could use22:19
mwhudsonyes, but that would not be easier, i expect22:19
lamalexhaha indeed22:19
NfNitLoopOh, yeah, that's what I'd do.22:20
NfNitLoopIf it had just been the *last* commit...22:20
NfNitLoopthere's the handy "Uncommit" command. :)22:20
mwhudsonyeah, the earlier you find these problems the easier, for sure22:21
lamalexindeed22:21
NfNitLoopyou could in theory uncommit twice, if you have a way to reapply the 3rd patch.22:21
lamalexthis is autofoo type stuff22:21
NfNitLoopautofoo?22:21
lamalexso we tend to not review it that hard since RAOF is the only one who /really/ understands22:21
mwhudsonlamalex: i think it's possible that bzr-rebase's replay command will be useful here, but i've never used it22:21
lamalexhm ill look at that22:22
lamalexugh22:25
lamalexmerge failed22:26
lamalexConflict because Zim is not versioned, but has versioned children.  Versioned directory.22:26
lamalexConflict: can't delete Zim/Resources because it is not empty.  Not deleting.22:26
lamalexrepeated many many times22:26
garyvdmI have not been following this to carefully, so this might not be relevant, but rebase uses file-ids and not paths - so I don't think it will help22:26
NfNitLoopyou deleted files in r2, then readded them in r3?22:27
lamalexis there a bzr log flag to just show what files changed and not the diff?22:29
lamalexi guess like a diffstat22:29
lamalexNfNitLoop: i think that's what happened in the revs i'm trying to fix22:30
lifelessbzr log -v ?22:30
lamalexlifeless: yes, wow thank you22:30
lamalexso simple22:30
lamalexso am i just totally fscked?22:33
NfNitLoopwell, you have history up to 3 revisions ago.22:33
NfNitLoopyou can always get your tree before it got all mucked up.22:33
NfNitLoopand a tree after the fact.22:34
NfNitLoopand do a manual merge.22:34
NfNitLoopif you're on linux, I recommend 'meld'. :)22:34
lamalexthat's essentially being totally fscked22:34
NfNitLoopwhy's that?22:35
lamalexbecause that's a lot of work, more work than not fixing this issue and merging the branch that is the reason im trying to fix this manually22:36
lamalexwhich is also a lot of work22:36
lamalexbut less than this22:36
lamalexhmm.. when I merge my top part of the tree, the ones after it got mucked, it basically deletes EVERYTHING22:38
NfNitLoopwell, if you've made so many changes to the source tree in one revision that the one prior can't be cleanly reverse-merged...22:38
lamalexwhy the hell would it be doing that22:38
NfNitLoopthen, yeah, you're out of luck.22:38
NfNitLoopbut that's the case with any SCM.22:38
NfNitLoop"merge the top part of your tree"?22:39
lamalexthe commits after the botched ones im trying to fix22:41
lamalextree looks like this: 1---630 | 631, 632 | -- HEAD22:41
lamalexI want to cut out 631, 632 and replace them with a commit that effecively does the same thing22:42
lamalexbut does it sanely, at 632 the tree would look the same, only have a slightly different history22:42
lamalexs/at 632/after 63222:42
NfNitLoopso you're trying to change the history, but leave the file contents as-is?22:43
lamalexeffectively22:43
NfNitLoopOH.  that's not what I was understanding earlier.22:44
NfNitLoopHrmm.22:44
NfNitLoopOh, but in 631 you removed some files, and in 632 you re-added them?22:44
lamalexIn 631 a bunch of files were added, I actually have no idea how they were added, probably via some weird script RAOF wrote. They're basically copies of some other files with the same minor change to each one22:45
lamalexthen in 632 the old ones were removed22:45
NfNitLoopThat sounds fine.  WHy are you trying to rewrite history?22:46
lamalexso what should have been a bzr mv, edit, commit was something like copy, edit, commit, remove22:46
NfNitLoopright.22:46
NfNitLoopIt's total SCM fail.22:46
NfNitLoopbut, it's done.22:46
lamalexright, and im trying to find a way t fix it22:46
dashNfNitLoop: but now he needs to merge22:47
NfNitLoopaha.22:47
NfNitLoopSo, yes, to fix it, you're going to have to do it the right way.22:47
NfNitLoopcreate a branch at r630.22:47
NfNitLoopwrite a script to do the renames.22:47
NfNitLoopvia bzr.22:47
lamalexright, this is easy22:47
NfNitLoopand then do a cp -r to copy the new changes on top of them.22:47
NfNitLoopand commit.22:47
lamalexwait, cp -r to what?22:48
NfNitLoopthen throw away the broken branch and shoot the idiot that caused that issue. :p22:48
NfNitLoopso, say you've got broken_head/22:48
NfNitLoopbzr branch broken_head fixing -r 63022:48
lifelessNfNitLoop: you know we have a heuristic now?22:48
NfNitLooplifeless: a wha?22:48
NfNitLooplamalex: cd into fixing/ and run your script to do bzr mv commands.22:49
lifeless'bzr mv --auto'22:49
lifelesslamalex: heres what I suggest:22:49
NfNitLooplifeless: Oh, nice!22:49
NfNitLoop<3 you guys. :D22:49
lamalexlifeless: that's cool to know22:50
lifelessbzr branch -r 630 foo bar22:50
lifelessbzr diff -r 630..632 foo | patch -p022:50
lifelessbzr mv --auto22:50
NfNitLoophot!22:50
lifelesspoke around, it should be right22:50
lifelessbzr commit22:50
lifelessbzr replay -r 631.. foo22:51
lifelesserm actuallly the last one will fail22:51
lamalexwhere does replay come from?22:51
lifelessso just manually (bzr diff -c 632 | patch -p0), repeat22:51
lifelesscommit22:51
lifelessdiff -c ...22:51
lifelessthrough any remaining commits22:51
garyvdmlamalex: bzr-rebase plugin22:51
lamalexah, is there a version that works with 1.16?22:52
lamalexthe one in the jaunty repo doesn't22:52
NfNitLooplifeless: he's saying to do diff | patch, anyway.22:52
NfNitLoopso you don't need replay.22:52
lifelesslamalex: ^^22:52
lamalexlifeless: so i need to bzr diff -c N for each rev until HEAD?22:53
lifelesslamalex: bzr diff -c N | patch -p0; commit22:54
lifelesslamalex: and yes, for 632, 633 etc22:54
lamalexlifeless: so i branch -r 630 foo bar22:56
lamalexdo my renames22:56
lamalexi need to give bzr diff a --old dont I?22:56
lifelesslamalex: no22:57
lifelessto do the renames do22:57
lifelessbzr diff -r 630..632 old | patch -p0 ; bzr mv --auto22:58
lifelessthat should pick them all up for you22:58
lamalexlifeless: so i dont branch foo bar?22:58
lifelessyou do22:58
lifelessI skipped that step :P22:59
lamalexright, so do i have to do the renames that way?22:59
NfNitLoopthe diff|patch does the renames.22:59
lamalexi already have a bash line in my history that does the renames22:59
NfNitLoopactually, the diff|patch will re-move the files...22:59
lifelesslamalex: it does the renames and the first change22:59
NfNitLoopbut before you commit, you do: bzr mv --auto22:59
NfNitLoopwhich does the renames automatically.22:59
RenatoSilvaverterok: about what I said: "a note about my stacked branch: the encoding comes as cp1252 (not static utf-8 anymore ok) but the data as cp850"...23:00
RenatoSilvaverterok: it is calling osutils.get_user_encoding() instead of bzrlib.user_encoding23:00
verterokRenatoSilva: ok, osutils.get_user_encoding is the preffered way, bzrlib.user_encoding is deprecated23:01
lifelesshttp://pastebin.com/m5fdf57c123:01
verterokRenatoSilva: the xmlrpc service handle that, so it should use utf-823:01
RenatoSilvaverterok: really? then all the other code generating xml needs to change , xmllog is the only using osutils.get_user_encoding().23:02
lifelessverterok: you probably *don't* want to autodetect user encoding though, if you want to specify always-utf8-output23:02
lamalexlifeless: all of those bzr diff commands will fail23:02
lifelesslamalex: why?23:02
lamalexyou dont hvae a 63X in your tree23:02
lamalexyou branched at 63023:02
lifelessargh23:03
lifelessI missed the path23:03
NfNitLooplamalex: he means bzr diff t"damaged"23:03
verterokRenatoSilva: probably :)23:03
NfNitLoopor, ../damaged23:03
lifelesshttp://pastebin.com/m1084f4e23:03
RenatoSilvaverterok: but notice that osutils.get_user_encoding() is returning cp1252, but xmllog is returning cp850 data (from terminal)23:04
verteroklifeless: xmloutput don't detect encoding, it's actually hack, but it set the osutils,_cached_user_encoding ;)23:04
RenatoSilvaverterok: this makes the xml document invalid23:04
verterokRenatoSilva: in the terminal, the encoding is detected23:04
verterokRenatoSilva: only in the xmlrpc service is forced to utf-823:04
RenatoSilvaverterok: I'm running manually, no xml-rpc23:04
lifelessRenatoSilva: thats really bad :(23:04
lifelesssorry23:05
lifelessverterok: ^^23:05
lifelessbecause, your service is unfriendly to other bits of bzr that way23:05
verteroklifeless: yes, as the xmlrpc is running commands and processing the output23:05
verteroklifeless: my idea is to move out from executing commands over the xmlrpc service, and instead publish real xmlrpc methods23:06
RenatoSilvaverterok: I open a terminal, which is cp850, then I run bzr xmllog, then I get a preamble <?xml [..] encoding="cp1252"?>, however the whole output itself is cp850...23:06
verterokRenatoSilva: xmllog don't fiddle with encoding, only the xmlrpc service23:06
verteroklifeless: the only *real* xmlrpc methods published ATM is search23:07
lifelessverterok: heheheh23:07
verteroklifeless: and the one bzr-eclipse uses is run_bzr_xml23:07
RenatoSilvaverterok: even if you put cp850 in preamble, it seems that cp850 is an invalid value for an XML document, that is, you need to ensure that any detected charset has a compatible name. In my case, the preamble could declare cp850, it would be still an invalid XML documet anyway (I can't open it with the browser).23:07
verterokRenatoSilva: Firefox? or IE?23:08
verteroklifeless: run_bzr_xml is a wrapper around commands.run_bzr that returns xml version of the exception in case of error23:09
verteroklifeless: that's the main issue with the xmlrpc service, we need to move it to pure methods :)23:09
lifelessverterok: so arguably the bug is that this variable is global state and not a Command attribute?23:09
verteroklifeless: I don't think so, in this case RenatoSilva is executing from the terminal, and xmllog uses the info provided by bzr, maybe something is wrong with the way encoding is used or detected in xmllog23:10
verteroklifeless: the only place that xmloutput changes global state is the xmlrpc service started with: bzr start-xmlrpc23:11
lifelessverterok: but RenatoSilva is doing this to test for bzr-eclipse, which does use the service ;)23:11
verteroklifeless: yes, but now he is testing in the terminal23:11
verterokRenatoSilva: ?23:11
verterok^ right?23:12
lifelessso I'm saying that encoding results in the terminal don't help testing what the service does ; )23:12
verterok:)23:13
RenatoSilvaverterok: a monet pelase...23:13
verteroklifeless: for testing the service, besides the small tests, there is an example of a python xmlrpc client ;)23:14
* verterok need to write more tests23:14
RenatoSilvaverterok: reading...23:14
lamalexwonderful, some of this involves binary files23:14
RenatoSilvaverterok: xmllog don't fiddle with encoding, only the xmlrpc service --> it is responsible too as it declares a preamble :)23:15
lifelesslamalex: urggle. Many?23:15
verterokRenatoSilva: yes, but XMLLogFormatter is using osutils.get_user_encoding() to set the encoding in the preamble23:17
verterokRenatoSilva: and looks like isn't encoding the output :)23:18
lamalexlifeless: not sure honestly, ill figure it out though23:18
RenatoSilvaverterok: IE says cp850 is invalid, FF ignores it and tries to decode as latin-1.23:19
RenatoSilvaverterok: ...23:19
verterokRenatoSilva: ok, thanks23:20
verterokRenatoSilva: I think the problem is that the message in the CDATA isn't encoded explicitly23:20
RenatoSilvaverterok: yes I'm testing in terminal, no xml-rpc!23:22
RenatoSilvas/monet/moment23:23
verterokRenatoSilva: would you try this patch? http://bazaar.pastebin.com/m2ec81e8323:24
RenatoSilvaverterok: es, but XMLLogFormatter is using osutils.get_user_encoding() to set the encoding in the preamble ---> either it should encode data with get_ser_encoding(), it it should put the current encoding (terminal) in the preamble23:25
lamalexlifeless: mwhudson: NfNitLoop: thanks so much for your help23:25
RenatoSilvaverterok: in the latter case if would break the XML in my case anyway....23:25
verterokRenatoSilva: right23:25
mwhudsonlamalex: np, did you get somewhere in the end?  work distracted me23:25
lamalexmwhudson: yah, lifeless helped me solve it23:26
lamalexnot full-auto23:26
RenatoSilvas/it it/or it23:26
mwhudsoncool23:26
lamalexbut semi23:26
RenatoSilvaverterok: about the patch, actually it's line 16923:35
RenatoSilvaverterok: I get an UnicodeDecodeError23:35
RenatoSilvaverterok: non-ascii chars in the message, to check encoding behavior23:36
verterokRenatoSilva: ok, that's what I wanted to know23:37
RenatoSilvaverterok: sorry, IE says it does not support *cp1252*23:38
RenatoSilvaverterok: how about this...23:39
verterokRenatoSilva: I don't know how much this is going break (don't know how many people is using xmloutput via the cli), but we could do the "always utf-8" encoding for all commands23:39
verterokar at least add a --encoding arg to all xmlcommands23:39
verterok*or23:39
verterokso the user can specify what encoding to use, but use utf-8 by default23:39
RenatoSilvaverterok: how about this patch: http://pastie.org/53936123:41
verterokRenatoSilva: that's the terminal encoding right?23:42
RenatoSilvaverterok: IE deals with cp850 correctly, but FF does not. No error is raised, but it thinks it's a latin-1 XML, ignoring the preamble.23:42
RenatoSilvaverterok: not necessarily, it's the same encoding of the place where I'm writing23:43
verterokRenatoSilva: if this works on windows, I'm ok with it :)23:44
garyvdmI want to define 2 classes with the same name for a test. Is there a way to have a sub module in the same file in python ?23:45
RenatoSilvaverterok: data destination is to_file, and I'm guessing to_file.write is using to_file.encoding23:45
dashno23:45
dashwhy should they have the same name?23:45
verterokRenatoSilva: I think so23:46
garyvdmdash: I'23:46
garyvdmdash: I'm testing the decorating of commands.23:46
garyvdmand the command registory get the name of a command from class.__name__23:47
RenatoSilvaverterok: well it is right? even if you overwrite to_file  with codecs.getwriter, such a writer will set encoding prpoperty porperly, right? The only exception if if you put a dog acting a a duck, I mean, you change to_file with a self class containing a write method, but I don't think you have stuff like this in the code, I guess :)23:48
verterokRenatoSilva: yes :)23:48
RenatoSilvas/if if/is if23:49
RenatoSilvas/prpo/prop23:49
RenatoSilvas/a a/as a, sorry!23:49
RenatoSilvaverterok: yes you have, or yes you don't? :)23:50
verterokRenatoSilva: yes, xmloutput don't have such code :)23:50
RenatoSilvaverterok: ok then I think the patch is fine23:51
RenatoSilvaverterok: the problem with trying to always use utf-8 in preamble is that you have to ensure that the data will also be the same, and I can't figure out a way to make to_file behave like this. If you use codecs.getwriter, then it will fail when receiving str objects. AFAIK to_file is provided by the super class from bzrlib, and as such other "guys" may be writing str objects to the file...23:56
RenatoSilvaverterok: out of xmloutput control23:56
verterokRenatoSilva: yes, it's a but tricky, I think that using your patch would solve the terminal issues, regarding the xmlrpc service, I think using the encoding specified in start-xmlrpc (once de patch lands in trunk) should solve the issues with bzr-java-lib (plus your patch)23:58
garyvdmFor tests, is it ok to call self.addCleanup from setUp?23:58
verterokRenatoSilva: if someone is writting bad data to the to_file, I'ld say that's a bug :)23:58

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