/srv/irclogs.ubuntu.com/2010/04/16/#bzr.txt

jelmerlifeless: do you have any plans to merge Dan's outstanding patches?00:00
lifelessjelmer: I've looked at all the proposed branches, I thought.00:00
igcmorning00:07
spivMorning.00:17
pooliegood morning00:27
jelmerlifeless: Rather than reorganizing everything we have at the moment, couldn't we just have a new "bzr-committers" group ?01:37
lifelessjelmer: thats what I've said I'll do :P01:42
jelmerlifeless: sorry, looks like I'm just behind on mail02:08
igcmwhudson, jelmer: any ideas on bug 563118?02:25
ubottuLaunchpad bug 563118 in loggerhead "Lucid upgrade switch to serve-branches.conf without providing one" [Undecided,New] https://launchpad.net/bugs/56311802:25
igcmwhudson, jelmer: I can't even find where the configuration file name is defined02:26
igcCould it be a packaging issue?02:26
igcpoolie: what approach should I take for 2.2b1 Windows builds? Should I use a revision on trunk or use the 2.2 branch?02:28
mwhudsonigc: it might be a packaging issue i guess02:30
igcmwhudson: all I can find is loggerhead.conf.example in the code02:31
igcI can't see where loggerhead.conf is referenced though02:31
mwhudsonigc: it's passed on the command line maybe?02:39
mwhudsoni think jelmer has a packaging branch somewhere that has an initscript that mentions it02:39
jelmerhttp://bzr.debian.org/pkg-bazaar/loggerhead/unstable02:40
jelmeror deb:loggerhead for short :-)02:40
jelmerlifeless: I'm considering moving some per_repository tests into a new per_repository_vf.test_supported, does that sound reasonable?02:41
igcjlemer, mwhudson: any chance one of you can look at that bug or direct me on how to fix it?02:42
lifelessjelmer: what are they testing ?02:42
igcjelmer, mwhudson: I need to head up the hospital right now02:42
jelmerlifeless: they are the tests that rely on .revisions/.texts/.inventories existing02:42
mwhudsonigc: i'll have a look, but i think it's going to be a bit tricky02:42
* igc out for a few hours02:42
igcmwhudson: thanks02:43
mwhudsonbecause we're deprecating the entry point that's used before lucid02:43
lifelessjelmer: I want those to be supported on foreign repos too02:43
lifelessjelmer: they are part of the contract02:43
lifelessI don't think its appropriate to have them unsupported anywhere02:43
jelmerlifeless: why? They rely on a specific serialization, and we don't always have access to that serialization02:45
jelmerlifeless: in particular, inventories don't exist in git/hg/svn so we have to generate an inventory manually *and* serialize it02:45
jelmerlifeless: fwiw these plugins work fine without .{texts,revisions,inventories} at the moment02:45
lifelessjelmer: see the docstring in bzrlib.repository.Repository02:46
lifelessjelmer: the meaning is per-format02:46
lifelessjelmer: the interface isn't02:46
lifelessjelmer: which is why I didn't like your mirroring onyl *part* of it last week or so02:46
lifelessits a regression in our interface, moving away from the unified keyspace02:46
jelmerlifeless: can you expand on "the meaning is per-format, the interface isn't" ? I don't understand what you mean.02:47
lifelessI mean that the serialisation is specific to the format02:48
lifelessand external code to the format knows that it doesn't know02:48
lifelessbut that the graph is intrinsic02:48
lifelessall formats should be capable of generating graphs for revs, invs, texts02:48
lifelessand this is the interface to talk to that02:49
jelmerlifeless: where do we rely on graphs for invs and texts at the moment?02:49
jelmerlifeless: providing those for foreign formats would be hard to make perform well02:50
jelmerlifeless: I understand that's what's in the interface now, but I'd rather see that interface change..02:50
jelmerlifeless: ... and have vf's be part of the implementation of a particular category of repositories rather than all of them02:51
lifelessper file log02:52
lifelessinv graph we don't care about02:52
lifelessjelmer: I don't see why it imposes a performance penalty; either you have to generate the data, or you don't.02:52
lifelessif you're doing per-file log to bzr's behaviour, you need to generate the data02:52
jelmerlifeless: ok, point taken02:54
jelmerlifeless: that's just one function in the VF interface we use though, that justify requiring a VF imho02:55
lifelessthe point of the vf interface is a consistent graph interface that is *not on Repository*02:55
lifelessits part of the long term fixing of repository.02:56
lifelesswhich you undid some of last week :(02:56
lifelessif you've got a better direction to take it, I'll happily support that02:56
jelmerlifeless: and much more, I don't see how access to serialized commits/inventories should be a public part of repositories02:56
lifelessbut so far, abently's proposed 'storage' interface - a single unified graph - seems to be a likely winning contender02:57
lifelessjelmer: its been very useful so far to have it in a consistent supported manner02:57
lifelessjelmer: for repo-stats and other plugins02:57
lifelessdebuggability is an important feature02:58
jelmerlifeless: I'm not saying it can't be available, just would prefer to not have it in the contract of Repository itself02:58
lifelesswe have, for instance, used access to the graph to fix stacked branches02:58
jelmernothing stops a VersionedFileRepository from existing02:59
jelmeranyway, this is a blocker for me for using the standard per_repository tests for foreign repositories03:02
lifelessjelmer: seems to me there are two positions we could take03:02
lifelessa) that bzr-svn etc are 'complete' and the tests need to be divided03:03
lifelessb) that they are not complete, and the tests primarily need to be tweaked to remove bzr-only assumptions03:03
lifelessI currently hold position b03:03
lifelessjelmer: I don't want to block you, but you seem to hold position a?03:05
jelmerlifeless: I don't consider b to be possible, unless you're happy to strip the VersionedFiles interface down to just get_parent_map() and get_known_graph_ancestry()03:06
lifelessjelmer: because you can't get raw data from svn ?03:07
jelmerlifeless: nor can I get an inventory text from git03:07
jelmerlifeless: it's also not possible to add any text03:08
lifelessjelmer: you can get the root tree node03:08
lifelessjelmer: I'm ok with making the _required_ support on the vf objects be very minimal03:09
jelmerlifeless: to just revisions.{get_parent_map,get_known_graph_ancestry}, texts.get_parent_map ?03:12
jelmerlifeless: generally the way this is structured ({revisions, texts, inventories} as serialized files) makes a lot of assumptions about the way the repository is set up that aren't true for foreign repositories03:13
lifelessjelmer: this is why I want to move to a single unified graph!03:13
jelmerlifeless: is that aaron's storage thingy?03:14
lifelessjelmer: which is one of the key complaints about that merge I keep coming back to03:14
lifelessjelmer: closely related, yes.03:14
lifelessjelmer: CHK repositories are pretty close to git internals, and the mapping structure we have works ok for them too03:14
lifelessjelmer: so, not, not just revisions & texts03:15
lifelessfor instance git could support chks trivially03:15
jelmerlifeless: that doesn't mean it's easy to implement VersionedFiles on top of Git while using Bazaar file ids/revids though03:18
jelmerlifeless: anyway, do you have pointers about the unified graph?03:18
lifelessjelmer: I know, but revision_tree.get_texts takes the same interface03:19
lifelessjelmer: so its no harder03:19
jelmerlifeless: I don't have a RevisionTree.get_texts...03:20
lifelessjelmer: mumble, I forget the exact api name03:20
lifelesssee what export uses03:20
jelmeriter_files_bytes() ?03:21
jelmerthat doesn't return any parent keys03:21
jelmeranyway, I'd better get some sleep03:26
jelmerlifeless: thanks for the comments; I'll hold off on this for now, at least until the new better storage thing03:26
lifelessjelmer: perhaps we can talk at UDS03:27
lifelessI do want to unblock you03:27
lifelessbut we seem to be unagreed about where to go03:27
lifelessI'm concerned that you seem to be busy undoing a good years worth of refactornig03:27
lifelessif you weren't, I'd be much more lassez faire about stuff03:28
jelmerlifeless: it was just one function...03:28
lifelessjelmer: no, its more than that03:28
lifelessthe VF interface is a key part of stacking working03:29
jelmerlifeless: I just added a wrapper in Repository, I didn't move anything03:29
jelmerlifeless: everything else seems to be happy calling Repository.*03:30
lifelessto be clear, I don't think you're doing bad code, but we - you and I at a minimum - havent' figured out a foreign <-> core compromise03:30
jelmerlifeless: right03:30
jelmerlifeless: talking about this at UDS might be a good idea indeed03:30
* jelmer really gets some sleep now03:31
lifelessgnight03:31
raofCongratulations on bzr-git, by the way.  I've been using it to browse the kernel tree's commit log, because bzr's default log format is vastly superior to anything I've found in git.  “bzr log” in the kernel tree takes approximately as long as “git log”03:36
lifelessjelmer: ^03:36
lifelessraof: thats awesome03:36
lifelessand a little terrifying03:36
raof:)03:37
* raof doesn't quite get why git thinks commits should be in chronological order, interleving commits from different branches into one mixed stream03:39
thumperhere is a mind bender05:12
lifelessshoot05:13
thumperI have an existing branch that I had on the wrong revision05:13
lifeless'wrong' ?05:13
thumperI want to make a branch that is cherry pickable05:13
thumperbut I started with production-devel05:13
thumperrather than the lca with devel and production-devel05:13
thumperso when I proposed my production devel based branch, I get conflicts galore05:13
thumperso...05:13
thumperI uncommitted and shelved05:13
thumpernow I want to get to a good start revision05:13
thumperhow?05:14
lifelessbzr pull . --overwrite -r revid:`bzr find-merge-base devel prod-devel`  [actually the backtick expression won't work, consider it a conceptual example]05:15
thumperno revisions to pull :)05:16
lifelessthen you were on the revision already?05:16
thumperI think deleting the branch and starting again might be faster05:16
thumperno05:16
thumpershouldn't be05:17
thumperactually yes it is05:17
thumperbut the revno seems all wrong05:17
* thumper stabs it a bit05:20
lifelessthumper: pull --overwrite is the canonical way to just shift to a different revision05:21
thumperlifeless: worked with 'bzr pull ../db-devel --overwrite -r 9184'05:22
thumperlifeless: but giving it a revid (probably a different one) got it to 1062205:22
thumpergiven that the branch I was pulling from has under 9300 revisions05:22
thumperit seemed screwy05:22
lifelessheh05:22
chxhi. trying to get bundle buggy up and running. i have turbogears2 installed and http://turbogears.org/2.0/docs/main/WhatsNew.html says tg-admin sql create –> paster setup-app development.ini but what's development.ini?05:31
chxmeh, i will just get turbogears 1.105:36
chxAttributeError: 'ScopedSession' object has no attribute 'query_property' :(05:58
chxand there i am stuck :(05:59
chxabentley: I am trying to install bundle buggy05:59
pooliechx, perhaps it's a bit out of date06:01
poolietry googling those names06:01
chxpoolie: the error message? i googled the error message, there is nothing06:02
chxliterally nothing06:02
chxResults 1 - 1 of 1 for " AttributeError: 'ScopedSession' object has no attribute 'query_property'".06:02
chxand that's a chatlog06:02
chx"have you seen that before? nope"06:02
pooliecan you pastebin the traceback?06:05
chxpoolie: http://bzr.pastebin.com/8wRuteUF06:10
poolieto me this looks like a version mismatch within elixir vs turbogears06:16
pooliechx, suggest you send mail about it to aaron or to the bzr list06:16
chxpoolie: OK :(06:22
chxwill attempt with turbogears 1.0 as a last try06:22
poolieok06:22
pooliemost of the attention here has moved to lp reviews recently06:22
mkanatSo, I did I hear something about bzr releasing the GIL sometimes?07:12
mkanat(Strike that first "I")07:12
lifelessyes07:13
=== radoe_ is now known as radoe
lifelesssome of our C extensions know how to release the GIL07:13
mkanatlifeless: Okay. Is there some code I can grep for to see where that happens (or a list of places where it does)?07:14
lifelessbzrlib/*.(?i:py$) :)07:15
mkanatlifeless: The reason that I ask is that, though I haven't fully investigated, the codebrowse deadlock may be somewhere in the python interpreter layer, and a released GIL seems like a possible culprit.07:15
lifelessI'm not sure which modules release07:16
lifelessI'm pretty sure the groupcompressor does07:16
lifelesspossibly diff does07:16
spivThe only C extension that uses Py_BLOCK_THREADS/Py_UNBLOCK_THREADS is bzrlib/_groupcompress_pyx.c, according to grep07:16
mkanatspiv: Okay. So that would only happen on a write operation, right? So loggerhead wouldn't call that code.07:16
lifelesslook for nogil in the pyx files07:18
mkanatlifeless: Thanks. :-)07:18
lifelessmkanat: apply_delta does nogil07:19
lifelessso its both compression and decompression07:19
spivmkanat: no, I think it uses nogil sometimes while reading too.07:19
spivmkanat: that said, I'd be a bit surprised to find that using nogil was the problem07:19
mkanatspiv: What happens if a thread that has the GIL released gets an exception (from the launchpad-loggerhead no-activity thread killer)?07:20
mkanatspiv: Will the GIL be reacquired?07:20
mkanatspiv: You'll have to forgive me a little, I've actually not used much python code that releases the GIL.07:20
spivmkanat: assuming no bugs in Pyrex (or Cython if that's what you're using), yes.07:21
mkanatspiv: Okay.07:21
spivLook at how the translated C code handles those conditions if you like.07:21
lifelessmkanat: python code can't release the gil, only C code written to CPython07:21
mkanatlifeless: Right.07:21
lifelesswell07:21
mkanatlifeless: I was speaking loosely. :-)07:22
lifelessI guess the python dynamic access to C code could release it07:22
lifelessit would be hilarious07:22
mkanatOkay, yeah, looks like only groupcompress uses nogil anyhow.07:29
mkanatOkay, I've looked and not found this--where can I find how to get a working local instance of launchpad-loggerhead?07:49
maxbhttps://dev.launchpad.net/  ?07:53
mkanatmaxb: Thanks.07:57
mkanatspm: What does nagios/whatever do to check whether codebrowse is alive?08:00
spmmkanat: oh we gave up on that ages ago. it's kinda /dev/random > 20% - alert. otherwise is fine.08:01
mkanatspm: lol08:01
spmmkanat: /usr/lib/nagios/plugins/check_http -H bazaar.launchpad.net -u /~vcs-imports/busybox/main/changes -e " 200 OK"08:01
mkanatspm: Okay.08:02
spmbasically a simply http check alive/dead against a known url08:02
mkanatspm: Okay. Does nagios do the check more than once, or do you get paged immediately if it fails once?08:03
spm3 or 3 fails I suspect. it's very rare for any of our checks to be different to that08:03
spm3 *of* 308:03
mkanatspm: Okay, thanks.08:04
spmnp08:04
pooliehi spiv, lifeless, igc,08:04
poolieand vila08:04
pooliei'm thinking it's probably best to do 2.2b2 now, off trunk, rather than recutting 2.2b1 with fixes08:04
poolieany problems with that?08:04
igcpoolie: ok by me08:05
lifelesspoolie: fbm08:11
pooliei feel a bit weird so i'm going to stop after that08:11
spivYeah, seems fine to me.08:12
vilapoolie: I merge 2.0 -> 2.1 -> 2.2 and 2.1 > bzr.dev yesterday, so both ways are fine to me, I thought that was the plan anyway08:24
pooliethanks08:24
poolieyes, it was08:24
pooliei just had a somewhat dopey day today08:25
vilapoolie, lifeless: Can we talk about https://code.edge.launchpad.net/~vila/bzr/563997-selftest-unicode-reporting/+merge/23501 ?08:27
pooliesure08:27
vilalifeless: you r comment is terse and doesn't help me there, what's your point ?08:27
pooliesure08:28
poolieso vila, i think the main point of using them would be to synchronize with the progress bar08:28
pooliethat might be unneccessary if self.stream is already obtained from make_output_steram08:28
pooliestream*08:28
poolieum08:28
vilano its' not, it's a totally different beast08:29
vilawell, AFAICS08:29
vilaand I think the pb has already been cleared (my manual testing didn't show any problem there)08:30
poolieok08:30
vilaWhat *I* like is to separate the issues there: 1) make selftest robust, 2) address unicode support in ui08:30
poolieso i would still say that the real problem is #208:31
lifelessvila: hi08:31
lifelessuhm08:31
pooliebut if this is more pragmatic i don't think it's wrong08:31
pooliei think pb.note should be for something that kind of maps into an information dialog popup08:31
lifelessselftest shouldn't be calling a global function, which it might be08:31
vilayeah, but 1) was blocking me and trying to address 2) was more... involved08:31
poolieit's not clearly defined08:31
poolieso i don't mind removing callers08:31
lifelessin-python gui runners mightlike the current behaviour08:32
vilalifeless: yeah, part of the problem, I have no idea if there are one or several ui objects involved08:32
lifelessOTOH they can use their own result object08:32
lifelessvila: if it calls via module.ui_factory, it will end up calling the ui object * of tests *08:32
vilalifeless: I realize that, I'm not sure how approriate it is for selftest itself (given that it's the only place and that this code path is *not* involved is you use selftest -v !08:34
vilaI went with the pragmatic approach when I realized that (-v does it this way)08:34
lifelessvila: so, I'm saying that selftest needs to be solidly isolated08:35
lifelessI found some bugs when donig the testtools thing08:35
lifelesswhere selftest was doing 'progress' but we would not see it because the test ui factory was installed08:35
poolielifeless: yes, i know of them08:35
pooliein vila's patch it uses self.ui08:35
vilalifeless: yes, I don't have the line at hand but testtools use a UnicodeOrBytesToBytesWriter for stream (or something)08:35
lifelessok cool08:35
lifelesspoolie: ^08:36
pooliewhich is the outer ui, meant to be isolated from any global state changes08:36
pooliemm, i remember the conversation08:36
vilaouter ui... I missed that08:36
lifelessanyhow, I really don't mind what is done here; self.ui is our ui abstraction, but we don't have to use it08:36
vilamakes sense tough08:36
poolievila: the ui that's talking to the user about the progress of the test, not the ui for a particular test08:36
vilasure08:36
poolielifeless: my suspicion is that the problem originates in doctests08:36
pooliei think some isolation we do in the test base class actually needs to be done in the runner08:37
poolieor, similar08:37
pooliei mean, or in the doctest08:37
lifelesspoolie: really? That surprises me08:37
pooliei think doctests will see ui.ui_factory pointing to the real one08:37
poolieimbw08:37
pooliei haven't actually fixed the bug08:38
poolieit's only a suspicion08:38
lifelesspoolie: we can setup setup and teardown functions when we thunk doctests into unittest's api08:38
lifelesspoolie: so if thats happenning, we should create such functions08:38
lifelessit sounds plausible08:38
vilapoolie: the issues I went into trying to address 1) were: ui.show_* methods doesn't encode, the only method that encodes is prompt()08:39
poolievila: i suggest you merge this for now and get unblocked08:40
pooliei don't think it's a step back in any regard08:40
vilaamen & thks08:40
vilapoolie: I'll file a new bug for ui.note and friends then08:42
spivThere's a bug still open about the lack of isolation for our doctetss08:42
spivhttps://bugs.edge.launchpad.net/bzr/+bug/32132008:43
ubottuLaunchpad bug 321320 in bzr "bzr's doctests are not isolated (branchbuilder doctests check global gpg configuration)" [High,Confirmed]08:43
bialixheya all08:43
spivbialix: good evening.08:43
vilaspiv: yeah, and I still can't run the test suite in a bound branch :)08:43
bialixspiv: :-)08:43
bialixlet's call this rainy morning an evening08:44
vilabug #309309 what a lovely number...08:44
ubottuLaunchpad bug 309309 in bzr "selftest can't be run in a bound branch" [High,Confirmed] https://launchpad.net/bugs/30930908:44
=== chx is now known as chx_zZz
lifelessvila: could you please start setting commit messages in your proposals ? Thanks!09:01
vilalifeless: you mean when I do the proposal or when it is approved ?09:02
vilalifeless: by the way, the only thing that blocks me to always use feed-pqm is the lack of --fixes support09:02
lifelessvila: when you do put it up09:08
poolieok i might call it a day09:08
lifelessvila: how do you mean --fixes?09:08
spivpoolie: I suggest "Friday"09:09
pooliehee hee09:09
lifelessvila: if you mean the #TODO I have in my hydrazine cron branch, patch it :P09:09
poolieit's the quiet ones you've got to watch :)09:09
vilapoolie: if I land something in bzr.dev can I still target it at 2.2b2 ?09:09
poolienup09:09
pooliewell, not truthfully :)09:09
vilapoolie: ?09:10
pooliei've just sent a merge to pqm from trunk into the 2.2 branch that will be 2.2b209:10
vilalifeless: I mean the ability to say that the final commit is the one that really fixes the bug09:11
lifelessvila: I'm not sure how thats connected to feed-pqm09:11
vilalifeless: if my mp has been reviewed but doesn't mark the bug as fixed, I merge it into my integration branch, commit with --fixes and pqm-submit it09:13
lifelessvila: why don't you just commit a no-op --fixes?09:13
lifelessvila: or even not stress about it :P09:14
bialixpoolie: "call it a day" means EOD or long day fionished successfully?09:14
vilalifeless: matter of taste I presume09:14
pooliemore of the first in this case, but either09:14
bialixgood weekend for you then!09:15
poolieyou too09:15
vilapoolie: 2.2b3 milestone activated, let's keep 2.2b2 active for a couple of days though09:15
poolieyep09:15
pooliei haven't sent something to trunk to bump the version yet,because pqm is a bit queued09:15
poolieyou can if you want09:15
pooliecheerio09:15
vilapoolie: enjoy your week-end09:19
vilalifeless: woot ! thanks for approving/submitting my mp :-D09:21
lifelessvila: tools are good09:29
geserHello, I'm looking at updating a python script to use LP API (instead of screen scraping) and while at it to also replace the bzr calls with using the bzrlib module.10:01
geserIs there any documentation how to "translate" bzr calls to usage of bzrlib?10:01
geserI've found http://doc.bazaar.canonical.com/bzr.2.1/developers/integration.html which seems to cover most what I need.10:02
lifelessgeser: often, looking builtins.py can show you a great deal about what is going on10:04
* igc dinner10:13
geserhow do I translate "lp:foo" to something I can use as a branch location within bzrlib?10:14
spivgeser: that should work automatically if you load plugins10:18
spivgeser: "from bzrlib.plugin import load_plugins; load_plugins()"10:18
geserah, thanks10:19
spiv(The "lp:" namespace is provided by the launchpad plugin)10:19
* spiv -> dinner10:19
putrycyHi! I'm looking for some system control software that fits my requirements. I would like to realize the following scenario: I and my few friend are in LAN and we have some project. We would like to have system controlling and backup at once. I.e. every would run server and commit command would send changes not only to local server but to my friends' servers too. Is it possible with bazaar? Could you point me out a piece of doc ragarding that? 12:23
jderoseputrycy: a bzr "bound" branch does exactly what you're asking for. if you have bzr installed, see `bzr help checkout` and `bzr help bind`12:26
jderoseputrycy: also see http://doc.bazaar.canonical.com/bzr.2.1/en/user-guide/central_intro.html12:26
putrycyjderose: thanks, I'll take a look for sure. Tell me just one thing more: If some server is turned off will it be synchronized later?12:27
jderoseyes, but you can to do this manually (this is a feature I'd like to see in bzr)12:27
putrycyI _can_ or I _have to_?12:28
jderosewhen you go offline, you would `bzr unbind`.  when you go back online, you would `bzr bind` and then `bzr update`12:28
jderoseyes, you can certainly flip between bound and unbound, sync later when you are online12:28
jderoseit just doesn't happen automatically12:28
putrycyOK, I'll dig in doc for details. Thanks a lot once more12:29
jderoseputrycy: no problem, good luck!12:29
quicksilverI think putrycy was anticipating the changes would go *instantly* to his friends.12:33
quicksilverthat would require a something on the central server pushing to the friends on, perhaps, a commit hook or similar.12:34
quicksilverthere is no particular advantage to doing that12:34
quicksilverunless you expect the main server to regularly burst into flames.12:34
vilaputrycy: keep in mind that by being distributed you already have a backup: all your friends have a copy of all the revisisions you've shared so far12:37
vilaputrycy: if you add a server in the mix acting as a synchronization point, you get one more copy and a point where you can decide how you share your history12:38
vilaplus a place where everybody can check for new changes and push his own changes of course, but the point is that this central server is not mandatory, you can find other ways to sync12:39
vilaputrycy: bzr itself doesn't provide a way to push to multiple targets automatically.12:40
vilaputrycy: bound branches allows you to push every revision you commit to *one* server12:40
jderoseputrycy: The "Workflows12:44
jderose" doc give a good overview of the options, in case I didn't understand your needs: http://doc.bazaar.canonical.com/bzr.2.1/en/user-guide/bazaar_workflows.html12:44
putrycyoh.. I'm a little confused now. Why I would like to have repository on many servers? For safety. I.e. my real environ would contain just two machines: mine and of my friend. So I think it is possible one of them 'burst into flames'12:54
=== mrevell is now known as mrevell-lunch
putrycyIn the of my computer corruption I would like to have a copy of my work12:55
putrycywith all previous versions etc.12:55
jderoseputrycy: as bzr is distributed, when you create a local checkout or branch, you have the full set of revisions and history locally... so it's always on at least each person's machine who is working on it12:57
vilaif you have only two hosts it's simpler, start by reading http://wiki.bazaar.canonical.com/MatthewFuller/SpotDocs/PiecesInBrief , the vocabulary will be clearer12:57
vilaputrycy: as soon as both of you have a branch, you backup each other12:58
putrycyvila: OK, thanks12:58
putrycyand with 3 parts?12:58
putrycyI don't except corruption of two servers but I'm just asking12:58
putrycyif somebody else would like to participate in our cooperation12:59
jderoseputrycy: the server is *another* backup, but also a potential means of synchronization12:59
vilaputrycy: it's the same, a branch use a repository to store revisions, as soon as you merge changes from your friends, you get  a copy of their revisions12:59
putrycyoh13:00
putrycyI think about another scenrario13:00
putrycyi.e.13:00
putrycyeveryone work on another project13:00
putrycyand I don't need to explicitly obtain their branches13:01
putrycy(of course everyone could join to each other project but it's another story)13:02
vilawhat do you mean by "I don't need to explicitly obtain their branches" ?13:03
putrycyI mean a situation: on every sever there is a main dir containing repository. There are three different project: ProjectA, ProjectB, ProjectC. Each project is managed by another man. I think that I can work only on ProjectA. I.e. my server of course have to have a copy of ProjectA, ProjectB and ProjectC but my local workspace would contain only ProjectA13:06
putrycy(My english doesn't help me to explain what I mean:/)13:06
putrycyI think about bzr like about SVN... am I wrong?13:07
vilaputrycy: I think so, you *can* share a repository between branches and even between projects, but you interact mainly with branches13:17
putrycyso13:17
vilaso when you pull or merge from a friend's branch into your branch, you get only the revisions for his branch, not for the other projects13:18
putrycywhen I change something in my branch I would like every of my friend could see that change on his server13:18
vilaputrycy: they will need to pull from your branch13:19
vilaor merge13:19
putrycyso, cannot I commit to many different servers?13:19
putrycyto 3 in this case: my local and of my friends13:20
vilaputrycy: you can commit locally and to *one* server by using bound branches13:20
putrycyOK13:20
putrycythanks for youre patient13:20
vilaputrycy: no worries13:20
putrycypatience13:20
vilaputrycy: you can write a plugin to do so,13:21
vilaputrycy: keep in mind that not all servers will be online 24/7 though13:21
putrycyI know13:21
putrycyI know13:21
putrycythat's why I would like they to be synchronized13:22
vilaputrycy: or you can have a look at multi-pull which allows one to automatically pull (not push) multiple branches13:22
putrycywhen they are on13:22
vilawhat OS are you (plural) using ?13:22
putrycymainly windows but I'm going to use linux as welll13:23
putrycy(and perhaps FreeBSD)13:23
putrycyI have to write cross platform p2p soft13:24
vilaputrycy: hehe, then once you've got the "who is online" sorted out, you can either push or pull :)13:24
putrycyI don't want to: 1) lost my work 2) wait for long commit (sloooow internet connection) 3) show other my work (for some reasons) neither to pay (like in the case of assembla)13:26
putrycyvila: you wrote it in a context of plugin? If it's not too hard to write such a soft and I will have some free time then perhaps...13:27
putrycyWould be usefull, I think13:28
vilaputrycy: yes13:28
putrycyOK, thanks a lot once again13:28
vilaI think the subject of pushing to multiple places at once has been raised in the past, you may get a larger feedback by writing to the mailing list13:29
putrycywith my english skills it's a bit dangerous....13:30
putrycy:D13:30
putrycyI wonder how did you understand me...13:30
putrycy;)13:30
vilaputrycy: you're doing *very* well, and non-native english speakers tend to focus a bit more in their discussions, it helps ;-)13:33
=== fbond_ is now known as fbond
=== mrevell-lunch is now known as mrevell
goundyHi guys14:50
goundyI've an ftp that I use as a bazaar repository14:50
goundyand I'd like to add the possibility to browse the sources online (web-front)14:50
goundyBut, I do only know loggerhead, which is written in python, and works with bazar server14:51
goundyIs there any simple alternative that browse the source directly from storage ?14:51
goundyThank you very much14:51
Davieygoundy: erm, you can use loggerhead with access to a local bzr repo, don't need to have a bzr server running.14:57
goundyDaviey, but I still do need python and this is the problem :p14:57
goundycuz I own a simple FTP that I got from a free hosting service14:58
goundyDaviey, isn't there any php based bzr browser ?14:59
Davieygoundy: http://wiki.bazaar-vcs.org/WebInterfaces <-- is your options :)15:00
goundyoh didn't see that page15:00
goundydude, thank you very much15:00
Davieygoundy: no worries15:03
jammorning all15:35
Joyer```evening at asia~16:11
=== chx_zZz is now known as chx
=== deryck is now known as deryck[lunch]
bialix~~~17:14
jelmerjam: ping17:28
jelmerhi bigjools17:28
jelmer*bialix17:28
jammorning jelmer17:28
bigjoolsenjoying your vacation jelmer? :)17:28
jelmerirssi is trying to be smart since I talk to bigjools more often :-)17:28
jelmerbigjools: yeahp, thanks :_)17:29
jelmerjam: I was curious, is there anything I can help to move ~jameinel/bzr/2.2.0b2-pack-collection forward?17:31
jamyou could work on it. :), but nothing specific17:32
jamI've just been working on other things recently17:32
=== Joyer``` is now known as Joyer
=== deryck[lunch] is now known as deryck
=== beuno is now known as beuno-lunch
=== beuno-lunch is now known as beuno
nphase"bzr: ERROR: exceptions.ImportError: cannot import name XMLSerializer " <- where can I get XMLSerializer? i'm not seeing much by way of the googles19:35
nphaseyeah. when i run bzr branch19:45
nphase"ImportError: cannot import name XMLSerializer"19:45
jelmerI think mthaylor was seeing that problem as well19:46
jelmernot sure how he resolved it19:46
nphasehm19:52
nphasejelmer: if only he was around :(20:12
jelmernphase: probably off enjoying his weekend20:30
nphasejelmer: overrated!20:30
james_wnphase: one of your files wasn't updated when you installed a newer bzr20:32
nphaseah20:32
nphaseill uninstall the old one20:32
james_wI don't know why it's happening20:33
james_wwe haven't found a hash collision or something have we? :-)20:33
nikinhy... can someone tell me why bzr-gtk depends on technically everything? including pulseaudio?21:03
nphasejames_w: yep, that did it. thanks :)21:03
james_wnp21:03
goundyHi21:49
goundyQuestion: I use bazaar in FTP mode, but when I connect to my FTP using an ftp client, I can't see my branches21:50
goundybut if I do bzr branch ftp://..... I can checkout and push my branches... how come ?21:50
dashgoundy: is there a .bzr directory?21:52
goundydash, I can't even see it21:52
goundythat's really weird21:52
goundyBut I tell ya, my branches are really there lol21:52
dashdoes your ftp client hide directories starting with .?21:52
goundyNo I disabled this21:52
goundyI want this solved to be able to see all branches I create21:53
goundysince I didn't find a bzr command that lists branches in a shared repository21:53
goundythat's really weird stuff21:53
lifelessjam: hi21:57
lifelessjam: do you have a recipe for getting a meliae dump from a plain old python process that has gone rogue ?21:57
jamlifeless: hi, I do not. I would presume you can interrupt it using gdb, and then somehow get into a python interpreter21:58
jambut I don't know how to do that21:58
goundydash, no hints ?21:58
slestakdash: dang, man, you get around22:30
slestakim having some issues with the current unix (aix) builds of bzr.  I have talked a bit with the maintainer and another maintainer of the package giving me problems.22:31
slestakit has to do with conflicting python packages.22:31
slestaki think I am just going to build this from src myself.  I understand the c routines are just additional helpers for speed, not required.  Is that true or are they highly recommended or mandatory?22:32
slestakor in other words, can I run pure python bzr?22:33
beunoslestak, yes you can22:34
slestakive been around and around with this problem, and just need some bzr.  (or cowbell, not sure which)22:35
dashslestak: if you've got a C compiler and headers for python it shouldn't be a big deal to build the C extensions22:35
slestakthe problem i was running into is chris requires the use of his 2.6.2 python rpm for his bzr build.  I use mike perzls rpm on 2.6.5.  There is a library difference that makes these two incompatible.  (.a vs .so)22:37
slestaki could use this liek a month ago, so time to move forward.22:37
dashsure22:38
slestakquestion, I have been using bzr in all kinds of places.  wonder if this is a best practice.  One example I questioned was in my rsyslog.conf and rsyslog.d for a central loggig server.22:39
slestaksince .bzr is hidden, othe rteam member may not be aware that a random file in a dir (/etc) is even versioned at all.22:40
slestakdoes that seem liek a misuse to use at that micro-level?22:40
dashyeah versioning /etc is a nice idea but tricky22:42
slestakthat just seems marginally valuable.  prob need to think of another solution.22:43
fullermdEh, I do it.22:43
slestaki'd really liek to version my icinga configs as well22:43
fullermdFigure that if nobody else ever uses it but you, that's still at least a LITTLE better than no versioning at all, right?22:43
slestakfullermd: all of /etc in one repo, or many small repo's?22:43
fullermdWell, I version the whole thing, sorta, but I only cherrypick maybe the half dozen files that really get edited on any given box.22:44
fullermdAnd ignore everything else.22:44
slestakfullermd: granted.  better than the typical foo.sh, foo011410.sh, foo.sh.bak, foo.sh.dont discard...22:44
fullermdBut places like under /usr/local/etc/ there are usually several small branches.22:44
fullermdAnd on boxes that other people admin too, I yell and scream and throw hissy fits until they start checking in their changes.22:45
slestakinteresting commint messages, Jim changes this crap, wish he would log too22:45
fullermdYeah, I've made a few of those  :p22:46
slestaki just wonder if maybe there should be a visual indicator in teh dir that a repo exists.  the tortoise* apps do with emblems.  why is this not necessary/helpful for console users?22:46
fullermd`touch USE_BZR_FOR_THIS_YOU_IDIOTS`22:47
jelmermoinmoin fullermd22:47
* fullermd waves at jelmer.22:48
slestakbom dia22:50
slestakfullermd: i think that would be sufficient.  May add it as a init hook to make it by default, and add it to .ignore22:51
slestakhey, a plugin!22:51

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