/srv/irclogs.ubuntu.com/2008/10/11/#bzr.txt

chandlerc[g]jelmer: ping00:24
jelmerchandlerc, pong00:58
chandlerc[g]jelmer: i'm working on the segfault01:12
chandlerc[g]jelmer: but not sure what a good next step is if it doesn't reproduce for anyone else01:12
chandlerc[g]i'm happy to do any amount of debugging on my end to fix this as its a complete blocker for me at the moment01:12
jelmerchandlerc[g], I would recommend trying to get the testcase as small as possible, that will help debugging01:27
chandlerc[g]the test case i posted is the smallest one i can come up with01:33
chandlerc[g]but it only fails for me01:33
chandlerc[g]i think its something specific on the two systems i have thats causing it, but i'm not sure how to track that down01:33
jelmerhave you tried running inside valgrind?01:35
chandlerc[g]how can i do that? run python via valgrind?01:35
chandlerc[g](ie, will that put the c code in question under valgrind)01:35
jelmeryeah, run Python inside of valgrind, indeed01:35
chandlerc[g]yea, it has to, or gdb wouldn't have worked01:35
jelmeror something like "make valgrind-check" inside of the bzr-svn directory01:35
chandlerc[g]yikes01:39
chandlerc[g] ERROR SUMMARY: 2084 errors from 139 contexts (suppressed: 172 from 1)01:40
chandlerc[g]i don't know how useful thats going to be01:40
jelmerchandlerc[g], did you run with the python suppressions?01:41
chandlerc[g]what are those?01:45
chandlerc[g]or how do i find them01:45
jelmersee the Makefile01:46
chandlerc[g]jelmer: i'll be continuing my investigations later this evening. In case you're not around, anything in particular I should be looking for?01:56
chandlerc[g]my other steps are to compile editor.c with full debugging symbols01:56
chandlerc[g]and hopefully the svn libs as well01:56
chandlerc[g]let me know if there is anything that would be specifically enlightening here.01:56
chandlerc[g]i suspect this is going to be a bug in the svn bindings though. =/ un-fun...01:56
jelmerit could very well be01:59
jelmerI wonder what's causing the path to be NULL though..01:59
ferringbhmm.  if I were trying to pull the revids for a specific path, what's the best way- get_ancestry was my first thought, but that seems to just give me all revids for that repo03:16
ferringbscratch that.  bzrlib.log.find_touching_revisions suffices03:43
kingfishrWhen I try to branch a project over ftp, I get "bzr: ERROR: Unable to connect to HOSTNAME; (111, 'Connection refused')"04:20
kingfishrthat's not particularly useful...04:20
bob2do other ftp clients work?04:20
kingfishryes04:21
kingfishrwith passive, too04:21
bob2anything more useful in ~/.bzr.log?04:21
kingfishrchecking04:22
kingfishrNot particularly04:23
kingfishrIt's throwing a SocketConnectionError04:23
kingfishrbob2, would it help if I were to pastebin the logfile?04:26
kingfishrAh! got it04:29
kingfishrI need to use a different port04:29
kingfishrwhoops04:29
bob2hehe04:32
ferringbactually... why would bzrlib.log.find_touching_revisions continue on past a delete?  seems like it would be inspecting revs for no reason post delete04:44
chandlercjelmer: if you happen to be around, i'm digging in again on this06:51
stefanlsdI've deleted two tags locally, but want to delete them on the repo in lp now. although i cant seem to push them up. any ideas?07:24
glatzorhello, when performing an action on my repository I only get the following error message:07:52
glatzorbzr: ERROR: Could not acquire lock "[Errno 11] Resource temporarily unavailable"07:52
glatzor/usr/lib/python2.5/site-packages/bzrlib/lock.py:79: UserWarning: lock on <open file u'/home/renate/Entwicklung/gnome-packagekit/ubuntu/.bzr/checkout/dirstate', mode 'rb' at 0xa0a7728> not released07:52
glatzor  warn("lock on %r not released" % self.f)07:52
glatzorbzr break-lock is of no help07:52
=== fta_ is now known as fta
=== abentley1 is now known as abentley
=== lamont` is now known as lamont
LeefmcQuestion: Anyone familiar with the workflow of having multiple branchs and a working branch, along with needing to download updates from the main launchpad branch?15:46
LeefmcI'm having trouble figuring a good workflow, without destroying my working branch.15:47
=== doko_ is now known as doko
LarstiQLeefmc: what do you mean with destroying your working branch?16:07
LeefmcLarstiQ: Sorry, read what i said in #launchpad and we'll take it here :)16:07
LarstiQLeefmc: I did, but it wasn't really clear to me.16:08
LarstiQLeefmc: what do you do that destroys your working branch?16:08
LeefmcLarstiQ: Well on the destroying my working branch, if i have a working branch /wrk of /trunk, and i am in /wrk and use bzr update, it adds to my /wrk branch. This seems fine, until you notice that now /wrk and /trunk are not the same. /wrk has the updates from lp:* but /trunk does not. You cannot commit the changes to /trunk either, because according to /wrk, no changes have been made16:10
LarstiQLeefmc: is /wrk a branch, or a working tree?16:12
LarstiQLeefmc: I suspect it's just a working tree from how you described your workflow16:12
LarstiQbut if not, I'd like to get that confusion out of the way first16:12
LeefmcLarstiQ: bzr/git have hazed my definitions of this, pardon if i am using them wrong. /wrk is a lightcheckout, thats all :)16:12
Leefmclightcheckout of /trunk16:12
LarstiQright, a lightweight checkout is just a working tree, good16:13
LarstiQLeefmc: so /wrk is bound to /trunk, and then you `bzr update` in /wrk.16:13
LeefmcI am doing it this way so i can imitate my old git workflow of being able to create test branches of the fly (/trunk, /test, /brokencode, etc) and swap between them without having to move my IDE, etc.16:13
LarstiQright16:14
LeefmcLarstiQ: Correct, because i am trying to avoid the workflow of jumping around, even in terminal.16:14
LarstiQLeefmc: that is a common workflow for that situation16:14
* LarstiQ nods16:14
LarstiQLeefmc: I'm a bit confused though. Afaics `bzr update` in /wrk should also have updated /trunk.16:14
LarstiQLeefmc: could you show me the output of `bzr info -v` from /wrk ?16:15
LeefmcWell for example, when i did, there were 2 new files downloaded from launchpad, but those two were not in /trunk.16:15
LarstiQaaah16:16
LarstiQI think I may get it now16:16
LarstiQLeefmc: /trunk is not a tree-less branch?16:16
LeefmcI sort of destroyed all that already, im back to my "pre update" stage of my repo, since i simply copied it before i toyed16:16
LeefmcLarstiQ: Not sure, what do you mean?16:16
LarstiQLeefmc: there are three main domain concepts in Bazaar. Branch, (Working)Tree, Repository16:17
LarstiQLeefmc: the repository just stores revisions. A branch is a pointer to a revision in the revision DAG determing a line of development, and a working tree is the actual tree of files so you can edit and commit (plus some metadata)16:18
LarstiQLeefmc: they can be in different areas, or in the same directory16:18
LarstiQLeefmc: now, if my hypothesis is correct, /trunk is both a branch and a working tree16:18
Leefmcah16:18
LarstiQLeefmc: the update in /wrk will have updated the branch part of /trunk, but not the working tree part16:19
LarstiQLeefmc: you can confirm this by checking for existance of /trunk/.bzr/{checkout,branch}16:19
LarstiQLeefmc: the former being the data for a working tree, and the latter for a branch16:19
LarstiQof course, my hunch could be wrong16:19
LarstiQLeefmc: but please check this :)16:19
LeefmcLarstiQ: Assuming i understand you correctly, yes there are /trunk/.bzr/checkout & branch directories16:20
LarstiQLeefmc: if I'm correct, a `bzr update` in /trunk will bring its working tree up to date with its branch. But in your workflow it does not make much sense to have more than one working tree.16:20
LarstiQLeefmc: right16:20
LeefmcLarstiQ: So first off, for future reference, because i suspect the problem is the same for all my machines then, what did i do wrong when creating my setup of /repo, /repo/trunk, and /repo/wrk ?16:21
LeefmcLarstiQ: And secondly, what can i do to fix it?16:21
LarstiQLeefmc: So, the recommended setup in your case is to have a repository that defaults the branches in it to be tree-less, and then have your branches in there. You can create one with `bzr init-repo --no-trees /project/`16:21
LarstiQor repo16:22
LarstiQs/project/repo/ in that case16:22
LarstiQLeefmc: any branch you will create in that will not have a working tree by default16:22
LarstiQLeefmc: to remove trees from branches that have one, you can `bzr remove-tree`16:22
Leefmcgotcha16:22
LeefmcLarstiQ: And that will also fix my problem correct?16:22
LarstiQLeefmc: your branches will no longer have working trees, so you shouldn't get confused anymore16:23
LarstiQLeefmc: is /trunk in a shared repository? bzr info will tell16:23
LeefmcLarstiQ: Would i be able to simple dump everything, create a new repo (bzr init-repo --no-trees /repo) and create a new trunk (bzr init /trunk) and a new working dir (bzr checkout --lightweight /trunk /wrk) ?16:23
LarstiQLeefmc: you could, but then you'd lose work?16:24
LeefmcLarstiQ: Yes, it says that /repo is the shared directory. (trunk is in /repo/trunk)16:24
LarstiQLeefmc: ah cool16:24
LarstiQLeefmc: you can also change your existing repo to be tree-less from henceforth16:25
LeefmcLarstiQ: My work is on my other machine, and soon i am going to push it to launchpad to replace the fowlups i've made when trying to figure this out. (I updated /wrk and then made a change and commited to see if it would commit to /trunk, but instead it uploaded to launchpad)16:25
LarstiQLeefmc: ok, that sounds as if /wrk is not actually bound to /trunk?16:25
LarstiQLeefmc: just to be clear, when we're talking about /trunk we mean /repo/trunk, and not something else outside of /repo?16:26
LeefmcLarstiQ: It was a lightcheckout, but beyond that i do not know. I may have changed something aswell in my misguided search for information and understanding16:26
LeefmcLarstiQ: Yes, /repo/trunk, pardon my lazy typing :)16:26
LeefmcLarstiQ: All mentions of /wrk and /trunk have really been /repo/trunk and /repo/wrk16:27
LarstiQgood, good16:27
LarstiQLeefmc: I'm fine with lazy typing, just want to make sure I'm not assuming a situation which isn't true :)16:27
LeefmcLarstiQ: So am i correct in the understanding that bazaar "needs" a working tree? (or working branch.. im still confused on the difference of branch/tree, but i can get that from a re-read of the bzr intro)16:28
LarstiQLeefmc: `bzr info` is the goto command to find out where /wrk is bound to :)16:28
LeefmcLarstiQ: It says that the lightcheckout root is ".", the repo checkout root is /repo/trunk, and that it is a checkout of branch lp:myproj16:29
LarstiQLeefmc: you need a working tree to edit files/commit etc. But not for publising changes and such. launchpad hosts branches, there are no working trees there.16:29
Leefmcgotcha16:29
LarstiQLeefmc: a lightweight checkout provides a working tree that says "my branch is over <there>, go bother it for more information"16:30
Leefmcyea16:31
LarstiQLeefmc: so for you, I'd keep to having just that one for a working tree, no others.16:31
woeyegreetings all. following the discussion a bit. what is the difference between a lightweight checkout and a symbolic link then?16:31
woeye(i am currently reading a bit about bazaar and whether it would makes things easier for me - coming from git *g*)16:32
LarstiQwoeye: the branch you're linking to might not have a working tree. Or it might exist somewhere else on the network.16:32
woeyeok, I see. especially the network thing is an important one. forgot that ;)16:32
LarstiQwoeye: but especially the first one is important imo16:33
LeefmcLarstiQ: Im still a bit confused on how it let two working trees (/wrk and /trunk) play off eachother. Understanding of that will come with experience i assume :)16:33
LarstiQwoeye: if you'd use a symlink, bzr switch would then point the symlink somewhere else, so far so good. But every branch you point to would need to have a working tree, or get one created at switch time.16:33
woeyeyeah, I see16:34
LarstiQwoeye: you can imagine the pain if you have a couple of trees of, say, mysql laying around and need to recompile from scratch every time16:34
woeyedo you know django? I think that lightweight checkouts would make the handling of "shared app" folders way easier16:35
LarstiQwoeye: Heard of, but not actually familiar with.16:36
woeyedjango allows to share python packages between projects (web applications)16:36
woeyetypically you have a folder where all shared code goes in16:37
LarstiQwoeye: django specific site-packages vs zc.buildout for each webapp?16:37
woeyesort of. the thing is, sometimes you need different versions of the shared code. or you would have to keep every depending web app up-to-date16:38
* LarstiQ nods16:38
woeye(which is currently my problem ;) )16:39
LeefmcLarstiQ: Anyway, imma hop on my othermachine and overwrite my bad pushes. Thanks again LarstiQ, you've been a huge help!16:39
LarstiQwoeye: the concept has been drilled into me the last couple of PUN meetings ;)16:39
LarstiQLeefmc: pleased to be of help! If you have any more questions, you know where to find me :)16:39
woeyeso, what i need is a web app container folder which contains the code for the app itself and a lightweight checkout of a shared code branch16:39
woeyeof course I could also have different branches floating around. but things get very confusing quickly16:41
woeyewhat I like about bazaars approach is to have a central repo where all projects reside. easier to maintain imho.16:42
* LarstiQ heads out for dinner17:02
LarstiQwoeye: do you have a link describing this?17:03
woeyehm, let me see ...17:03
woeyethis wiki page describes it a bit: http://code.djangoproject.com/wiki/BestPracticesToWorkWith3rdPartyAppsAndMakingYoursPortable17:05
woeyenow, the main feature for me is that I can have a central repo where all projects (and all releases) reside and build some kind of virtual structures with lightweight checkouts.17:07
woeyehaving lots of git branches floating around on my disk is not so cool17:07
LeefmcLarstiQ: So if you do not have a working tree, you cannot even _see_ the contents of a branch? (ie, /trunk/somefile.py will not be shown?)17:37
clemente„bzr shelve“ is asking me „Shelve this change?“ but it shows me actually two changes which are very close. The blocks are: added chunk, common line, removed line, added chunk. That common line sets them apart17:55
clementeIt would be good if it had something like a „b“ option to break that change appart in smaller chunks17:55
woeyebzr status doesn't show files recursively? there's only bzr add --dry-run for this?18:07
fullermdWhat do you mean, doesn't show recursively?18:08
woeyesubdirectories of subdirectories18:08
fullermdIt shows the whole tree, unless you limit it.  And even then, it descends into the whole subtree you specify.  I don't think it even HAS a --no-recurse...18:08
woeyewhen I did a bzr init followed by a bzr status I could only see the status of the current top level directory18:09
fullermdOh.  It won't descend into unversioned directories, no.  They're none of bzr's business until you tell it to care about them.18:10
woeyeok18:10
vadi2Hi, I have a question - how can I move bzr into one folder below? I accidentally made the branch above the root folder of the project.21:35
AmanicAvadi2: did you do much in it yet?21:39
AmanicAvadi2: you can either just delete the .bzr and init the real root (and loose all history)21:41
AmanicAvadi2: or, (make backup first!) say your structure is /myproject/subfolder/.bzr  then do cd /myproject/subfolder; bzr mkdir subfolder; bzr mv files subfolder21:44
AmanicAvadi2: mv ../root_files . ; cd ../.. ; mv myproject myproject.old mv myproject.old/subfolder myproject21:46
kimushi, need help configuring a hook on a repository. where's the plugins directory on the repository?21:48
vadi2AmanicA: no it's above, so it's /.bzr/myproject22:00
vadi2AmanicA: other non-project files are currently set as "unknown"22:00
AmanicAvadi2: so say its projects/myproject with projects/.bzr22:01
kimuscan anyone can help me on how to create a hook on bzr on the repository?22:02
vadi2AmanicA: it's actually .bzr in projects and projects/myproject22:03
AmanicAvadi2: try again: so say its /opt/projects/myproject with /opt/projects/.bzr22:03
kimusdoes bzr support hooks on the repository?22:03
vadi2yes22:04
kimusvadi2: yes? how?22:04
fullermdI don't think it does, actually.  Only hooks on the branch.22:04
vadi2sorry, that was to AmanicA. I'm not familiar with bzr coding22:04
kimusi want to do something on the server on evry commit22:05
kimusit's this possible?22:05
vadi2every commit, yes22:05
vadi2there is a publish bot that does something on every commit22:05
kimusvadi2: goo, how?22:05
vadi2though it's local to the user22:05
vadi2not server22:05
vadi2i don't know, you can look at it's code though22:05
vadi2sec...22:05
fullermdI don't know if the smart server supports running hooks yet or not.22:05
kimuswhat? local to the user??22:05
vadi2yes.22:05
kimusso back to svn then...22:05
vadi2like I said22:06
vadi2I've seen this one plugin do it22:06
vadi2I don't know if bzr supports hooks or no.22:06
vadi2if you're interested, read the api or something22:06
AmanicAvadi2: cd /opt ; mv projects myproject; mkdir projects; mv projects.old/otherprojects projects; cd myproject; bzr mv myproject/files . ; rm myproject22:06
kimusthe only hooks I saw was for the plugins dir... and I bet it's only for user not the server :-S22:06
AmanicAkimus: yes you can run hooks on the server, what protocol are you intending to use?22:07
vadi2I cannot guarantee anything. But you do know about loggerhead?22:07
kimusAmanicA: anyone that does the job. i'm testing with ssh now22:07
AmanicAkimus and fullermd, you'll need 1.8 or dev version to get it to work (the patch I made was only merged recently)22:08
kimusdev version??... ouch22:08
AmanicAkimus: to get the hooks to be kciked off you'll need a smart server i.e. bzr+ssh or bzr+http etc.22:09
AmanicAkimus, I run it in production, cos I have to be current22:09
kimusI'm testing on bzr+ssh protocol now22:09
AmanicAyou can try the 1.8rc22:09
kimusAmanicA: I can try... but what's the confs?22:10
AmanicA(my patch was for bzr+http)22:10
kimusI have to configure something right?22:10
kimusAmanicA: only works on bzr+http ?22:10
AmanicAdont think so, I havn't used bzr+ssh much, but I think the hooks should work22:11
kimusAmanicA: let's say it works. what I need to configure for the hooks work? where to put the .py scrits?22:11
AmanicAhooks are plugins22:12
AmanicAand plugins go in site-package/bzrlib/plugins or ~/.bazaar/plugins22:12
vadi2AmanicA: instead of "bzr mv myproject/files .", can I use "bzr mv myproject/* ."22:13
AmanicAthere is a plucing which lets you configure it to run scripts22:13
kimusso the plugins are system wide and not only for a repository  ?!?!?22:13
vadi2there are a lot of files there to move manually22:13
AmanicAvadi2 no22:13
AmanicAvadi2: cos youre moving it out of the branch22:13
AmanicAkimus: yes22:13
kimusAmanicA: wtf! that it's a bit stupid :-S22:14
AmanicAbut kimus you might be able to cnfigure the shell_hooks plugins to run different scripts depending on the location22:14
AmanicAkimus youre just used to svn22:14
kimusAmanicA: cvs works fine also :-p22:14
AmanicAkimus: does svn have a way to install hooks globally?22:14
kimuswith cvs I can co and commit the hooks :-)22:14
vadi2AmanicA: thanks for your help22:15
AmanicAkimus: interesting22:15
AmanicAvadi2: did it work?22:15
sky-gkimus: I was just looking at the package etckeeper (tip from a guy in #git).  It uses hooks and supports bzr and has some bzr sample code to install a hook plugin (I think)  Whether this is for local or what you refer to as "server" I couldn't say22:15
vadi2AmanicA: no, error, but it's ok to just start with a clean history as the past isn't too important at this point22:16
AmanicAcool22:16
kimusAmanicA: ever repository has different types of needs regarding hooks (building, mirroring, etc) because they can be diferent languages and tipes22:17
kimus*types22:17
kimusso, a global hook is not has good has repo only hooks22:18
fullermdThe hook code is global.  That doesn't mean every branch has to invoke it.22:18
kimusfullermd: only know one way... some IF's on the hook :-p22:19
sky-gkimus: you're right.  but a hook is a hook... it's open, so you should be able to write your script to do stuff only when it's appropriate (e.g. for a certain repos) right?22:19
sky-gwhat's wrong with ifs? :-)22:20
kimussky-g: sure... but not ideal. it should have a configuration on the repo to add hooks22:20
fullermdThey get lonely without ands and buts   :p22:20
kimusdid you saw: http://bazaar-vcs.org/BzrHooks ?22:20
fullermdThere's no configuration on the repo.  There's only configuration on the branch.22:21
kimusfullermd: whatever. a conf in branch it's ok for me22:21
fullermdYour hook would just need to have an _enable switch that the branch sets.22:22
kimusfullermd: didn't understood what you said22:22
fullermdThere's also the shell-hooks, but I don't know how well that works.22:23
sky-getckeeper example, if it helps: http://pastie.org/29022122:23
fullermdWell, your plugin has access to all the same config as the rest of bzr.  So it could just check if "frobnicate_enable" is set.22:23
kimussky-g: I'll check that... but for me is a workaround it should be possible to configure hooks (by the client) on the repo/branch22:27
kimussky-g: i can do what a .py don't need the etckeeper. i can do my IFs :-D22:34
chandlerc[g]jelmer: jsyk, i've now re-produced this madness on a freshly built, debugging enabled python. talking to python guys to try and figure out how the invariant for that function is violated22:56
jelmerchandlerc[g], hi23:00
jelmerchandlerc[g], reproduced it without bzr(-svn) ?23:00
chandlerc[g]no, but *any* call to that method returning a null pointer is broken23:00
chandlerc[g]and if you know of anything i can do inside of gdb, at the point it does this, with a full debugging python interpreter, its sitting here23:01
chandlerc[g]i don't know enough about python to know how to manipulate the self object and dig out the context for this call23:01
chandlerc[g]jelmer: bzr-svn rocks. =] using it on the non-messed-up system, and its shoving revisions into subversion perfectly23:22
chandlerc[g]despite it being branched around 3 ways to get it from the broken machine to the working one, and developed on and off for a month across both machines23:22
jelmerchandlerc[g], sorry, my knowledge of Python internals is a bit limited as well in that regard23:54
jelmerchandlerc[g], glad you appreciate bzr-svn, pity you're hitting this issue though :-(23:54
chandlerc[g]jelmer: i'm about 99.9% confident its a python issue23:58
chandlerc[g]rather, a python + svn issue23:58
chandlerc[g]i'm not going to loose sleep over it when it works on Ubuntu, and doesn't on Gentoo. i'll wait for updates to the whole damn thing23:58

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