/srv/irclogs.ubuntu.com/2007/11/16/#bzr.txt

=== mw is now known as mw|out
schierbeckjelmer: hi01:56
jelmerschierbeck: hi01:57
schierbeckshit, i'm high as hell01:57
schierbeckthese two american dudes are subverting me01:57
schierbeckthey managed to get hold of a bong01:57
schierbecknow they're trying to take it out on me01:58
schierbecksorry about the rant01:58
Peng.........02:02
abentleylifeless: Was it just delayed or am I confused?02:04
jelmerPeng: ... indeed02:04
lifelessabentley: was what delayed?02:10
abentleyfind_text_key_references02:11
lifelessI sent it in first02:11
abentleyOkay, I was confused earlier, and thought I needed to look for [MERGE] _generate_text_key_index02:12
abentleyIt appears I haven't received any email about find_text_key_references02:12
PengGack!02:14
PengFirst time I try to push the pack repo, and I get an error!02:14
abentleylifeless: Okay, found it.02:15
abentleyIt got marked superseded.02:15
abentleyWhich is my bug, not your fault.02:15
Pengbzr: ERROR: Could not understand response from smart server: ('error', "<bound method KnitPackRepository.leave_lock_in_place of KnitPackRepository('chroot-1082717612:///path/to/.bzr/repository/')>")02:15
PengWoah! bzr serve is still running.02:19
* Peng pokes lifeless.02:21
PengSeems it's a NotImplementedError.02:21
* Peng wanders off.02:22
Pengserver's .bzr.log: http://paste.pocoo.org/show/10721/02:25
* Peng wanders off.02:25
=== Verterok is now known as Verterok_
* Peng pushes over sftp.02:43
* Peng wanders off.02:44
* beuno is playing around with bug #162264 and woders if "Transfer phase" isn't better then "Fetch phase" considering it uses the same for push/pull. Hacking around to display different things for each seems like an overkill02:54
ubotuLaunchpad bug 162264 in bzr "Push progress bar shouldn't say "Fetch..."" [Undecided,New] https://launchpad.net/bugs/16226402:54
lifelessPeng: I have a faster reconcile patch -> list03:11
lifelessPeng: pack reconcile on monday I hope03:12
PengWhat about this traceback?03:16
* Peng wanders off.03:17
=== bigdo1 is now known as bigdog
YGingrasI'm playging with bzrlib.merge3, I don't get the same merge as GNU diff3.  Anyone can tell what kind of differences to expect?05:22
=== keir__ is now known as keir
igcYGingras: I believe our merging is based on Codeville's merge algorithm which is a bit more intelligent05:28
YGingrasigc: you don't seem to have the "|||||||" section when there is a conflict05:29
YGingrasany way to change the labels?05:29
igcI'm not sure if it's packaged separately to "bzrlib.merge3" or just included within it. abentley can tell you the details05:30
igcno idea sorry05:30
YGingrasok, I found the lables05:30
poolieYGingras, you can get that with --show-base i think05:31
YGingrasprint "".join(m.merge_lines(base_marker="|||||||"))05:31
YGingrasthis gets me more or less the same stuff05:32
YGingraspoolie: I'm integrating with the API only, I don't use bzr (yet?)05:32
abentleyYGingras: diff3 and merge3 used in that way don't minimize conflicts, because minimizing conflicts destroys the correlation between the base and the conflicted region05:33
YGingrasabentley: but the diff is much easier to read05:34
YGingrasmaybe try without base and call with the base when there are conflicts anyway05:35
YGingrasthat should be done on a hunk by hunk basis05:35
YGingrashumm I won't sleep early tonight05:35
abentleyNo, you're not getting what I mean.05:36
abentleyshowing the base will not cause a merge to conflict when it would otherwise not conflict.05:36
abentleyBut it will make the conflict regions longer than they have to be.05:36
YGingrasoh05:36
abentleybtw, long time no see.05:37
YGingrasso, the only non-crap solution is visual side-by-side?05:37
YGingrasabentley: indeed : )05:37
abentleyVisual side-by-side will have the same issue if you're showing the base.05:37
YGingrasabentley: but you can hightlight what is a conflict and what is context with the base05:38
YGingraskdiff3 has a not too confusing color code05:39
abentleyWell, just be aware that in some places you'll have the base in conflict with THIS and OTHER, while THIS and OTHER are in harmony.05:39
abentleyPersonally, I'll take a merge3 with minimized conflicts over side-by-side any day.05:41
YGingrasabentley: this is for a wiki, most of the time this should be easy to merge anyway but I plan full-namespace branching later on: this one will require good merge and conflict resolve gui05:41
abentleyYes, a colleague pointed out your wiki.05:41
YGingrasabentley: you mean with the makers?05:41
YGingrassince I force long lines spliting, markers are no too bad05:42
abentleyI'm not sure what you mean.05:42
abentleyAre you asking what I mean by merge3?05:42
YGingrasit was the complete hell when I allowed one line per para05:42
YGingrasabentley: yes05:43
YGingrasI mean, by merge3 you mean merge with conflicts makers?05:43
abentleyby merge3, I mean the kind of merge output that Bazaar gives by default.05:44
abentleyYes, with conflict markers.05:44
YGingrasand without the base05:44
abentleyRight, and with conflict reduction enabled.05:44
abentleySo that only lines that differ between THIS and OTHER can conflict.05:45
YGingrasabentley: asside from the fact that GNU diff3 defaults to show the base, any note worthy differences in the acutal merge?05:46
YGingrascan diff3 even hide the base?05:47
abentleyWe use a sequence matcher that finds the longest common subsequence, instead of the longest common substring.05:47
abentleyYGingras: Sure.  Remember Arch?05:47
YGingrasyes05:47
YGingrasIt used diff3?05:47
abentleyYes.05:47
abentleyI don't remember the exact commandline it used.05:48
YGingrasI'll dig the source05:48
YGingrasthanks for the pointers05:49
abentleyNo problem.05:49
YGingrasI keep you posted, bzrlib will be the fallback if I can't find diff3, or should it be the other way around?05:50
abentleyI think either is a worthy choice.  We didn't want a dependency on diff3, so we built our own.05:51
YGingrasthe magic spell is: diff3 -E -m my.txt base.txt your.txt05:51
YGingrascan I know if there was a conflict or do I have to parse the merge?06:39
=== keir__ is now known as keir
YGingrasoh, it's "base, my, your", not "my, base, your".  No wonder I didn't get the right merge...06:46
YGingrasbut the command line is "my, base, your".  You guys are playing tricks to the API users? ; )06:47
YGingrasand you flipped it the otherway around for merge_lines()06:50
fullermdJust making sure you're paying attention   ;)06:53
YGingraswould you merge a patch straightening this up a bit?06:55
* YGingras imagine the havok06:55
YGingrasis this the right error message: exceptions.TypeError: sequence item %zd: expected string, %.80s found07:09
=== keir_ is now known as keir
YGingrasanyone sees what I did wrong: http://pylonshq.com/pasties/55307:24
YGingrasseems to be a proble with workingenv07:28
YGingrasvirtualenv seems to be just fine07:28
lifelessYGingras: we'd definately consider a patch making things more clear in the api07:32
poolieok, i'm signing off07:35
YGingraslifeless: that will silently break all existing code07:35
lifelessYGingras: we have good support for versioning API's. See our developers documentation and the symbol_versioning module.07:36
lifelesspoolie: night!07:36
lifelesspoolie: I don't have transport to john's thing ...07:36
poolieand therefore you're wanting transport, or you're not going?07:36
YGingraslifeless: I'll see what it involves.  What do you prefer? (my, old, your)?07:37
lifelessit could go either way :)07:37
lifelessYGingras: I haven't looked closely enough at the situation to tell why its unclear.07:37
lifelessYGingras: e.g. maybe it just needs a better docstring, or - whatever.07:38
YGingraslifeless: the order change gratuitouly from one call to the other07:38
YGingrasI'd pick one order and stick to it07:38
lifelessYGingras: that sounds fair to me07:39
YGingrasinstead of requiring to read the docstring for every single method call07:39
lifelessanyhow, I don't have an opinion07:39
lifelesson the 'right' order yet07:39
lifelessI think left/right/base makes most sense07:39
YGingras(my, old, your) is easier to remember, there is a mnemonic07:39
YGingrasbut I forget what is was... : \07:40
lifelessbecause 2-way is left/right only07:40
lifelessso this makes three-way an extension07:40
lifelessOTOH for diff you have old/new so base/left/right might be better07:40
lifeless:)07:40
lifelessno help at all I realise :)07:41
YGingras"diff3 MINE OLDER YOURS" "07:41
YGingrasYou can remember the order of the arguments by noting that they are in07:41
YGingrasalphabetical order.07:41
YGingras"07:41
YGingrasok, the mnemonic is crap07:41
lifelessI'm off for family time07:42
lifelessciao07:42
YGingraslater07:42
* igc food08:08
Penglifeless: Now that packs are in bzr.dev, is your repository branch abandoned?08:22
* Peng wanders off.08:22
lifelessPeng: no, it has various not-yet-merged improvements09:07
=== fredp-afk is now known as fredp
=== quicksil1er is now known as quicksilver
=== cfbolz_ is now known as cfbolz
=== weigon__ is now known as weigon
=== mw|out is now known as mw
=== cprov is now known as cprov-lunch
=== mwhudson_ is now known as mwhudson
TeXitoihi14:59
TeXitoibug: try this:15:00
TeXitoipinot@pc-pinot:~/tmp$ mkdir Thèse15:00
TeXitoipinot@pc-pinot:~/tmp$ cd Thèse/15:00
TeXitoipinot@pc-pinot:~/tmp/Thèse$ bzr init .15:00
TeXitoipinot@pc-pinot:~/tmp/Thèse$ echo foo > bar15:00
TeXitoipinot@pc-pinot:~/tmp/Thèse$ bzr add .15:00
TeXitoiadded bar15:00
TeXitoipinot@pc-pinot:~/tmp/Thèse$ bzr commit15:00
TeXitoibzr seems unable to commit in a directory with non-ascii character.15:01
LeoNerdWorks for me15:02
TeXitoiLeoNerd: devel or last stable version?15:02
TeXitoiI have debian's 0.92.015:03
beunoTeXitoi, what error are you getting?  traceback?15:03
LeoNerdBazaar (bzr) 0.92.0.candidate.115:03
TeXitoiyes15:03
LeoNerdFrom debian/unstable15:03
beunomaybe it's bug #63324?15:04
ubotuLaunchpad bug 63324 in bzr "exceptions.UnicodeEncodeError: 'ascii' codec can't encode character" [Medium,Confirmed] https://launchpad.net/bugs/6332415:04
beunoor #7753315:04
beunobug #7753315:04
ubotuLaunchpad bug 77533 in bzr "bzr crashes with invalid filenames" [Low,Confirmed] https://launchpad.net/bugs/7753315:04
TeXitoihttp://pastebin.com/m6042460015:06
LeoNerdhttp://paste.leonerd.org.uk/?show=1866  <== output from my successful run15:06
LeoNerdWhat's $LANG set to..? Mine has en_GB.UTF-815:06
TeXitoisee the pastebin15:07
TeXitoifr_FR.UTF-815:07
beunoTeXitoi, you're not running Cygwin, are you?15:09
TeXitoino15:09
TeXitoidebian testing15:09
TeXitoiIt work with bzr ci -m "bla" but not with bzr ci15:10
TeXitoiLeoNerd: try15:10
TeXitoiecho foo > bar15:10
beunoTeXitoi, would you mind filing a bug with all this information?15:10
TeXitoibzr ci15:10
LeoNerdAhh... yes15:11
TeXitoibeuno: If you think the bug is not yet reported, sure15:11
TeXitoiMmm15:11
LeoNerdedit_commit_message_encoded() in the stack trace15:11
LeoNerdWhereas, ci -m "message"  doesn't15:11
beunoTeXitoi, it does sound like an unreported bug, yes15:11
TeXitoiI need to create a lanchpad account for that?15:11
* TeXitoi hates creating accounts15:12
beunoI might be wrong, but the worst that can happen is it gets marked as a duplicate15:12
beunoTeXitoi, it's a one time thing  :p15:12
TeXitoibeuno:<troll> I know, but I don't like to use non free software</troll>15:13
TeXitoiI'll ask a friend that have an account15:13
beunoTeXitoi, I can file it for you, I'll try and reproduce it here15:15
beunoTeXitoi, I can reproduce it perfectly, I'll file it now15:17
TeXitoinop15:18
beunoTeXitoi, nop?15:18
TeXitoior it will be duplicated15:18
beunooh, you're filing it already?15:18
TeXitoiA friend is doing the bug report15:18
vilaI think it's bug 8440315:18
ubotuLaunchpad bug 84403 in firefox "Firefox crashes unexpectedly  (dup-of: 73536)" [Undecided,Incomplete] https://launchpad.net/bugs/8440315:18
ubotuLaunchpad bug 73536 in firefox "MASTER Firefox crashes on instant X server shutdown" [Medium,In progress] https://launchpad.net/bugs/7353615:18
vilaghaa I meant 8404315:19
vilaghaa I meant bug 8404315:19
ubotuLaunchpad bug 84043 in bzr "commit fails to invoke external editor in non-ascii directory" [Medium,Confirmed] https://launchpad.net/bugs/8404315:19
beunovila, that sounds about right15:19
vilatraceback looks pretty similar15:19
vilaplease add a comment inside that bug instead of creating a new one if it's still possible15:20
vilaOh, and the obvious work-around is to not use accented letters in the directory name (TeXitoi)15:22
TeXitoivila: I know ;-)15:24
vilaTeXitoi: ok, just wanted to be sure. I'm pretty sure I've seen the subject discussed recently so rest assured that the problem is taken care of15:25
TeXitoivila: are you sure that it must be a comment to that bug?15:26
TeXitoiit seems closer, but the trace is much longer in my case15:26
vilathe important part is the end so if they match you can be pretty sure it's the same root cause, if you're unsure file a new bug but mention the old one so that anyone fixing one will not miss the other15:27
TeXitoiok15:27
TeXitoiit will be a comment15:27
TeXitoior not finaly, but with ref : https://bugs.launchpad.net/bzr/+bug/16312315:31
ubotuLaunchpad bug 163123 in bzr "Crash when repository is in a directory with non ascii characters" [Undecided,New]15:31
ubotuNew bug: #163123 in bzr "Crash when repository is in a directory with non ascii characters" [Undecided,New] https://launchpad.net/bugs/16312316:06
YGingras_lifeless: so, did you find enlightenment on the right order in your sleep?16:27
jam-laptopYGingras_: lifeless is in Australia, so won't be online for another couple hours16:32
jam-laptop(he just got back, so he may still be jetlagged and come online a bit earlier than usual)16:32
jam-laptopYGingras_: you were here yesterday talking about using the code for a wiki, right?16:32
YGingras_jam-laptop: oh, I'll wait a bit then : )  Yes, I do use the code in the wiki now16:33
jam-laptopBy the way, while git may be fast, I found that spawning it in a pipe isn't all that, at least I was working on a converter, and spawning it 16 times to set up a branch put data in, etc was quite slow16:33
jam-laptopthe 'git fast-import' stuff was pretty quick, though16:33
jam-laptopSo it might just be process spawn overhead on this machine16:34
=== jam-laptop is now known as jam
jamYGingras_: I can try to help. I'm not sure what the "right order" you are talking about (I don't see it in your earlier conversation.)16:34
jamwhat wiki is it, by the way16:35
YGingras_jam, in merge3.py, many function calls take the 3 params (mine, old, yours)16:35
YGingras_jam: but they keep changing the orger16:35
YGingras_order16:35
YGingras_so, we think that a bit of uniformito might help16:36
YGingras_jam: Gazest: http://ygingras.net/gazest16:36
jamwell, if you use our code, can you at least put up our name on the About section :)16:37
YGingras_jam: sure : )16:38
jamin merge3.py I only see 2 places that a user would call16:38
jamMerge3(base, a b)16:38
jamand Merge3.merge_lines()16:38
jamThough I agree that merge_lines(name_base, name_a, name_b) would probably be better16:38
jamI think it is expected that you would explicitly call the parameters16:39
jamso16:39
jammerge_lines(name_base='foo', name_a='a', name_b='b', ...)16:39
jamIn which case you can supply them in any order.16:39
YGingras_jam: the command line interface has yet another order16:39
jamYGingras_: the command line order is because that is what diff3 and other tools expect16:40
jamso better to be compatible16:40
jamthat way you can be a 'drop-in' replacement16:40
jamBut I think "base, mine, other" is probably a more logical layout16:40
jamI suppose we could go either way16:40
jamthough  if we call them 'a' and 'b' it is a bit odd16:41
jam'a', 'base', 'b'16:41
jamIf they were renamed it would probably be okay16:41
jamI think we generaly use16:41
jamTHIS, BASE, OTHER16:41
YGingras_jam: no order is really good and mnemonic but the diff3 one has been with us for so long that we assume it16:41
jamwhich makes it clearer anyway.16:41
jamI think the problem is calling them 'a' and 'b' doesn't give you a hint about them16:42
YGingras_jam: yeah, a rename would probably be in order16:42
jamhmm... it seems like python merge3.py isn't really meant to be a diff3 substitute16:44
jamsince it always annotated16:44
jamannotates16:44
jamprobably more for Aaron (who wrote the code) to see what was going on16:44
YGingras_the api is ok16:45
YGingras_I do merge = list(m3.merge_lines(MY, YOUR, OLD, MARKERS[0], MARKERS[2], MARKERS[-1]))16:45
YGingras_which gives me mostly the same stuff as diff3 -E -m16:46
jamright16:47
=== jam is now known as jam-lapto
jam-laptoYGingras_: when going to pages like http://gazdemo.ygingras.net/wiki/Files/Plotgui.py/hist?rev_id=616:50
jam-laptoHow do you populate the 'rev_id' ?16:50
jam-laptoAt least it seems like you are using the number 6, but there are only 3 revisions16:50
=== jam-lapto is now known as jam
jamsilly chat program...16:51
jamanyway, When you look at: http://gazdemo.ygingras.net/wiki/Files/Plotgui.py/rev/616:51
jamit says that it might differ16:51
jambut it seems to be the most up-to-date version16:51
jamjam-lapto: YGingras_: when going to pages like http://gazdemo.ygingras.net/wiki/Files/Plotgui.py/hist?rev_id=616:52
jam[10:50am] jam-lapto: How do you populate the 'rev_id' ?16:52
jam[10:50am] jam-lapto: At least it seems like you are using the number 6, but there are only 3 revisions16:52
jam[10:51am] You are now known as jam.16:52
jam[10:51am] jam: silly chat program...16:52
jam[10:51am] jam: anyway, When you look at: http://gazdemo.ygingras.net/wiki/Files/Plotgui.py/rev/616:52
jam[10:51am] jam: it says that it might differ16:52
jam[10:51am] jam: but it seems to be the most up-to-date version16:52
jamI was trying to go to the history page to see what the current version is16:52
jamand it was pretty unclear16:52
jamthat I was already at the most recent16:52
YGingras__jam: just wave me when abentley and lifeless are around; we'll see if a patch is really in order16:53
jamsure16:53
jamI'm guessing that our "maintain backwards compatibility" general rule will outweigh the benefit of renaming... but maybe not16:54
YGingras__"?rev_id=6" is an artefact of Routes memory16:56
YGingras__I'm using Routes as the dispatcher and it recalls stuff so I can do "< a href=%s..." % url_for(action="edit")16:57
YGingras__and forget about the other params16:57
YGingras__but once in a while, it recalls too much and that clutters the URLs16:57
YGingras__jam: yeah I'm not sure about the patch either but lifeless seems to imply that you have a super flexible versionning system that will brevent any breakage16:58
* YGingras__ shrugs16:58
jamits more about having people like you who might be using it outside of the scope of our little project :)16:59
jamand not wanting to cause you grief because of arbitrary parameter renaming16:59
=== YGingras__ is now known as YGingras
YGingrasI hate my ISP17:04
YGingrasjam: did by remarks on routes memory made it through?17:29
jamYGingras: "that sometimes it remembers too much" yes17:37
jamYGingras__: but once in a while, it recalls too much and that clutters the URLs17:37
YGingrasgood : )17:37
vilajam: ping17:47
jamhi vila17:47
vilahi :) I just run the bzr test suite and get 31 errors related to gtk (up to date from  http://bazaar.launchpad.net/~bzr/bzr-gtk/trunk/)17:48
vilabut if I run bzr test-gtk I got: Ran 63 tests in 2.896s17:48
vilaI thought test-gtk was running all gtk tests >-/17:49
vilaby the way they all failed with:  'int' object is not callable17:49
vilawith a traceback ending with:  file_label = gtk.Label(_('Files'))17:50
vilaDoes that ring a bell or should I investigate ?17:50
vilahmmm, I smell a gtk initialization pb again...17:54
vilahmm, I bet cmd_gselftest.run taking care of sys.getdefaultenconding() may have something to do with it...17:59
vilajam: bzr selftest --no-plugins works and bzr selftest gtk works too :-) They just can't agree when running together.18:02
jamvila: something is overwriting _18:02
jamand gtk sets it as a builtin18:02
jamI'm guessing that we have code which does18:02
jam_, foo, bar = ...18:02
lifelesshmm18:03
lifelessimport gtk18:03
lifelessimport builtins18:03
vilaIn the global name space ?18:03
lifelessdel builtins._18:03
vila:)18:03
lifelessimport __builtin__18:04
lifeless>>> import __builtin__18:04
lifeless>>> import gtk18:04
lifeless>>> __builtin__._18:04
lifelessTraceback (most recent call last):18:04
lifeless  File "<stdin>", line 1, in <module>18:04
lifelessAttributeError: 'module' object has no attribute '_'18:04
lifeless>>> print _18:04
lifelessTraceback (most recent call last):18:04
lifeless  File "<stdin>", line 1, in <module>18:04
lifelessNameError: name '_' is not defined18:04
jamyeah, I'm not seeing where it is actually triggering yet18:05
jamit might be gobject or pango18:06
jampango is pretty likely18:06
lifeless>>> import pango18:07
lifeless>>> __builtin__._18:07
lifelessTraceback (most recent call last):18:07
lifeless  File "<stdin>", line 1, in <module>18:07
lifelessAttributeError: 'module' object has no attribute '_'18:07
lifeless>>> print _18:07
lifelessTraceback (most recent call last):18:07
lifeless  File "<stdin>", line 1, in <module>18:07
lifelessNameError: name '_' is not defined18:07
lifeless>>>18:07
jamI don't see anything in the bzr-gtk code which is doing it18:08
jammaybe it is a side effect of creating a window?18:08
jamI'm trying to find it18:08
lifelessit gets put in builtins right ?18:09
lifelessbleh18:09
jamas near as I can tell18:09
lifelessok try this18:09
jamit certainly isn't being put into the local namespace each time18:09
lifelesscreate a fake module18:09
jam(Pdb) _18:09
jam<bound method NullTranslations.gettext of <gettext.NullTranslations instance at 0x31b9968>>18:09
lifelessput that in sys.modules18:09
lifelessjam: check in __builtin__18:09
jam(Pdb) import __builtin__18:09
jam(Pdb) __builtin__._18:09
jam<bound method NullTranslations.gettext of <gettext.NullTranslations instance at 0x31b9968>>18:09
jamyep18:09
jamit is in __builtin__18:09
vilajam: don't add pdb to the equation18:10
lifelessanyhow, put a module which is a regular object with setattr hooked to pdb18:10
vilaimport gettext18:10
lifelessin sys.modules['__builtin__']18:10
jamI'm pretty sure that gettext doesn't do it automatically18:10
jambut I'll check that too18:10
lifelessit will need to hold a reference to the original __built__18:10
lifelessand answer getattr from that18:10
lifelessif you do that, then when gtk setattrs _ on __builtin__, it should trap18:10
lifelessand you can get a backtrace18:10
lifelesswoot, my string.find bug has been fixed18:11
lifelessso in about 5 years we can use it18:11
lifelesshttp://bugs.python.org/issue125918:12
lifelesslater, wow calls18:14
vilalater, dinner with friends calls :)18:15
vilajam: I'll read the log if you find any fix or work-around (not urgent anyway)18:16
jamvila: sure, I'm trying to track it down18:16
jambut yeah, having a __builtins__._() is not a great way to do i18n18:16
jambut it also means we should change our code base to avoid the '_' object18:17
jamlifeless: have fun18:17
jamIt seems, though, that doing __get_attribute__ seems to cause problems with __import__ not being found :(18:17
jamstill looking18:17
vilaWhat about using 'i18n' instead of '_' ?18:21
jamI would be happy enough with that, it just isn't the standard 'gettext()' way18:21
jamand it just happens that gettext conflicts18:21
jamwith a common python idiom18:21
jamof using '_' as a "I don't care about this" variable18:21
jam(and as a last action variable)18:21
vilayup, perl heritage :)18:21
jamtrying to wrap __builtin__ I'm still getting "has no member __import__" ...18:22
jamwhich breaks everything18:22
jamhmm.. it seems to have triggered by the time plugins have imported18:24
jamwhich is *before* gtk should be imported18:24
jammaybe in 'gettext.install('olive-gtk')' ?18:24
jamyep18:24
jamgettext.install does bad things18:24
jamvila: 'grep -rnI "\<_\>" bzrlib' shows it being used in quite a few places in our codebase18:27
jamdirstate.py18:27
jamfetch.py18:27
jamand a few others18:27
ZenomIf we have 3 programmers constantly working on the same project (for instance a new project) and we are a kind of jack of all trades, can bzr still help us ?18:32
beunoZenom, absolutely, it does the same (and more) as other VCS18:34
Zenombeuno: i guess my concern is like 2 of us could be working on the same code18:35
Zenomi am worried about merging changes appropriately etc18:35
Zenomand the time it takes to merge all these changes or reviewing them18:35
beunoZenom, you will have to do it eventually, so it's probably best if you have a VCS18:36
beunowe work on the same files here all the time18:36
beunoand rarely have conflicts18:36
Zenomwe use svn now bu we are  tired of like "hey billy are you in index.py"18:36
Zenomlol18:36
beunoand when we do, they are easily resolved in 1 or 2 minutes18:36
Zenomhow often are you guys committing your changes?18:37
Zenomto the main repo?18:37
beunoZenom, it varies, but I tend to commit and push every time I finish a specific task18:37
beunological blocks of changes18:37
beunosometimes I commit for a while and then send18:37
Zenomso you would commit to local branch, then push the  changes to the main repo for review18:37
beunobut I try yo keep it to the least amount of time possible so we don't diverge as much18:38
jamZenom: well, you could use a checkout so that the push is automatic18:38
beunoZenom, yeap, I do bzr branch18:38
jamI usually commit 10+ times per day ...18:38
beunowork locally, then push when needed18:38
Zenomi guess no matter what there still needs to be communication18:38
jamyou could work locally, commit, and then merge your changes back into trunk18:38
Zenomie., im going to fix the connection bug or whatever18:38
beunowe have a different workflow here (web development), so I think, between all the projects, I commit close to 50 a day, and push 15-20 times18:38
Zenomso that others don't try and correct the same bug i am assuming18:38
jamZenom: yah, Bazaar can't solve social issues, but it does make it easier to resolve some conflicts18:39
beunoZenom, yes, but that is out of the scope of bzr, although if you read the commits you might have an idea of what is going on18:39
Zenomdo you guys typically have 1 package maintainer?18:39
Zenomor just let anyone push to trunk18:39
beunoZenom, here, we let everyone push to trunk18:40
jamZenom: The Bazaar project has about 10 people that can push to trunk, but all pushes go through a Patch Queue Manager18:40
jamwhich forces the test suite to pass before it accepts anything18:40
beuno(here == my office, not bzr development)18:40
Zenomright18:40
Zenomi want to try something as i hate the situation with svn (ie, when no internet, on a plane etc)18:40
jamwhich works very well for having a stable trunk18:40
jamZenom: with bzr-svn you can give Bazaar a try18:41
Zenombut i worry about some of our programmers who don't know squat but how to click commit :)18:41
jamand still push your changes back into svn18:41
beunoyou can always revert changes, so I don't mind going over to someones desk and kicking them in the face for deleting my file  :p18:41
Zenominteresting, we want to give it a shot gonna mess with it a bit now18:41
Zenomare there any mac osx guis for bzr?18:41
beunoZenom, as jam proposes, bzr-svn can work for you, with checkouts and using --local when commiting you can have both workflows, and choose the apropriate one as needed18:41
Zenomwell i have this need to use everything how it is intended18:42
Zenomand i would like to have a more distributed environment18:42
jamwell, for people who need it, they can have just a checkout of 'trunk'18:42
Zenommy concern was mostly with interaction with merges, but i guess its no different, i could commit, someone could checkout and break my code18:42
jamso that "just commit" works18:42
beunoZenom, sounds like bzr is a perfect match  :D18:42
jamand then for people who want more distributed18:43
jamthey can do local branches, etc.18:43
Zenomok so for a beginner at bzr what is the way you guys suggest?18:43
beunoZenom, people will be able to break your code no matter what. Unless you use seperate branches and merge with each other to make sure before sending to trunk18:43
Zenomjust look at the tutorial and go for broke?18:43
Zenombeuno: true, i guess really its no diffferent in that sense18:44
beunoZenom, yeap, you should get used to it very quickly18:44
Zenomif it breaks it needs to be fixed or revert back18:44
beunothe only times I end up manually fixinf merges is when two of us edit the same line, which isn't that often. bzr is pretty smart about merges18:45
beunothe patch queue manager workflow jam proposed isn't a bad idea either18:45
beunoyou can write up some tests to ake sure nothing breaks trunk before committing to it18:46
=== cprov-lunch is now known as cprov-away
=== fo1 is now known as fog
=== fo1 is now known as fog
beunolifeless, you wouldn't happen to bored, would you?   we're trying to figure out how you guys do a wierd merge in bzr.dev for our XML tests, but we're out of ideas22:58
beuno(or anyone else for that matter)22:58

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