/srv/irclogs.ubuntu.com/2011/12/01/#bzr.txt

=== r0bby_ is now known as robbyoconnor
vilahello bazaristas !07:41
poolievila, hi07:53
nigelbbazaristas is a bizzare word ;)07:55
poolievila i want to go soon but i would like to write some config developer docs07:55
pooliefirst07:55
poolieis there anything more up to date than configuration.txt?07:55
vilaI was thinking about that too while discussing with jelmer the other day,07:56
vilahe mentioned that devnotes/configuration.txt should go in bzr.dev (can't remember where exactly but there is a place we talk about our plans)07:56
vilabut back to the dev subject itself,07:56
poolieah07:57
poolieyes i think it should go there07:57
vilaI happily review/complete whatever you want to wrote07:57
pooliedevnotes was interesting but just putting it in trunk is better07:57
pooliewe land things faster now07:57
vilaok07:57
pooliewe do need to garden out stuff that gets old07:57
vilacrap, I have local revisions to push to devnotes08:00
vilapushing^H^H^^Hed08:01
vilaI will review/submit that08:01
vilatargeting at trunk that is08:01
poolieso reading that document08:02
poolieit's fine08:02
pooliebut it starts with a kind of longwinded explanation of current problems08:02
poolie1- these will eventually be fixed08:02
poolie2- i just want to look up an option!08:03
vila1) if we keep track of it yes08:03
vila2) right, user guide vs reference guide08:03
poolieso what we have in the tree should perhaps be structured as08:04
pooliebrief overview08:04
pooliehow to use the common cases08:04
pooliemore details08:04
vilaso, will a rewrite on the document follows ... hehe08:04
pooliethen, the kind of changes we want to make08:04
vila1) how to use 2) reference guide 3) pending issues08:05
vilahehe08:05
vilawfm08:06
vilapoolie: any related bug you can think of or should I just go from our discussion here ?08:11
poolieah for what?08:11
pooliedocumentation of configuration?08:11
pooliei think08:11
vilaclarifying the config , yeah08:11
pooliei'll just put up an mp answering my questions08:11
poolieyou can tell me if the answers are right :)08:12
vilahehe, k, no bug then. Can you use a lp:~bzr branch so I can push there too ?08:13
vilapoolie: in other news, I requeue a bunch of imports yesterday,08:14
pooliegreat08:14
pooliegood idea about a team branch08:15
vila~20 now succeeds, ~50 moved from one kind of failure to another, I started digging the find_unimported_versions:check (74 failures) ones which led to an interesting discussion with jelmer08:16
poolienice work08:16
vilathe 74 failures may also be related to the other 43 ones from find_unimported_versions (no :check)08:16
pooliespeaking of which, i wasn't sure if you heard the other day i made your terrine08:17
poolievaguely speaking of which08:17
vilareally ?? Great ! So ?08:17
poolieit was good08:17
vila:)08:17
poolieyour corrections were on point - it would have been too salty otherwise etc08:17
poolie:)08:17
vilaI'm glad you enjoyed it :) Will tell my friend his recipe went around the world ;)08:17
vilapoolie: and did you manage with the advices about how ti find if it's cooked or not ?08:22
vilas/ti/to/08:22
pooliei did08:22
pooliei used a thermometer too08:22
vilacheater :)08:23
pooliei think it could have done with a little less time08:23
poolieanyhow i thought it might please or amuse you to know08:24
vilaoooh, that reminds me that I cheat too (yeah, thanks, pleased and amused indeed):08:24
vilaI made several terrine in various sizes so the smaller ones are finished first and help get the biggest one right08:24
poolieok https://code.launchpad.net/~bzr/bzr/doc/+merge/8406908:24
vilaand also allow the chief to taste before serving ;)08:25
poolie:)08:25
poolieok08:26
pooliei've pushed my stuff08:26
pooliei think i'll log off soon08:26
vilawaiting for lp to refresh08:26
vilaenjoy your evening (and week-end right ?)08:26
pooliethis was leading up to changing to append_revisions_only08:26
pooliethanks, yes08:26
vilayeah, I've seen your bug comment,08:26
vilathe last experience we did was on the importer but I need to refresh my memory about why we reverted it and whether or not it should block making it the default (I strongly hope not)08:27
vilaand yes, -Oappend_revisions_only should work (and if not, should be fixed)08:27
vilaand yes, -Oappend_revisions_only=False should work (and if not, should be fixed)08:27
mgzmorning!08:29
vilamgz: hey !08:29
poolievila so was my patch actually correct?08:30
poolie:/08:30
vilawhich one ?08:31
vilaI haven't see a patch for a_r_o yet, but I agree (strongly) with the intent08:31
pooliethe doc thing08:31
poolieanyhow08:31
poolienot a big deal08:31
pooliei'm not going to finish a_r_o this week, i think08:31
vilayup, doc thing sounds good, perfect for driving my answers08:31
vilathere is one important thing missing though: which stack you chose for a given option defines where it can be defined and where the modifications will be made08:32
vilai.e. GlobalStack or BranchStack for example08:33
vilaweird, nexuiz-data is at it again, consuming 4GB without any obvious output... (but 100% CPU)08:36
vilafor hours it seems08:36
fullermdMaybe they borrowed some developers from firefox.08:37
vilaDuplicateKey: Key new-362 is already present in map, yeah 362 ! will be so fun to debug :-}08:38
mgzvila: do you remember the trick to get localised strerror? I did it on a box at home but now can't get it working here.09:14
mgzwhat I've done is `dpkg-reconfigure locales` to get some non-english ones, and then set LAND and LC_ALL and use locale.setlocale09:15
mgzbut... that seems to not be enough09:15
vilamgz: LANG but yeah should do09:15
mgzyeah, that was just an IRC tyop.09:16
vilamgz: on the other hand, I'm definitely the one to ask for that: I switch to C decades ago and never looked bac k;)09:16
vilathis is supposed to Just Work, with additional tweaks via LANG09:17
mgzokay, fail at that, dug up another bug by accident instead09:25
mgzworked it out at second try, also have LANGUAGE env var that breaks things09:46
vilaOS ?09:47
mgzehem.09:47
vilawe do weird stuff about locales in the bzr script itself too09:47
vilaoh, That one ;)09:47
mgzno, not windows, it's easy on windows :)09:48
viladebian ?09:48
mgzyup.09:48
mgzokay, it's working.09:50
mgznow tempted to see if I can close a long standing bug without even having the change any code...09:50
mgzshould be able to run a full selftest even on this machine now the test suite cleans itself up better09:52
vilayak shaving *is* useful ;)09:53
vilajelmer: no wonder doc/developers/plans.txt fell of my radar, it's not part of the online site... something weird happened years ago09:54
vilaha, no, it's part of the sphinx generated docs not the regular ones10:05
mgzstill a little memory constrained, errors on fork10:06
mgztrying again with X gone should do it though.10:07
jelmervila: did you see mydiscusion with james yesterday here on IRC?10:32
vilajelmer: yup, was waiting for you to summarize,10:32
vilaso, we keep the upload history,10:33
vilayet, I found your idea interesting too, so longer term we may want to investigate, it sounds like a useful optimization10:33
vilaoverall, there is more than one history ;)10:34
jelmeryeah, there is some tension here between convenience for packagers and keeping all history10:36
* vila nods10:38
=== yofel_ is now known as yofel
mgztwo failures, I think both were known random ones11:07
vilawhat's the difference between random and spurious in English ?11:09
vila(in the context of test failures I mean, not in general)11:10
mgzspurious implies the failure isn't meaningful, but may always happen11:11
mgzrandom implies the failure may or may not happen, but might be meaningful11:11
vilathks11:12
mgzsome of our issues may be both spurious and random (the test test server ones), but some of the races are random but not spurious11:12
mgz(they could in theory be hit in general usage)11:13
mgzare views documented anywhere? does anything currently use them?11:15
mgzbt.test_sftp_transport.test_bad_connection_ssh fails if paramiko is not installed11:17
vilaare your two last messages related ?11:20
vilaviews are used by some people AIUI11:20
vilabt...bad_connection should use requireFeature, we *have* a paramiko one right >11:21
vilayup, features.paramiko11:21
mgzunrelated, just doing other things while tests run11:22
mgzhm, and the test does use that require11:23
mgzwonder what's going on (apart from general bogosity of using run_bzr outside blackbox)11:23
mgz...ah, actuallyrun_bzr_subprocess so probably a path issue11:24
vilamore MalformedTransform bugs on jubany. Joy ;)11:24
mgzyour favourite :)11:25
vilahehe, looks like I'm making progress at using tree transform ;)11:27
mgzso two bugs, one is that run_bzr_subprocess doesn't get my path right, the other is that this test sucks.11:28
vilaLOL11:29
vilaand trying the version proposed in the comment ?11:30
vilaeven hardy uses python-paramiko-1.6.4 so that may be worth a try11:31
vilayesterday results of poking jubany: http://webnumbr.com/ubuntu-package-import-failures.from%282011-11-01%2911:32
vilaback to where we were 3 weeks ago :)11:32
mgzit looks like the commented version may be a happier route indeed, if the only flaw was some ssh kipple11:33
jelmermgz: we do seem to be playing whack-a-mole with unicode bugs, rather than actively trying to find and squash them :(12:11
jelmerI do wonder if python3 (and an attempt to port to it) would be helpful in that regard.12:11
jelmeror to phrase it differently - being explicit about what is encoded and what are bytes would both help our existing python2 version of bzr, and porting to python312:12
mgzI'm still tempted by the idea of objectizing paths, but that's not clearly a win12:18
mgzthe current state of bytes input, get unicode paths, change to utf-8 for dirstate, maybe change back to unicode for reporting error... is not ideal12:19
jelmermgz: being forced to use non-bytestring paths on Linux is frustrating12:20
mgzthe transcoding could be avoided, what we really want is validation though12:21
mgzwhich you can't easily do in python except by .decode(...)12:21
vilabut you proposed (in that mail ;) some escaping scheme that could be used. With objectized (sp?) paths, this will at least be done in a single place. Obj... paths would also provide a simpler API12:34
vilaideally we'll still accept <whatever> in the current API and start throwing deprecation warnings12:35
vilasince neither approach (whack-a-mole / all paths as objects) can be done in one go, starting both would at least make the goal clearer12:36
vilaThe alternative name of 'safe_utf8' is 'break_things_randomly' :-D13:07
jelmervila: its name is kindof ironic13:09
vilajust found that in mgz's review, burst out laughing because I was expecting an explanation so the joke really took me off-guard :)13:09
vilathe most scary is that I'm pretty sure I used it in the past, with confidence, and I can't remember where :-}13:10
jelmermgz: can we deprecate it?13:10
vilanot a lot of uses left according to grep, good surprise13:12
chromaticwtis there a way to push a bzr repo to github?14:01
mgzjelmer, vila: there are lots of things in osutils that would ideally be deprecated14:22
mgzit's a bit too tempting to just dump stuff in there.14:23
mgzchromaticwt: it's possible to push to github with bzr, but you'd need a (git) branch registered via the site already to target14:25
=== mgz_ is now known as mgz
vilamgz: yup, lots of things to clean up there14:41
mgzokay, bug half one worked out and fixed.15:23
mgztest machinery sets $HOME which then breaks the site module's path addition if run_user_subprocess is run15:25
vilahuh ? Why would tests use site modules ?15:26
vilatalk about isolation...15:26
mgz'site' is the (ugly) module that runs at python startup and does things like filling in bits of the sys module15:27
mgzone part of that is adding things to sys.path15:27
vilaha, sorry15:27
vilabut what kind of $HOME can break that ?15:28
vilaisn't it a case where TestCase is used where TestCaseInTempDir should /15:28
vila?15:28
mgzif HOME is set to a tempdir, when the site module tries to add my user specific python packages in ~/.local it's looking relative to that tempdir15:28
mgzhence, self.requireFeature(features.paramiko) passes, but the spawned subprocess says there's no paramiko15:30
mgzI have a fix.15:30
vilathere is no .local dir there, so should be fine or is it that '~' needs to be expanded ?15:30
* vila blinks and wait to see the fix :)15:31
mgz~/.local expands to /home/martin/.local in the selftest process, but for the subprocess the test spawns it expands to /tmp/bzr/....15:31
vilaand you installed paramiko in ~/.local15:31
mgzright.15:31
vilaI'm stil surprised requireFeature() works...15:32
viladoes it means it is first called when $HOME is valid ?15:32
mgzparamiko works from bzr - I run bzr as me.15:32
mgzsite does it's path lookup once at python startup15:32
vilaargh15:33
mgzso bzr gets the right module paths... unless spawned from within a testcase where we set $HOME15:33
vilaso what ? We need to force a PYTHONPATH ?15:33
vilathis vaguely rings a bell15:33
fullermdNono, just copy everything in it into the tempdir!15:34
viladidn't run_bzr_subprocess already tweak the env ?15:34
mgznearly - there's actually a more targetted envvar we can use instead15:34
mgzPYTHONUSERBASE15:34
vilajelmer: looks like import_upstream blows up if a symlink is turned into a dir (probably a packaging mistake) this leads to http://package-import.ubuntu.com/status/rserve.html#2011-12-01%2011:18:38.32714015:54
vilareproduced locally when importing 0.5-3 where clients is now an exact copy of src/client instead of clients -> src/client15:55
mgzthat sounds similar to an error that the path name encoding branch fix exposed as well15:55
vilajelmer: does that ring a bell ?15:55
mgzI think the logic is just old and incorrect.15:56
vilamgz: more context ?15:56
mgzikiwiki15:56
mgzslightly different place, but I think the problem is similar.15:57
vilain my case, the code involved try to handle renames but this is a kind change (symlink -> dir)15:58
mgzbasically the custom transform in bzrtools_import is complicated, a little buggy, and not maintained15:58
vilaha15:59
mgzwe've done fixes for this symlink stuff in bzr itself (poolie tackled a bunch of bugs), but this is different code doing the same kind of thing15:59
mgzso, we don't benefit from that.15:59
mgzI said to jelmer when I last looked at this that ideally the bzrtools_ copied modules would ideally just be ripped out and replaced16:00
vilaha16:00
mgzmost of the logic isn't used, just the core transform, which should live elsewhere16:00
mgz(and then it would get its bugs and corner cases fixed more easily)16:01
vilajust a matter of refactoring under the associated tests umbrella right ?16:01
mgzright.16:01
mgzthere are six or so testcases for it16:01
vilabetter than I thought :-P16:02
mgzprobably some more need writing or things would break, but the job is basically to work out what the code is trying to do and then make it use other mechanisms :)16:02
mgzat worst, it would highlight gaps in the bzrlib api that need plugging, and could then share testing but not implementation yet16:03
mgz^good mgz classic double 'ideally' up there16:04
mgzvila: so, it was on my list for when I wanted to get to know transform code better, if you have a bunch of similar failures now it might be worth tackling before then16:06
vilaI think I will file a bug and punt, I've got a good enough explanation for the failure and more important ones to address first :-/16:07
mgz:)16:08
vilaI agree with the feeling that this code is duplicating features that should be implemented elsewhere but it's more a gut feeling that a real understanding16:08
mgzhm... transport.get_transport(something_bogus) doesn't raise these days?16:11
mgzconnection doesn't happen till later?16:12
vilayup, always have16:13
mgzokay, ensure_base() should do, the commented out test just needs fixing16:15
vilaeven .has('not-exist') should be enough (and is already used as an idiom working for read-only transports too)16:16
vilabug #80027016:17
ubot5Launchpad bug 800270 in BzrTools "import-tar incorrectly handles symlinks turned into directories" [Medium,Triaged] https://launchpad.net/bugs/80027016:17
vilamgz: by the way, since you reviewed the 2.4 variant, https://code.launchpad.net/~vila/bzr/test-server-races/+merge/84096 should be easy to review ;)16:27
mgzI have a tab in my browser for that :)16:27
vilaYou'll even find the comments you were asking for at the time but weren't committed when I submitted :-}16:28
mgzokay, fixed test works, just need to make a less hacky varient16:28
vilai.e. have a look at the revisions dates ;)16:28
CaMasonquick Q... how can I get my working tree to be at a particular revision?16:44
mgz`bzr update -r N`16:46
mgzusing revert works as well, and may be what you want depending on the circumstance16:47
CaMasonok thanks16:49
mgzwhat I sometimes do as well, if I want to jump between revisions and maybe base other work of them16:50
mgzis create a new (treeless) branch with `bzr branch -r N dev rN` and then switch my checkout to and from it16:51
CaMasonI'm getting a bunch of conflict messages. Taking a bak17:01
mgzif there's a lot of divergence, just having a new tree is sometimes easiest.17:05
CaMasonI know what the problem is - some non-versioned files that would otherwise be deleted (folder changed)17:08
CaMasonnew branch fixed it17:08
mgzah, yeah, that one is always annoying, the dreaded pyc problem.17:10
CaMasonthanks for the assistance17:10
mgz`bzr clean-tree --force --ignored -q && bzr update -r N` is also possible, but annoying to spell17:11
vilamgz: that run_bzr_subprocess diff presented by lp is one of the less informative yourcan get :) It's in tests/__init__.py, ok, but where ? :D17:11
vila.pyc problem is supposed to be addressed with bbzr.transform.orphan_policy=move17:12
vilauntil we have a way to split precious/junk files, that's the best work around17:12
vilagha tyop17:13
vilabzr.transform.orphan_policy=move in bazaar.conf17:13
vilaCaMason, mgz: ^17:13
vila(yes, there is at least one hook in tree transform ;)17:14
* vila EOD, doctor said I still work too much ;)17:15
mgzEOD happily vila.17:15
mgzif lp let me specify --diff-options=-U20 I'd use it :)17:17
timrcwhy does pushing a bzr branch a couple times seem to "sort out" this issue? https://pastebin.canonical.com/56636/17:47
timrc(apologies for the canonical pastebin, I can re-paste to ubuntu if necessary)17:47
=== beuno is now known as beuno-lunch
=== beuno-lunch is now known as beuno
=== agrimm_ is now known as mull
wgzwin box lives, and I can still just about manage to get over my aversion to hardware20:03
kikohey there21:02
kikoI'm still running into https://bugs.launchpad.net/bzr/+bug/85515521:02
ubot5Ubuntu bug 855155 in Bazaar "InconsistentDelta error when using bzr update" [High,Confirmed]21:02
kikois there somebody who can give me a hand into recovery?21:02
wgzkiko: you should just be able to branch into a fresh directory to recover21:17
wgzit's a problem with the dirstate, which is just used for tracking the local tree, so the core repo is fine21:19
kikowgz, the problem is that the "fresh directory" is /etc21:23
kiko:-/21:23
wgzdo you have any local changes pending?21:23
kikolots21:23
kikothat's the problem21:23
wgz...are any renames or executable bit changes that you wouldn't be able to redo?21:24
wgzif not, run `bzr repair-workingtree`21:27

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