/srv/irclogs.ubuntu.com/2007/12/14/#bzr.txt

=== doko_ is now known as doko
abadger1999hmmm... is there a common misconfiguration that can cause bzr push bzr+ssh://[..] to start up a bzr smart server listed in inetd?01:12
jamabadger1999: IIRC, bzr+ssh:// spawns a "bzr serve --inet ..." to tell the bzr serve process to communicate on stdin/out rather than starting a TCP server.01:13
jamIt is just a flag.01:13
abadger1999ah.  Okay.01:14
jamOtherwise you would have to have inetd configured to connect to port 22 or so.01:14
abadger1999So I'm seeing something else.01:14
abadger1999Right now when I do bzr push, I am told that there's a lock already on the repo.01:14
abadger1999If I stop the request, kill the bzr server, and bzr break-lock on the remote repo and try again I get an exception: TooManyConcurrentRequests:01:15
jamhmm... I'm not sure about the TooMany...01:16
jambut it is a known bug for having to run "bzr break-lock" 2 times01:16
abadger1999Okay.  So I should try running break-lock twice in the repo and see if it works?01:16
jamabadger1999: yeah01:16
jamthe service that is still running is waiting to grab the lock01:16
jamso you want to break the lock, let it grab it, and then break it again01:17
abadger1999If I check and make sure that bzr serve isn't running on the server, that should be good too, correct?01:17
jamit *should*01:17
jamBut you may need to break the lock after you ensure that01:18
abadger1999Okay.01:18
abadger1999So that takes care of the locks but I get the exception again: TooManyConcurrentRequests: The medium '<bzrlib.smart.medium.SmartSSHClientMedium object at 0x2aaab23b8790>'01:19
jamabadger1999: first, make sure sftp:// still works01:20
jambzr log sftp://... is usually what I use01:20
jam(I wonder if you aren't mis-typing the host)01:20
abadger1999sftp won't work.01:20
abadger1999We have ssh access but not sftp.01:20
jamreally, that is uncommon01:20
abadger1999Here's the full traceback: http://pastebin.ca/81540801:20
abadger1999It's for security reasons on this host.01:21
abadger1999ssh is locked down to only allow certain SCMs to be run on certain directories.01:21
jamabadger1999: well 0.91, I believe, didn't have the fixes to get better errors01:21
jambut it sure looks like the connection is closing down too quickly01:21
abadger1999Will the bzr on the repository leave better information?  Or do I need to update the clientside to get better errors?01:22
jamactually, it looks like the server side is dying01:23
jam#01:23
jam  File "/usr/bin/bzr", line 117, in ?01:23
jam#01:23
jam    sys.stdout.flush()01:23
jam#01:23
jamValueError: I/O operation on closed file01:23
jam^- That looks like the server side is trying to flush01:23
jam(flush stdout)01:24
jambut it has already closed01:24
jamI could be wrong.01:24
jamabadger1999: the client is generating the local traceback which is confusing because you aren't getting ConnectionClosed01:24
jam(instead you are getting TooMany...)01:24
abadger1999jam: here's the .bzr.log from the server: http://pastebin.ca/81541401:25
abadger1999jam: Interesting.  So it's something about the particular set of changes that I'm attempting to push that's causing this.  I made a new branch of the repo and was able to make a trivial change and push that back to the server.01:35
jamthat is strange01:35
jamI'm afraid I'm not really sure what is going on off-hand01:35
jamI can come back to it tomorrow if you are still running into it01:36
abadger1999Should I make copies of my local and remote repositories for you guys before I try harder to fix this?01:36
spivabadger1999: Perhaps try running the client with "-Dhpss", to put more debugging in the .bzr.log.01:36
spivabadger1999: although I'm not sure it'll reveal much in this case01:36
jamyou can, it seems more like just upgrading to something newer than 0.91 would also be a good step01:36
spivI'd definitely try upgrading, yeah.01:36
abadger1999spiv: hpss shows the same thing.01:37
abadger1999Interestingly, the remote repo has now diverged from my local one so whatever is happening happened before that check is performed.01:38
abadger1999Creating a 1.0rc3 package for this box now.01:38
abadger1999spiv, jam: More output but same error with 1.0rc3:  http://pastebin.ca/81543901:52
spivabadger1999: could you try "bzr -Dhpss push", and pastebin the relevant ~/.bzr.log excerpt that it generates?01:55
abadger1999spiv: http://pastebin.ca/81544601:58
spivabadger1999: Hmm, so it successfully takes a lock on the repository, but fails on the first operation that actually tries to write to the repo.02:01
PengWhat's with the TooManyConcurrentConnections exceptions? It happens a lot, when it doesn't make sense.02:02
spivPeng: the smart client is a bit too easily confused when something unexpected happens.02:03
PengLike the TooMany... exception is in an "else:" or something.02:04
spivPeng: not quite02:04
spivPeng: for instance, what's happening here I think may be an error response to the 'append' call that the client doesn't expect.  The relevant function raises an error, and that triggers a "finally: foo.unlock()" somewhere.  But the previous request/response pair hasn't been fully read from the wire.02:05
spivPeng: so TooManyConcurrentRequests gets raised.02:06
abadger1999Another data point -- I created a fresh branch in a non-repository location and merged the changes from the old local branch to the new local branch.  bzr commit and then bzr push.... the push fails in the same way.02:07
Pengspiv: Oh. Requests. As in trying to do things at once. Ok.02:08
Pengs/do/do two.02:08
Peng/02:08
* Peng can't type.02:08
spivabadger1999: hmm!02:09
spivabadger1999: the permissions on the server-side seem normal?]02:11
abadger1999spiv: Yes and I have pushed a small change from a fresh branch since the problem started.02:11
spivSo it's something weird about that data.  Hmm.02:12
abadger1999Let me try a small change to the particular file that seems to be failing.02:12
abadger1999spiv: Ah ha!  it is a permissions problem.02:13
spivabadger1999: oh ho!02:13
abadger1999It looks like the smart server doesn't set the sticky group when it creates a fresh directory in .bzr/repository/knits02:13
abadger1999So I suppose the question is whether it's supposed to or not.  I know sftp was broken in this regard but thought the smart server was supposed to fix this.02:15
spivThe smart server doesn't explicitly set a umask.02:15
spivSo it will be inheriting whatever the default is I guess.  If the mkdir from the client side specifies a mode it should respect that though...02:16
abadger1999Well, umask should be 000202:18
spivabadger1999: http://pastebin.ca/815459 is the logic that should be used to choose the mode it uses02:19
abadger1999Well, that should find the correct mode.02:24
spivYeah, I think so too.02:24
spivabadger1999: could you run a "bzr -Dhpss ..." that tries to create the .bzr/repository/knits directory, so we can see what mode the client asks for?02:24
spive.g. push to a new location outside of a repo should do it.02:25
abadger1999spiv: http://pastebin.ca/81547002:29
abadger1999We have to setup our repos with the sticky bit ordinarily though.02:30
abadger1999Want me to also push to an empty repo with the sticky group bit set?02:30
spivHmm!02:31
spivFor reference, the modes are sent in decimal over the wire for some reason.02:32
spiv'mkdir', '/var/tmp/python-fedora-devel/.bzr/repository/knits', '509'02:32
spivThat's 077502:32
spivSo the client is choosing the wrong mode it seems.02:32
poolieigc, hi02:34
igchi poolie02:34
pooliesomeone pointed out that many links in http://bazaar-vcs.org/BzrUserGuide02:34
poolieare broken02:34
pooliecan i just remove it now?02:34
poolieand redirect to the doc site?02:35
igcyes please02:35
pooliehm02:35
abadger1999spiv: Hmm.... but don't I need to have a directory or repository on the server that has the sticky group bit already set?02:36
spivabadger1999: yes02:36
pooliespiv,  do you know anything about pqm02:37
pooliejust for the guy asking on the list?02:37
poolieit's older than i am02:37
poolieat least, at canonical02:37
abadger1999I just set up a repository with permissions the way we set them up on the server and pushed to that.  That created a pack branch on the server instead of dirstate-tags but it set the sticky bit correctly.02:37
spivabadger1999: Oh right, I see in that log the directories that bzr stat'ed didn't have sticky bits either.02:38
abadger1999Can I force it to use dirstate instead of pack when pushing to the remote repo?02:38
abadger1999Actually... I should be able to test this by creating a file and committing to the old repository right?  It'll create a new knit for the new file?02:40
spivThat's right.02:40
abadger1999spiv: Well... that was successful too.  I wonder if the person that committed the file is using a version of bzr with a bug (since fixed)02:44
abadger1999by successful I mean the new knit has the sticky group bit set.02:45
spivabadger1999: yeah, I wonder that too.02:48
abadger1999Looks like that dev has gone home for the day.  I'll play around and see if I can find the problem version.  Hopefully it's something truly ancient :-)02:54
spivpoolie: Hmm, I don't know much about the nitty gritty of configuring it03:01
poolieigc, is there anything else to merge for 1.0?03:13
igcrst2html?03:13
pooliei have your cherrypicked fix for the download location03:13
igcit was from data actually03:13
igcs/data/dato/03:13
pooliewell, rather the one you reminded me about03:14
ubotuNew bug: #176263 in bzr "bzr rm \\ crashes with IndexError" [Medium,Confirmed] https://launchpad.net/bugs/17626303:15
igcpoolie: looks like the rst2html fix is in 1.0 but not bzr.dev yet03:15
poolieok03:15
poolieright, i'll merge back to dev soon03:16
poolieafter the final03:16
igcsure03:16
* igc lunch03:42
poolieok, starting on the release now03:46
MattCampbellIs it feasible with Bazaar to combine the contents of multiple repositories into one, or split into multiple repositories?04:39
MattCampbellIt doesn't seem possible to do this kind of reorganization with SVN without losing history.04:40
pooliecan you explain more about what you want to do?04:43
PengIf they're two related branches, absolutely.04:44
MattCampbellI have two scenarios in mind.  First, suppose that I'm working on a large project, and I've developed a module as part of that project that is more widely useful, so I want to split it off without losing history thus far.04:51
MattCampbellPerhaps the larger project is proprietary, but I want to release the module as open source.04:51
poolieok04:52
poolieso, bzr split helps with this04:52
pooliehowever, it'll still have a link back to the previous history04:52
fullermdSplitting is harder than combining.04:52
poolieand often if it was previously proprietary, people will want to make sure that's not exposed04:53
MattCampbellSo if I think it might be desirable to release a piece of code as open source, then I should develop it in its own branch from the start.04:54
poolieyes, i'd recommend that04:54
poolienot just for vcs reasons, but also so you can be clear about what should or shouldn't be included in it04:55
poolieand what dependencies it can have on other things, or vice versa04:55
MattCampbellNow for the other scenario:  Suppose I have two different source trees "foo" and "bar", and I want to create a new bzr repository with these formerly separate trees as subdirectories (initially; once there's just oen tree, things can be moved around at will).  Can I do this while preserving the two histories thus far?04:57
poolieyes, bzr join does that04:58
pooliei should mention that this feature still has some rough edges04:58
pooliebut if you want to give feedback and report some bugs, that would be great04:58
MattCampbellThanks.  I'm evaluating bzr for use in a proprietary project that, to my shame, has not used any VCS at all thus far.04:59
MattCampbellthough I've used CVS and SVN in some open-source projects.05:00
pooliebzr will be great :)05:00
pooliethe amount of vcs knowledge needed is reasonably small...05:00
poolieso my main advice with this kind of splitting and joining is,05:00
pooliejust to think about the issues beyond the vcs issues05:01
pooliedependencies between code and so on05:01
pooliekeeping things separate is always easier than untangling them later05:01
poolie(assuming of course you know what should be separated)05:01
pooliebtw, we just went 1.0!05:01
MattCampbelldarn, my rc3, downloaded less than 2 hours ago, is already out of date. :)05:02
pooliethere are no changes05:02
poolieaside from some doc corrections05:02
pooliebut i'm happy to be here, i wanted to tell someone :)05:02
Odd_Blokepoolie: Congrats! :)05:03
abadger1999poolie: Woo hoo! Change the topic!05:06
=== poolie changed the topic of #bzr to: http://bazaar-vcs.org/ | Bazaar 1.0 is out!
=== poolie changed the topic of #bzr to: http://bazaar-vcs.org/ | Bazaar 1.0 is out! woo!
MattCampbellInclude the download URL.05:07
MattCampbelltarball URL, rather05:07
Odd_BlokeMoar bikeshedding! :D05:07
=== poolie changed the topic of #bzr to: http://bazaar-vcs.org/ | Bazaar 1.0 is out! woo! | http://bazaar-vcs.org/releases/src/bzr-1.0.tar.gz
abadger1999Excellent!05:08
* abadger1999 goes forth to make many many packages05:08
spiv\o/05:09
poolie^5!05:09
fullermdHm.  Well, that answers one question at least.05:10
jmlwuuu05:10
fullermdFreeBSD ports freeze ended earlier this week.  I wondered which would happen first; they'd get around to committing the 0.92 update I submitted during it, or 1.0 would come out.05:10
MattCampbellAnyone here know how quickly a new Gentoo ebuild will become available?  How about a package for Debian Etch?05:11
pooliei'm going to do a deb soon, which i hope will be buildable on etch05:12
MattCampbellI've just started learning about Bazaar tonight.  I think it's killer feature is support for multiple workflows.  I'll probably start with the serverless solo workflow, then move to centralized with offline commits.05:14
pooliei think so too05:18
poolieyou should check out ian's "adaptive vcs" paper05:18
poolieif you have not already05:18
MattCampbellURL?05:19
pooliehttp://ianclatworthy.wordpress.com/2007/10/11/why-distributed-version-control-matters/05:21
pooliehm05:21
pooliehttp://ianclatworthy.files.wordpress.com/2007/10/dvcs-why-and-how3.pdf rather05:21
MattCampbellIs the latter available in HTML?05:22
pooliemaybe if you ping igc05:22
MattCampbellNever mind, I already have enough info to get started.  Thanks.05:23
poolieyou're welcome05:24
igcMattCambell: would you like the OpenOffice original?05:24
MattCampbelldon't have OO installed; I would prefer a conversion to HTML.05:25
igcno problem - I'll generate one05:25
PengOoh! I didn't know log had a --limit arg! Hg does, but with a -l abbreviation.05:26
MattCampbell(I have low vision, so I find HTML is easier to read in a large font or via speech synthesis if it's mostly prose. In case anyone was curious.)05:26
pooliepeng, want to patch it?05:27
poolieexcept -l might be --long?05:27
PengNope, no such option! :)05:29
Odd_Blokeigc: If you make OO/text available, I'd be happy to make a LaTeX version.05:31
Odd_BlokeI take a perverse pleasure in writing LaTeX. :p05:31
igcOdd_Bloke: thanks. And good luck with that :-)05:32
PengI shouldn't suggest it for 1.0, should I?05:33
Odd_BlokePeng: It would be somewhat awkward to get it, if you examine the topic. :p05:33
PengWoah!05:34
PengI didn't notice!05:34
PengAwesome!05:34
PengAww, I can't gpg-verify it. I can't get hkp keys.05:35
Odd_Blokeigc: I will need it in some format other than PDF (as pdftotext gives me "^L^L^L^L^L" and nothing else which, while easy to typeset, does not produce the strongest argument for DVCS :p).05:35
MattCampbellWhy would you want to convert from ODF to LaTeX?05:36
PengCongratulations!05:36
Odd_BlokeMattCampbell: Because ODF is fugly.05:37
fullermdOh, you know those LaTeX people.  Buncha cultists.  They're almost as bad as the DVCS freaks.05:41
Pengpacks, after repacking, in chronological order, in MB: 225, 11, 25, 78, 67.05:42
* Odd_Bloke is a terrible, terrible person^W^W^W both.05:43
PengI'm afraid to add that up.05:43
fullermdPeng: I think these days, that's roughly 18 cents   ;)05:43
baijumCongrats to all developers for 1.0 release !05:44
PengYeah, but like 150 MB of that is from the last month.05:44
PengHow are short names for args usually tested?05:47
baijumIs there any press release for 1.0 release ?05:48
igcMattCampbell, Odd_Bloke: My DVCS paper is now available in multiple formats here: http://people.ubuntu.com/~ianc/papers/05:49
igcLet me know if there are any problems05:49
MattCampbellThanks.05:50
ubotuNew bug: #176284 in bzr ""bzr plugins" should also display the plugin search path" [Undecided,New] https://launchpad.net/bugs/17628405:51
MattCampbelligc: One nitpick: The HTML version has no <title>05:52
igcDamd OOo - I'll add one by hand05:52
igcs/Damn/Damn/05:53
MattCampbellAlso I think it's best not to specify font family and size in the CSS; users who want your exact formatting can get the PDF.05:54
lifelessglyph: bzr --version will tell you the search path06:16
lifelessI think06:16
lifelesshmm no. Well it should ;)06:17
glyphlifeless: heh heh06:20
glyphlifeless: well, *something* should, anyway - hence the suggestion ;)06:24
glyphand hey, uh06:25
glyphbzr: ERROR: Unrecognised value for BZR_SSH environment variable: C:/Program Files/Putty/plink.exe06:25
glyphwhat's up with that?06:25
pooliethat's strange06:25
poolieglyph, I believe you're meant to use that to just say what type of ssh you want us to use06:27
spivglyph: yeah, try just BZR_SSH=plink06:28
poolieso try just using "plink"06:28
spiv(and set your PATH appropriately, I guess)06:28
glyphbleh06:28
pooliethat's kind of contradictory with how rsync and cvs use it06:28
spivDifferent SSH programs take different command line arguments, which makes DWIM a little awkward.06:28
glyphI specifically *don't* have my PATH set, because I have 4 different plink.exe executables06:28
pooliehm06:29
spivPossibily we should have separate BZR_SSH_EXE and BZR_SSH_TYPE variables.06:29
pooliei'm filing a bug06:30
spiv(Or maybe just rely on "if 'plink' in BZR_SSH:"?)06:30
poolieyeah06:30
pooliethat should work06:30
spivFor plink at least.  I don't think we can disambiguate OpenSSH's ssh from SSH Corp's ssh that way.06:31
ubotuNew bug: #176292 in bzr "BZR_SSH should allow setting the path to ssh, not just the kind of ssh" [Undecided,New] https://launchpad.net/bugs/17629206:45
poolieglyph, ^^06:45
glyphpoolie: thanks06:45
pooliesubscribe if you like06:46
poolieand please let us know if you hit something else06:46
poolies//anything06:46
PengWith command arguments, are there unit tests for both --arg and -a or just one of them?06:52
poolieit varies06:53
poolieideally, both would be tested06:53
pooliethere is some work in test.command (iirc) towards testing command line parsing separately from the code that actually runs the command06:53
PengI'm adding a -a for a command that already has a (tested) --arg already should I just add a new copy of the test, "test_command_arg_short" or something?06:54
PengOops, erase one of those "already"s.06:54
* baijum just added release link to reddit: http://programming.reddit.com/info/62yy3/comments/ (I should have checked some other DVCS ;)06:54
poolieoops06:55
pooliebut thanks for posting it there06:55
baijumnp06:56
ecognitoHi.  If you have a shared repository that has been created with the --no-trees option, how do you figure out what it in there?  bzr ls only works on branches... I just have a folder with a .bzr sub-folder in it, but is otherwise empty...07:04
PengWhat?07:05
poolieecognito, try 'bzr info' on that directory07:06
ecognitoIt just says it is a shared repository.  It doesn't tell me what working trees I could pull out of it.07:10
PengOoh, I broke send!07:10
PengOh, never mind.07:11
PengWell, send tracebacks when it's not in a branch, I guess.07:11
nhainesCongratulations on version 1.00!07:26
pooliethanks07:26
Pengbzr send tracebacks when used outside of a branch -> known bug?07:27
pooliei don't think so07:28
poolieok, i'm going to take a break07:29
poolieSee you later07:29
jmlpoolie: cya07:30
jmlpoolie: I'll hoist a pint for 1.007:31
pooliecheers07:31
poolieme too07:31
PengI'll hoist a pint of...water, if I can find a large enough glass. :)07:32
ubotuNew bug: #176300 in bzr "bzr send tracebacks when used outside of a branch" [Undecided,New] https://launchpad.net/bugs/17630007:40
igcthanks and congratulations to everyone involved in delivering 1.007:43
igcI'm off to celebrate my son's birthday so I won't be hanging around here tonight :-)07:43
igccheers everyone07:44
igcnight all07:44
nhainesGood night and congrats, igc :)07:44
igcthanks07:44
MattCampbellWhat's the difference between "bzr update" and "bzr merge", aside from "update" being more familiar to CVS and SVN users?07:55
PengUsing checkouts? I'm not sure.07:57
nhainesI think update only pulls from the checked-out repository, whereas merge has a lot more options and you can merge from any other branch.07:59
* AfC never runs update and merge in the same branch07:59
AfCIn fact, I never run update, but that's another story.08:00
baijumHi AfC, during your FOSS.IN/2007 talk I installed bzr viz, and like it...thanks :)08:03
AfCbaijum: :)08:03
nhainesI installed bzr viz just 30 minutes ago... and I like it.  :)08:03
nhainesI'm still a little more used to Subversion... but I could hardly escape the allure of running a VCS written in Python...08:04
AfCbaijum: it's pretty sweet, although I've recently started realizing that what I really need is a unified cross between visualize, gannotate. I frequently find myself needing to study the evolution of code across revisions, and am trying to figure out what a UI to do that well would look like08:04
AfCnhaines: who cares what it is written in?08:04
nhainesAfC: I do, merely because I'm most proficient in Python and can therefore make changes and bugs if I need to.08:05
AfCOne would have thought that "whether it works correctly or not" would be a more important criterion. {sigh}08:05
nhainesThis is merely a secondary concern: if it didn't work, then of course it would have been right back to svn.  But being written in Python and used by some rather large projects was the draw.08:06
nhainesFreedom 1 can't be underestimated.08:09
baijumAfC, is olive does provide a single unified UI for all these functionalities ?08:10
NamNguyenawesome! 1.0 is out08:11
nhaineshmm, need to reboot.  bye, alll!08:19
=== sdh_ is now known as sdh
jelmerddaa: ping11:44
LarstiQelmo: bazaar-vcs.org seems to be having problems?12:08
sabdflWooooot!12:24
sabdflwell done all12:24
jelmerthanks sabdfl :-)12:26
jelmerhey LarstiQ12:26
LarstiQhey jelmer12:26
jelmerRiddell,luks: Just tracked down the memory leak in python-subversion. I've got a hack that works, hopefully something better later this week.12:27
jelmerFetching revisions from KDE's history I've now got bzr using 20Mb RAM while it's already fetched metadat for 30krevisions12:27
jelmer(compared to 300Mb earlier)12:28
Riddelljelmer: ooh, exciting12:28
datoabentley: hi. it seems that http://panoramicfeedback.com/opensource/bzr/repo/plugins/bzrtools/ is missing revisions? (doesn't have an up to date version.py at least, it's at 0.92). is that still the current URL?12:30
Peng_When running "bzr status", does bzr read every file to see if it matches, or cache stat information or something?12:34
Peng_s/matches/has been changed/12:34
Peng_When running "bzr status", does bzr read every file to see if it has been changed, or cache stat information or something?12:35
=== Peng_ is now known as Peng
mwhudsonPeng: there is caching12:45
ubotuNew bug: #176350 in bzr "gets confused when editor is killed" [Undecided,New] https://launchpad.net/bugs/17635012:45
spivPeng: it stats, and compares to a cache of stat information.12:47
spivPeng: that's the "dirstate" file.12:47
spivjelmer: fantastic12:48
PengOkies.12:49
PengHg does too.12:49
Qhestionhmm is it possible to write a bazaar plugin that implements a specific merging method for specific files?12:50
jelmerQhestion: I believe Aaron has been working on support for that12:51
jelmerQhestion: His nick on IRC is abentley, but he doesn't appear to be around12:51
Qhestionso i cant just hook into the merging method and..?12:52
Qhestion:(12:52
jelmerQhestion: You can register a custom merging method I think, but that would be called for all files at the moment12:53
Qhestionwell, that wont be a problem: i think it would be easy to check for a condition and call the original merging method if not true12:54
jelmerAaron's work was focussed on merge algorithms for specific files I think (e.g. C-specific merges)12:54
Qhestioni will look into it, and if i get it to work put my branch somewhere. and with some luck it will get integrated into the the main bazaar branch :)12:57
jelmerQhestion: well, that was the sort of thing Aaron was working on afaik so please coordinate with him if you intend on having this merged into mainline.12:58
abentleyQhestion: I'12:59
abentleyI'm not working on it at the moment and haven't gotten very far anyway.12:59
abentleyFeel free to proceed.12:59
Qhestionoh, bazaar 1.0 today!13:10
Qhestiongood job!13:10
jelmerhi Aaron13:34
=== mvo_ is now known as mvo
fbondAnybody know anything about 1.0 .debs maybe being published?14:14
jelmerfbond: .debs have been uploaded to Debian sid14:16
jelmerlifeless takes care of the Ubuntu and bazaar-vcs.org debs14:17
jelmerlifeless: ping14:17
PengDarn, even with the bug-124089 branch that's working on bzr+http's path handling issues, it still gave me "not a branch".14:35
PengWell, I might be using the wrong bzrlib.14:35
=== cprov is now known as cprov-lunch
vilajelmer: lifeless is in vacation :)14:56
jelmervila: well, he seems to be around sometimes14:57
vilatrue, but right now he may just be celebrating 1.014:58
PengThat's a nice kind of vacation! Behave normally, but whenever someone asks you to do something you don't want to, just say "dude, I'm on vacation!".14:58
fullermdHeck, I do that pretty much all the time...14:59
PengHeh.14:59
fullermdThat's the advantage of taking your vacation time in 5 minute increments; you can go on vacation just long enough for somebody to get bored and wander off   ;)14:59
* vila takes some vacations15:01
StavrosHi, I'm new to bazaar and am trying it out, and I've noticed that when someone pushes their changes to my repo, bazaar automatically merges their changes to my working copy without notifying me. Is that safe?15:01
PengUsually you mostly pull, not push.15:01
StavrosOh hmm. I'm still getting the hang of DVCSs...15:02
StavrosHow safe is automatic merging in general?15:02
radixStavros: what's automatic merging?15:03
radixyou mean what "bzr merge" does?15:03
StavrosYes.15:03
vilaStavros: may be you're confusing branch and repo here, you can have a repo where everybody push (including yourself) and your own branch(es) as you're working env15:03
StavrosWell...15:03
vilas/you're/your/15:04
Stavrosradix: I mean merging of the actual code between revisions.15:04
Stavrosvila: Isn't a branch an entire repo in itself?15:04
radixStavros: can you name specific bzr operations? because I don't really understand what you're saying15:04
PengStavros: I'd say "mostly safe", but it is possible to trick the algorithm (3-way merge) into doing things a little wrong, and two people can make incompatible changes to different sections of a file.15:04
PengStavros: I'd review it if I could.15:04
StavrosPeng: Ah, I see.15:04
radixPeng: it doesn't sound like he's actually talking about "merge"...15:04
vilaStavros: A branch use a repository to store the revisions15:04
Stavrosradix: What Peng said, I'm talking about the merging of code in the files.15:04
radixStavros: so you mean when you explicitly do a "bzr merge" operation, you're wondering if the algorithm it uses to merge the changes together is safe?15:05
Stavrosradix: Yes, the same thing that bzr appears to do when pushing.15:05
vilaStavros: so I should have said: you can have a branch where everybody push (including yourself) and your own branch(es) as your working env15:05
radixStavros: that's not what happens when you push15:06
Stavrosvila: Ah.15:06
Stavrosradix: Well, I just pushed my branch to another repo and it merged the repo's working copy with my changes.15:06
radixStavros: pushing *only* works with non-diverged branches, so there's no actual merging happening -- just appending of revisions15:06
fullermdradix: It is when you locally push into a branch with colo'd working tree where somebody is working.15:06
radixStavros: it didn't "merge", it just added some revisions15:06
Stavrosradix: Ah, different terminology then.15:06
StavrosThat's what I meant by merging, the actual changing of the file.15:06
StavrosNot the bzr "merge" operation.15:07
fullermd(not that that's a particularly sane workflow, but...)15:07
radixright, ok15:07
StavrosI see now though, thanks.15:07
radixStavros: so that's very safe15:07
radixStavros: as long as you don't use --overwrite, it won't affect the target branch in a bad way15:07
radixi.e., you can always back out those changes, or whatever.15:07
radixand if you don't want *other* people affecting your branch at all, well, don't give them write access.15:08
StavrosYes, I suppose so. I was just worried that it could happen while I wasn't looking, since with SVN/whatever it would tell you that there are new changes and you'd have to merge and then commit.15:08
radixStavros: then you need a different workflow15:08
radixStavros: allow other people to publish branches somewhere else, but not push directly to your branch15:08
radixStavros: and then you can merge them when you want15:08
Stavrosradix: I was just testing and noticed that, I'll probably be using a SVNish model with a central server.15:08
StavrosJust for backup mostly, since I'm usually solo.15:08
StavrosI also tried Hg recently and liked it, so now I'm between these two systems, which are both very nice.15:09
mwhudsonjelmer: that memory leak workaround is lovely :)15:28
jam Stavros: so doing "bzr push .../existing-branch" is similar to if someone in svn did15:29
jamsvn checkout .../existing-branch; change stuff; svn commit15:30
jamIt only works if their changes are descended from your tip revision15:30
jamI would mention that when you "bzr merge" it *doesn't* automatically commit15:31
jamand both pull/push only work if there would be nothing to merge (eg someone has already done the merge)15:31
lukswell, at least pull will try to merge uncommitted changes15:33
Stavrosjam: Hmm, I don't think that example is accurate, because in bzr the person's changes are reflected in your working copy, while in SVN you get a notification that there were changes when you try to commit...15:35
StavrosI think that there might have been some danger where you'd be working on it, and commit only to find out that your working copy had changed incompatibly and you've checked in a broken build.15:36
StavrosBut that's a pretty far-fetched usecase...15:36
jamStavros: with SVN?15:36
jamor with Bazaar?15:36
Stavrosjam: bzr, with SVN you get a notification, it doesn't change anything without you knowing.15:37
jamIn bazaar you would have to bzr update15:37
jamAnd it wouldn't let you commit if you were out of date15:37
jamI'm not sure how it is doing what you suggest15:37
StavrosNo, picture this:15:37
StavrosYou pull my repo and work on feature B, and I work on feature A. I test feature A, and leave a touch for later. You test feature B and commit and push to mine. Your feature breaks mine, and bzr changes my working copy to implement your changes, and when I commit, it's broken.15:39
StavrosUnless I did something wrong?15:39
jelmerStavros: in general, you don't push to somebody elses branch15:39
jamStavros: when you push, how did you update the working tree?15:39
jamYou might push to the *branch*15:39
Stavrosjam: I didn't, it was already updated.15:39
jambut the WT knows it is out-of-date15:39
jamThe only way I know to do that is to have both users working on the same machine15:39
StavrosHmm, I'll retest it, maybe I made a mistake.15:39
jamand have them bzr push ../other-working-tree15:40
Stavrosjam: I actually was :p15:40
StavrosI didn't think it'd matter, I was testing it out.15:40
StavrosSo what does it do when you're on another machine?15:40
jamIt marks the branch at a new point15:40
jamand your working tree stays put15:40
PengStavros: The usual workflow is to have the other person push somewhere, and you pull.15:40
jam(we don't update WT on another machine unless you have my push-and-update plugin installed)15:40
StavrosAh, and you have to update as normal?15:40
jamcorrect15:41
StavrosPeng: Yes, that would be how I would normally work too...15:41
Stavrosjam: Good, so I was seeing something else... It makes sense, really, too.15:41
StavrosYou can push through ssh, right?15:41
jamStavros: bzr+ssh or sftp15:41
jamyes15:41
StavrosWhat's the difference between those two?15:41
jamone spawns bzr over an ssh connection15:42
jamthe other just uses an sftp server15:42
jambzr+ssh is a bit faster, but requires you install something on the server15:42
StavrosSo bzr+ssh is faster but needs bzr?15:42
StavrosAha.15:42
StavrosI understand there's a plugin to push/pull from Hg as well?15:42
StavrosWhy don't these two projects just merge and make my life easier :P15:43
jamthere is bzr-hg, but I think it is limited to puling atm15:43
jelmeryes, it is15:44
jamGenerally, we can represent hg metadata, but we have to shoehorn ours back into theirs15:44
StavrosOh, hmm...15:44
PengI need a shoe horn.15:44
jambzr-svn is the only one that has gone to the effort of that15:44
jamit could probably be done15:45
jambut I don't know off-hand how to insert extra metadata about a revision into hg15:46
StavrosIs there any chance the two would merge?15:46
luksjam, hg has an equivalent of bzr revision properties15:47
=== cprov-lunch is now known as cprov
jamluks: is that a newer thing?15:47
PengStavros: Well, they have entirely different codebases.15:47
luksno idea, I've only seen it in the code some time ago15:47
StavrosPeng: True, but they're very similar to what they do... It's a pity that you have to choose between programs that have 90% same functionality...15:48
Stavrossimilar *in* what..15:48
jamThere certainly are similarities, we actually had a meeting together about 1.5y ago, but at that time both groups were pretty sure that their way was the Right Way...15:50
jamhg was focused on being a fast light system15:50
jamBazaar didn't want to give up some of the abstractions15:50
jam(which makes it easy to support things like bzr-svn, bzr-hg, etC)15:50
jametc15:50
StavrosHmm, if it's a tradeoff, it'd be hard to reconcile...15:50
StavrosI work at most with a few MB of code, so I think I'll go with bzr...15:51
jamSome other small things, like whether "merge" should auto-commit15:51
jamWe generally feel it is a bad idea15:51
jamto commit without human interaction15:51
StavrosYes, I would agree.15:51
StavrosI don't even like automatic merging of the code :P15:51
jamWhether "merge" should make you resolve conflicts as they come15:51
jamOr whether you can do it after the fact15:51
StavrosHow come bzr doesn't have a few critical parts written in C or such, for speed?15:52
quicksilverbecause the language they were written in wasn't obviously the speed problem :)15:54
quicksilverit was better to fix the algorithm...15:54
StavrosAh, it's always good when you CAN fix the algorithm... Sometimes you just have to rewrite.15:54
StavrosPython's support for C modules is great, so it wouldn't be that hard anyway.15:55
luksbzr does have some parts written in pyrex and c15:56
luksbut they are optional15:56
LeoNerdBesides.. I find bzr "fast enough" for my purposes15:57
LeoNerdWhereas, I'm impressed by the speed of the bzr developers. The reason they're that fast is they can write high-level python code, not low-level C code15:57
LeoNerdI'd rather wait an extra 5 seconds for "bzr shelve" to run, than wait an extra 5 months for the developers to first write it. :)15:58
jamYeah, algorithm tweaking is a bit easier in Python15:58
StavrosI think you'd have to have a HUGE codebase to notice slowdowns in your VCS anyway, so it's not really an issue...15:58
luksI'm very often tempted to try to use hg or git, but it's hard if you are used to the comfort of bzr :)15:58
jelmermwhudson: :-)15:58
jamAnd then once we figure out what is going on if we've reached a limit and it is a critical function15:58
jamwe've written some Pyrex extensions, etc.15:58
StavrosWhat does "shelve" do?15:58
StavrosI can't find it in help"15:58
jamPretty much all in the form of "if you have it compiled, use it, else use the python implementation"15:58
jamStavros: it is from "bzrtools"15:58
StavrosOh.15:59
jamIt lets you put patches "on a shelf"15:59
radixStavros: you're really going to have to come up with a better word than "merge" to describe that, since you're going to continue to confuse people :)15:59
jamThe only reason it isn't core is because it relies on "patch" being available15:59
jamand because it doesn't handle binary files15:59
LeoNerdActually, I find shelve needs some work15:59
Stavrosradix: Where? I haven't said "merge" in ages :P15:59
LeoNerdshelve a change, then rename a file. You can't unshelve it without manual hackery within the shelf file15:59
jamStavros: well, fixing the algorithm/fixing how you store data16:00
radixStavros: I guess about a page up is "ages" :)16:00
Stavrosradix: We have moved on, sir! :p16:00
jamLeoNerd: or make a trivial change to the file so it won't apply cleanly16:00
StavrosSeriously though, what's it called?16:00
LeoNerdThat too16:00
radixStavros: "pushing" :)16:00
jamluks: you're Lukáš L, right?16:01
radixStavros: it's really just like any other upload or copy operation, it's just optimized so it doesn't transfer unnecessary revisions and doesn't allow you to do it if branches have diverged16:01
luksjam, yes16:01
jamIt is always fun to submit your patches to PQM and watch the email interfaces choke on your name :)16:02
luksheh16:02
radixhehe16:02
Stavrosradix: No, I'm talking about the actual changing of the file to put the changes from another file in it, regardless of a VCS context.16:02
jamluks: but at least we represent it properly in the commits16:02
Stavrosradix: I.e. diff/merge, it's what it's called :P16:02
radixStavros: then I still think you don't understand it16:02
radixStavros: think about "cp fileA fileB"16:02
Stavrosradix: I think we're talking about two different things.16:02
radixStavros: I think we're talking about what happens when you do "bzr push <remote-URL>"?16:03
Stavrosradix: No, we resolved that :)16:03
radixoh, whew.16:03
Stavrosradix: It was because I was pushing on the same machine.16:03
radixsorry. I have only been half-paying attention.16:03
StavrosShows! :P16:03
radixStavros: oh, pushing on the same machine is basically the same as pushing to a remote machine.16:03
StavrosNow I'm confused again, then.16:04
radixStavros: hooray! let's fix it :)16:04
StavrosHaha16:04
jamradix: if there is a local working tree16:04
jamwe update it16:04
StavrosOkay, when I pushed to the other directory, the working copy was updated with the changes, without me updating.16:04
jamThat is what Stavros was running into16:04
radixahhh. ok. the orking tree updating.16:04
radixStavros: so, yeah16:04
StavrosAh. So is that it or not? :(16:04
StavrosStop confusing me :P16:04
jamStavros: local working trees are updated by push16:04
radixStavros: ok, yes, so the working tree is updated when you push locally, HOWEVER16:05
radix11:02 < Stavros> radix: I.e. diff/merge, it's what it's called :P16:05
radixStavros: updating the working tree is still totally unrelated to stuff like diff and merge.16:05
radixStavros: we can move back to my "cp" analogy again :)16:05
jamluks: are you 'luks' on LP?16:05
Stavrosradix: I am talking about the verb "to merge", not the VCS operation "merge" :P16:05
luksjam, yes16:05
jamk16:05
jamjust marking your bug as merged16:05
radixStavros: even so. it's really just like "cp". except when you do it locally, not only are the low-level revisions copied, so are the working tree files.16:06
jamwell marking Odd_Bloke's bug as fixed by you, and merged16:06
StavrosWhen you do a push on a local disk, it doesn't do a VCS "merge", but it does merge the changes into your working copy16:06
luks:)16:06
StavrosMy connection is lagging somewhat, apparently, so what I say may appear out of context.16:06
radixStavros: s'cool.16:06
Stavrosradix: Yes, exactly.16:06
radixStavros: anyway, I guess we're on the same page16:06
radixStavros: I'll try to stop bugging you :)16:06
jamStavros: well, when I switch to work on something else while chatting *I* lag a little bit16:06
jamso I don't really notice :)16:07
Stavrosradix: It's ok :P16:07
Stavrosooo, graphs16:09
StavrosHmm, so shelve is for when you want to fix something without losing the changes in your working copy?16:10
PengIt's for when you've made multiple unrelated changes and you only want to commit some of them.16:10
radixI guess it's really for any time you want to temporarily revert parts of your working tree.16:10
PengOr when you want to put something aside.16:10
radixand yeah, committing parts of them is probably a main use case.16:10
radix(when the boundaries aren't aligned with files)16:11
jamStavros: I personally use it when I'm working on a bug fix, and I've written a possible fix and some test cases16:11
jamand I want to make sure that the test suite *fails* without the patch16:11
radixah, yes, it's a good thing to use when you (ahem) forgot to use TDD ;-)16:11
jamSo I 'bzr shelve file', bzr selftest new-test, bzr unshelve; bzr commit16:11
jamradix: I use TAYD16:12
StavrosAha... Couldn't you do sort of the same with pulling the latest commit into another branch and working on that?16:12
jam(test as you develop)16:12
jamStavros: sure, there are other ways to do it16:12
jamit is just *fast* to put aside things for a quick second, and then bring them back16:12
StavrosInteresting tool, though. I should get it.16:12
StavrosAgree.16:12
jamyou could do a partial commit16:12
jamand revert16:12
jamI've done that too16:12
StavrosDoes it work well?16:12
jamshelve or commit+revert?16:12
Stavrosshelve16:13
jamcommit+revert handles more cases properly16:13
jamshelve generally works if the stuff is simple16:13
StavrosYes, but sometimes you aren't done working on the thing so you can commit...16:13
jamStavros: well, that is why branches are cheap16:13
jamyou can also do partial commits16:13
jametc16:13
jamThough "bzr commit" doesn't let you select specific hunks like shelve does16:13
StavrosPartial commits are only done with shelve, then?16:14
jam'bzr commit file1 file2'16:14
jamwon't commit changes to file3 4 or 516:14
jamBut committing selected *hunks* are done using shelve16:14
StavrosGood, that's a useful tool then.16:14
jelmerjam: is there something that allows you to commit just hunks?16:15
jamjelmer: not that I know of16:15
StavrosThat would be a nice feature, instead of shelving the ones you DON'T want and committing...16:15
jamIt would be a bit tricky considering our commit layering which likes to think of texts as snapshots16:15
jamSo you would probably have to have a staging area to put the edited text, etc.16:15
jelmeryes, I agree16:15
StavrosAh, hmm...16:16
jamYou probably could keep the hunks in memory if you wanted16:16
jelmerjam: Since you can specify a tree to commit, shouldn't it be possible to just build a part-in-memory tree with the hunks you want?16:16
jamSince it is generally just use *these* lines or *these*16:16
jamjelmer: yeah16:16
radixjelmer: well, the thing about shelve is that it gives you a chance to run the tests after separating the changes.16:16
Peng(Hg has a record extension to commit hunks.)16:16
Peng(Like darcs record.)16:16
jamradix: thanks for pointing that out, too16:17
jelmerradix: That's a good point16:17
jamStavros: that is probably the #1 reason we went with the shelve workflow16:17
jamsince it lets you see the tree as it really is16:17
jamrather than how you *think* it would be with that patch removed16:17
Stavrosjam: Yes, that would be much more useful...16:17
Peng?16:17
StavrosDamn shortcuts...16:18
StavrosWhere does shelve store its files?16:18
jamPeng: ? who are you questioning?16:18
radix(which is the same sentiment that makes me think it's a bad idea to review a branch as a diff of its base as opposed to as how it's merged)16:18
jamStavros: .shelf/*16:18
StavrosAh, I am liking this more and more.16:18
jamradix: then again, if you are doing something like PQM, you'll never get a chance to review it how it is merged16:18
jambecause there may be 3 patches that make there way in first16:18
Pengjam: ? was at Stavros suddenly parting.16:18
PengSorry.16:19
StavrosI currently have a bugfix sitting for months because I haven't finished the feature I was working on :(16:19
jamStavros: feature branches FTW16:19
radixheh16:19
Stavrosjam: You branch your code per-feature?16:19
jamStavros: http://bzr.arbash-meinel.com/branches/bzr/16:19
jamAbout 279 branches last I counted16:19
jamper feature, per bugfix, per ....16:20
StavrosOh, isn't that like tagging in SVN?16:20
StavrosNice, I was wondering how to do that...16:20
radixno, it's like branching in SVN :)16:20
StavrosOh, so you merge them back when done...16:20
jamradix: except it remembers when you only merge part of a feature16:20
jamso that when it gets more work on it16:20
radixbut it's a workflow thing, not really determined by the VC.... and as jam points out, the VC can help16:20
jamyou can simply merge again16:20
StavrosYes, that's true.16:21
radixbut the basic idea is that ANY distinct development you want to do, you should start a branch for it16:21
StavrosI love the fact that you don't need a server, you can just use SSH.16:21
Stavrosradix: I usually don't bother, if I'm the only one working on it...16:21
jamStavros: yeah, having used Bazaar, trying to "svn/cvs init" a new project is horribly hard16:21
jamradix, Stavros: there is also a nice discussion here: http://www.venge.net/mtn-wiki/DaggyFixes16:21
jamBut I don't know many people who go to the extra effort16:22
jamDaggyFixes are very nice conceptually16:22
radixStavros: yeah, generally I don't either, at the very beginning of a project. but even if I remain solo, I generally eventually switch to branch-based development once the project gets semi-mature16:22
jamI actually tried doing branch-based devel in CVS back in the day, because it seemed like the "right thing"16:22
jamBut man was it painful16:22
jamSo I just ended up with release-level branches16:23
jam0.6, 0.7, etc16:23
Stavrosradix: I don't see why, since I'll only be working on one feature at a time usually...16:23
StavrosIs there a way to switch from SVN to bzr?16:23
radixjam: hell yeah. I remember that.16:23
StavrosEasily? :(16:23
radixStavros: yep.16:23
jamStavros: bzr-svn16:23
jam"bzr pull svn://host/trunk"16:24
radixStavros: there's a whole-repo conversion tool, as well as a thing that allows you to use an SVN repo as if it were a bzr branch.16:24
StavrosAh, great. I tried a bzr2svn script but it didn't work16:24
radixjam's describing that last thing.16:24
jamI think bzr-svn also provides16:24
jambzr svn-import16:24
radixoh, neat.16:24
jamWhich does the whole repo import16:24
* Peng deletes 100 MB of testbzr-*.log files.16:24
Peng:\16:24
radixi guess bzr-svn is winning these days.16:24
StavrosWell, I have a repo that has my projects somewhere and I want to make each SVN branch a bzr branch.16:24
StavrosSo, bzr-svn would be what I need?16:24
jamLast I knew, I thought svn2bzr was adapting the same conversion logic16:24
jamso they would be compatible16:25
Stavrosjam: It's not working, though :/16:25
jamhttps://launchpad.net/bzr-svn16:25
radixStavros: yeah, bzr-svn. not svn2bzr; that's a different thing.16:25
Stavrosradix: Great, thanks, I'll do it now.16:25
StavrosOh hmm, I need to wait for the new laptop. Damn, foiled.16:25
* radix is waiting for his new laptop as well. It's taking lenovo a *month* to get it out the door!16:26
StavrosIt's taking Apple two weeks :/16:26
StavrosBy the way, is there a way to update the working copy immediately when pushing, so I can have the production server change to the new code immediately when pushed?16:26
jamStavros: https://launchpad.net/bzr-push-and-update16:27
jamAnother plugin which does "ssh server bzr update" for you16:27
jam*if* there is a working tree there16:27
StavrosI don't suppose it can run commands too, can it? :/16:27
Stavrosapache restart, in particular16:27
jamStavros: it wouldn't be hard to add into it16:27
jambut not at the moment :)16:27
StavrosAh, there's something for me to work on, then :P16:27
jamStavros: patches welcome :) It is pretty trivial to do so, except you need to somehow do the configuration to know what commands to run, etc.16:29
jamI would probably go with reading the targets Branch.get_config() (which points at .bzr/branch/branch.conf) and having a "post_push_and_update_commands = XXX" or something to that effect16:29
Stavrosjam: True... It wouldn't be hard to have it read a shell script to perform on update...16:29
StavrosHmm...16:30
radixjam: looks like you need to update the launchpad description16:30
vilaPeng: bug #123363 ?16:30
ubotuLaunchpad bug 123363 in bzr "selftest pollutes /tmp" [Medium,Confirmed] https://launchpad.net/bugs/12336316:30
radixjam: since you made it a push post-hook and don't require "bzr push-and-update" any more16:30
StavrosMan, my sister isn't going to be pleased with all the development stuff I've loaded her laptop with...16:31
jamprobably16:31
vilajam: you know Stavros sister ???16:31
StavrosHow do you know her?!?! Damn you.16:32
radixblasted "context" stuff :)16:32
jamradix: can't I just hire someone to take care of all the doc stuff? I'm too busy hacking :)16:32
radixhehe. I'd offer my services, but I'm not sure my employer would be happy with me moonlighting for another employee. :-)16:33
jamvila: is that still happening?16:35
jam(I don't really run the whole test suite often)16:35
jamI always blamed bzrtools, just to make myself feel better16:35
jamThe ones I see right now seem partially if I do "^C" while it is running.16:36
vilajam: yes still happening, I had to reboot my test PC today so only for today with just a few full selftest : 1688 testbzr.*.log and a couple of tmp.* dirs16:37
mwwoohoo, 1.0!16:37
jamhm... I only had 88 and most of the ones I actually looked at were KeyboardInterrupt ones16:37
StavrosHow do I use bzr-svn? Do I just pull my branch?16:37
jamStavros: generally you would do some form of:16:37
jambzr init target16:37
jamcd target16:38
jambzr pull http://svn.source/branch16:38
jamI'm not sure if "bzr branch http://svn.source/branch" works16:38
lukswhich wouldn't work :)16:38
luksbranch works16:38
jamSimply because Bazaar generally preserves source formats16:38
luksor bzr init --format=rich-root16:38
jamluks: ah, because you need "bzr init --rich-root" ?16:38
jamWe need to get that the default soon16:38
lukswhy it isn't the default pack format anyway?16:39
jamwell, rich-root-pack at least16:39
mgedmincongratulations for the 1.0!16:39
jamluks: race conditions (rich root pack came out ~ the same time pack-0.92 became default)16:39
jamAlso, upgrade is slower16:39
jamknit => pack 0.92 is just shuffling some bits around16:39
jam=> rich-root requires regenerating the inventory files16:39
jamaka slow16:39
StavrosI love not having to have everything under one repo, like in SVN.16:40
mgedminyou may want to remove this sentence from the front page of http://bazaar-vcs.org/: "Following a sprint in London in May 2007 which brought together many of our core contributors, we now have a plan for 1.0."16:40
jamOh, and I think Robert pushed for packs, Aaron wrote rich-root :)16:40
fullermdThe sneaky solution is to get the inventory rewrite pushed in; then the upgrade has to rewrite 'em anyway, so you can push to rich-root behind everyone's back at the same time.16:41
jammgedmin: thanks16:41
jamdone16:41
StavrosOh, bzr-svn can't handle auth? :(16:41
jelmerStavros: It can, but can't ask for credentials16:42
jelmerStavros: it will use the credentials Subversion has cached16:42
jamjelmer: why is that?16:42
jamout of curiosity16:42
StavrosOh, I need subversion too? :P16:42
mgedminhm, the ubuntu gutsy repo still only has 1.0~rc1-3bazaar1, I'll wait before upgrading16:43
jammgedmin: yeah, I think poolie is on the packaging while lifeless is away16:43
jelmerjam: up until a few weeks ago, it was impossible to register credentials providers in the subversion client libs16:43
StavrosI'll do it on the server itself and just pull from that, then.16:43
jamjelmer: ah, so just not exposed at the library level16:43
jamthat's crummy16:43
jelmerjam: Yep. It is now, and I'm working on support for AuthenticationConfig. Hopefully that'll be in 0.4.616:44
jamhaving poked through gits codebase again, I'm reminded why writing a library first is better16:44
jamand then command code that calls into that16:44
jelmerjam: It's actually exposed at the library level, the python bindings were broken though16:44
jamThere is a whole lot of global state that you have to figure out16:44
fullermdYou don't need a library.  You just connect up commands through a shell script...16:44
jamfullermd: yeah, and then *each* git process gets to parse all of the index files again16:45
fullermdYeah, but that doesn't matter, 'cuz git is so fast each process finishes before the previous one.16:45
jamWell, in *my* testing, creating a git branch by doing "git init; git add; git commit" was *vastly* slower than doing git fast-import16:46
jamLike <1s versus 20s16:46
jamAnd git even has their fancy index to make everything faster16:47
* jam => stops talking to all the nice people and tries to actually get some work done16:48
radixjam: oh, thanks for pointing out that DaggyFixes wiki link. We do that in Landscape. But what I'm happy about is that they mentioned monotone's "disapprove", which I didn't know about. I filed bug #152008 a while ago and it looks like "disapprove" is the kind of operation I need.16:48
ubotuLaunchpad bug 152008 in bzr "Ability to unmerge or revert a merge sensibly" [Wishlist,Triaged] https://launchpad.net/bugs/15200816:48
StavrosThat's odd, there's an ubuntu "bazaar" package that isn't bzr...16:48
jamStavros: Baz-1.x16:50
jamIt was an initial attempt at a better version control16:50
jambased on Arch16:50
jamwhich ended up having fundamental issues16:50
jamSo 'bzr' was bord16:50
jamborn16:50
jamdamn, I said I was leaving :)16:50
StavrosAh, I see... I was wondering why it was at 1.4.2...16:50
StavrosYes, you did :P16:50
lukspeople always say that on irc :)16:51
Pengjam: So, you organize http://bzr.arbash-meinel.com/branches/bzr/ by bzr version?16:51
jamwell, i blame radix  he mentioned my name16:51
jamPeng: generally16:51
jamWhen you have 100 branches16:51
radixsorry :)16:51
jamsimply putting them in a branches/ dir isn't sufficient16:51
jamPeng: it is sorted by the approximate revision I expect them to land in16:51
jams/revision/release16:51
jamI could have just done it by month, or something16:52
PengAll of my branches are just simple typo fix sorta things (and one trivial bug), but I push them because thanks to my locations.conf, the URL is automatically included in bundles.16:52
StavrosAny idea why bzr-svn isn't authenticating? svn co worked fine...16:52
jelmerStavros: You can try prefixing the URL with svn+16:52
PengI'm an organization nut, so I've been worrying about how to organize it.16:52
Peng(Well, I'm not OCD in general, just with HTTP.)16:52
jamPeng: date based works fairly well for me16:52
Stavrosjelmer: unsupported protocol, svn+http :/16:52
jamPeng: but I wrote a doc on it: http://bazaar-vcs.org/SharedRepositoryLayouts16:52
jamStavros: do you have bzr-svn installed correctly?16:53
jelmerStavros: are you sure you have bzr-svn installed?16:53
jamcd ~/.bazaar/plugins16:53
jambzr checkout lp:bzr-svn svn16:53
jamIt should be in ~/.bazaar/plugins/svn16:53
Stavrosjelmer: Uh. It would have been better if I hadn't forgotten to do that :/16:53
StavrosSorry.16:53
jamunless you are installing from debs16:53
PengI decided to create a 'trivial/' directory and put all those things there, and leave the top level for long-lived branches, supposing I ever create one.16:53
StavrosSame thing still, "Not a branch"16:54
jamPeng: for the real OCD, you can always nuke them after they have been merged16:54
StavrosI'll just point it to the actual SVN dir.16:54
jamI think there is a plugin for that16:54
PengI've never left a 404.16:55
StavrosStill not a branch, that's odd...16:55
jamradix: that was the "I want to pretend I didn't merge" so that it backs out the change *and* removes it from the ancestry so a future merge will pull the whole thing in?16:55
PengI'm OCD about good organization and no name clashes, and never leaving 404s, not tidyness.16:56
PengI have thought of that though.16:56
StavrosAny idea what "Not a branch" could mean?16:58
jelmerStavros: Does "bzr plugins" list the svn plugin?16:58
StavrosYes.16:58
StavrosI'm pointing it to a directory in the trunk.16:59
PengThe other thing is that Apache directory listings don't give the status of the branch (experimental, merged, whatever) like Launchpad does.17:00
radixjam: yes. I added a comment to the bug.17:00
jamI replied17:01
jamI think disapprove(A) is just merge(A..A') commit17:01
jamBut not having used it extensively...17:01
jam(or at all :)17:01
StavrosApparently bzr-svn can only be pointed at trunk/? Can't I make a bzr repo out of a SVN subdirectory?17:05
jamStavros: bzr help branch-layouts17:05
jamor something like that17:05
jamYou have to do some work if you want projects underneath the main trunk17:05
jambzr-svn makes sure that if 2 people checkout the same source, they can interoperate17:06
jamso they have to agree on how the projects are laid out17:06
StavrosOh... I only need it for one-time migration, though...17:07
StavrosThe only commands svn has are svn-import and svn-upgrade.17:08
jamStavros: it is a help topic17:08
jamtry "bzr help topics"17:08
StavrosNothing there either :/17:09
Stavrosformats?17:09
StavrosNope.17:09
jambzr help svn-branching-scheme17:10
jamIs supposed to be the help topic17:11
jamaccording to luks17:11
jamfrom yesterday17:11
StavrosNothing there :/17:11
luksnot really a help topic, but you can set your own branching scheme there17:11
luksbut you can also with the command line options in svn-import17:12
jamStavros: http://rafb.net/p/nCHdmV87.html17:12
lukss/also/also play/17:12
jamBut what version bzr-svn do you have installed?17:12
Stavrosjam: The one from the ubuntu repos.17:12
StavrosProbably oldish?17:13
jamStavros: do you know the number?17:13
jamyou need >0.4 to get branching schemes17:13
jam0.3 didn't support it17:13
StavrosLet me check.17:13
Stavros0.3.2, aha.17:14
jamjelmer: do you support "trunk/project/*" out-of-the-box17:14
jamOr does that require "ListBranchingScheme" ?17:14
jamStavros: peeking at the code it looks like the dev code supports it out-of-the-box17:15
Stavrosjam: It says it can't find plugin "svn" now...17:16
StavrosUnable to load, to be exact17:16
jamStavros: cannot find, or cannot load?17:16
jamvi ~/.bzr.log17:16
jamwill give more info about why it is failing17:16
jamProbably needs a newer bzr... :(17:16
StavrosNo log there, let me get the newest bzr.17:16
jelmerre17:17
Stavrosgrr, repository incompativle17:18
jelmerStavros: What sort of command are you running?17:19
Stavrospull17:19
jelmeryou'll have to upgrade the branch you're pulling into17:19
StavrosHang on, I saw this somewhere on the bzr-svn FAQ.17:19
jelmerbzr upgrade --rich-root17:19
StavrosAh, thanks.17:20
jelmeror if you simply want to make a clone of the branch that exists in svn, use "bzr branch <svn-url> <local-dir>"17:20
StavrosIsn't it odd that it takes minutes to convert an empty repo?17:21
mkanatCongrats on 1.0, everybody. :-)17:21
StavrosOr maybe it's checking out as well.17:21
jelmerStavros: during "bzr upgrade" you mean?17:21
Stavrosjelmer: Yes.17:21
StavrosYay, the pull seems to have worked.17:22
jelmerjam: The sooner we can get rid of branching schemes, the better..17:24
jamjelmer: except I think SVN's model is broken, so trying to enforce some sort of logic on it...17:24
jelmerjam: Branching schemes will still be required in any case but it should be possible to hide them from the user much more.17:26
StavrosHow can I check which revision I'm at?17:29
jambzr log -r -1 ?17:29
jamOr just bzr revno17:29
StavrosAh, thanks.17:29
jambut revno is branch specific17:30
StavrosThe command line is a bit tedious for viewing changes, I must admit...17:30
jam2 branches can have the same simple revision number (aka revision 10)17:30
StavrosOh, hmm.17:30
jamStavros: you might try installing bzr-gtk17:30
StavrosWindows atm :/17:30
jamand then you have "bzr viz"17:30
jamStavros: still works ther17:31
jambut I guess the gtk dependencies are a bit harder to get17:31
StavrosAha, great, I'll do that then.17:31
StavrosHmm, true...17:31
jamThere is also a TortoiseBzr that is part of bzr-gtk17:31
Davieyjam: embarrassingly i found the problem...  The word that was causing a problem got filtered via procmail on the incomming email :(  silly me17:31
jambut I don't think it is nearly as polished as TortoiseSVN17:31
jamDaviey: so it was generating them, but you weren't getting them ... weird17:31
StavrosWell, TortoiseSVN has had years of development...17:31
Davieyjam: yeah, my fault entirely :(17:32
jamStavros: well, at the moment, I think it still needs a caching server17:32
luksStavros, if you want something quickly installed - http://bazaar-vcs.org/QBzr17:32
jamso that it doesn't slow down all of for basic Exploring17:32
Stavrosjam: That's true, that does take ages sometimes.17:33
Stavrosluks: Oh, nice, thanks.17:33
jam"all of your"17:33
jamluks: so do you bundle the QT libs?17:33
luksyes17:33
jamsomeone needs to get "apt" working on Windows :)17:34
luksthat would be impossible17:34
StavrosWell, you'd have to make a different tool for windows...17:34
luksprograms on windows usually depends on specific versions of libraries17:34
jamyeah, it just seems silly to have 10 versions of similar DLLs17:35
jamconsidering that was the *point* of DLLs17:35
lukseven MS decided that all apps build with MSVC should ship their own stdc library17:35
Stavrosluks: That is a nice utility.17:35
StavrosWow, I can even see the changes by clicking, awesome.17:36
luksheh17:36
StavrosBy the way, I am reading the daggyfixes thing, how do you do that? Branch from the change that introduced the bug, fix it and push it back to the repo?17:37
jamStavros: something like that17:37
jam"bzr branch -r XX fix_bug_foo17:38
StavrosDoes it merge all the new changes correctly?17:38
jamStavros: the "push" won't but doing17:38
jamcd trunk17:38
jambzr merge ../bugfix17:38
jamwill do just fine17:38
jam'bzr push' won't let you17:38
jambecause they are diverged branches17:38
jamStavros:  you might look at: http://doc.bazaar-vcs.org/bzr.dev/en/tutorials/centralized_workflow.html17:39
StavrosHmm, I find it a bit odd that it can correctly merge two very different files... How do you know it won't merge the changes from the old file back?17:39
jamIt might be a decent migration path coming from SVN17:39
StavrosI've sort of read that, it's my personal repo so it's not that huge a deal.17:40
jamStavros: generally we know what set of changes are present, and use a 3-way merge logic17:40
StavrosJust trying to learn stuff atm.17:40
StavrosAha.17:40
StavrosHmm, I was wondering why this room had gone silent...18:05
jamI was wondering what you "aha" moment was :)18:15
PengStavros: You didn't miss anything. Just some joins and parts.18:15
StavrosAh, good then.18:16
StavrosWireless isn't that reliable, apparently.18:16
mrZebyhello all... i have installed qbzr but when i launch it a have the message "unable to load plugin qbzr..." when i start bzr... somebady can help me, please ?18:19
StavrosmrZeby: Which OS?18:20
mrZebyvista :-).. sorry18:20
StavrosThat's odd, I just installed it and it worked fine... Which installer did you use?18:20
mrZebybut i had the same problem last time i try to use on xp18:21
mrZebyi use python based installer18:21
StavrosTry the other one, with everything included.18:21
mrZebyi had allready installed python for other program18:21
mrZebypython 2.518:21
StavrosDoesn't matter, it should work anyway.18:22
StavrosIt doesn't actually have python in it.18:22
mrZebyi had install bzr with python installer too18:22
mrZebyok i try the windows installer18:23
mrZebybut perhaps i can install other thinks.. like pyqt ... ?18:23
StavrosmrZeby: No, the installer has everything.18:24
jamYou can check C:\Documents and Settings\<username>\.bzr.log18:24
jamwhich should tell you why qbzr isn't loading18:24
jamwhich could be something like pyqt not being installed18:24
jamThe standalone installer should package everything18:24
mrZebyok i take a look18:24
jambut you may want to re-use your python install18:24
jammrZeby: You can also check "bzr --version"18:25
jamIt should have a line for:18:25
jamBazaar log file: /Users/jameinel/.bzr.log18:25
zero-9376is it possible to modify the email address for a previous revision? for some reason the email reverted to username@host rather than using the config file in my home directory18:29
mrZebyok i found bzr.log...18:30
mrZebyok ok "ImportError: No module named PyQt418:31
StavrosmrZeby: Yeah, just use the bundle.18:31
mrZebythe complete bundle would re install other python directory ?18:32
StavrosNo, it doesn't install stuff anywhere else.18:32
mrZebydo you think i must reinstall bzr with windows installer to ?18:34
mrZebytoo18:34
zero-9376is there any way to do this?18:36
jamzero-9376: I do it like that. :)18:37
zero-9376sorry i don't understand18:38
jamYou said "this" without saying what you wanted18:39
jamSo I said "that" without telling you how to do it18:39
zero-9376(04:29:10) zero-9376: is it possible to modify the email address for a previous revision? for some reason the email reverted to username@host rather than using the config file in my home directory18:39
jamzero-9376: for the previous commit, you can "bzr uncommit; bzr commit" again18:39
jamOtherwise, no18:39
StavrosYou can uncommit stuff?18:39
jamStavros: yes18:40
StavrosWow, what does it do? Make it as if you never committed?18:40
jamBranches are just pointers into a revision graph18:40
jamso you are free to move them around if you need to18:40
jamStavros: it leaves the commit available in the repository18:40
jambut the branch itself doesn't reference it anymore18:40
StavrosAh18:40
jamAnd when someone branches from you, they won't get that revision, etc.18:41
StavrosI must research more.18:41
StavrosBut first, Futurama!18:41
woeiand when someone branches from you before you uncommitted and then tries to push/merge with you ?18:41
StavrosLater all, thanks for the help!18:41
jamwoei: If you have a new commit, it will tell them the branches have diverged18:41
jamwoei: if you just did uncommit18:41
jamit won't do anything18:41
jambecause the source is an ancestor of the target18:42
jamthey can "pull --overwrite" to switch to your new commit18:42
woeiI see18:42
jamor they can "bzr merge" if they really wanted that comimt18:42
jamcommit18:42
jam(pull --overwrite should also change your local branch to move backwards)18:43
woeihmm, but what if someone branched from you, you uncommitted the version they branched from, you work some on your branch, the other person(s) work some on their branch. It's just merging as usual ?18:43
woeiseems logical, if you take the 'branch is just a pointer in an entire revision graph' angle18:44
jamwoei: right18:44
jamuncommit doesn't record that there was a change18:44
jamif you want to reject a patch you need to do18:44
jambzr revert -r -2; bzr commit -m "revert that last change, what was I thinking"18:44
jamOr if it is further back you can do18:45
jambzr merge -r 10..9; bzr commit -m "revert the changes introduced in revision 10, WWIT?"18:45
woeiexcellent18:45
woeithanks for the pointers18:46
jamalways happy to help18:46
boshey, guys.  there's been a bit of discussion on reddit about the bzr wiki pages regarding git and hg.  have you seen it?18:46
jambos: not specifically, any links?18:47
boshttp://programming.reddit.com/info/62z0v/comments/18:48
bosi read the wiki pages.  they're very disappointing.18:48
bosthey have such an overt and obvious bias to them that it's hard to take anything they say seriously.18:49
boswhich seems to be the consensus on reddit, too.18:49
mrZebythanks a lot for your help mr Stavros :-)18:50
bosobviously, you should be advocating for bzr based on its strengths, but it doesn't do any favours to provide biased and distorted comments about the competition.18:50
bosthat is to say, it doesn't do bzr any favours.18:51
jambos: it is also a bit hard to be perfectly balanced when writing from one side. but I would certainly be interested in reading a logical counterpart to it18:52
jamI saw a bit of wiki stuff on selenic, but that seemed full of a lot of anger more than simple reasoning18:52
mrZebya question more can i ? the windows installer wuold install qbzr on directory C:\Users\mrZeby\AppData\Roaming\bazaar\2.0\plugins\qbzr18:53
jamIt certainly wasn't the point to strictly bash on other systems18:53
bosjam: i don't know about the selenic stuff, i'm afraid.  haven't read it.18:53
mrZebycan i install it on c:\program files\Qbzr ?18:53
jamWe were hoping for mostly a comparison of where the projects have chosen different paths18:53
jamBut it can take a bit of balancing and editing to get there18:54
jamI also haven't spent much time doing more than skimming them18:54
bosyeah.18:56
bosjust wanted to bring it to your attention.18:56
jambos: care to flesh out some of the Hg points? (Preferably in an email)18:56
jamI seem to recall you were pretty good with writing :)18:56
bosjam: honestly, i probably don't have time.  i'm, shall we say, a bit overcommitted.18:57
jambos: np18:57
jamWe all get that way18:57
bosnice talking, as always. cheers!18:58
jamI just think of you as a well spoken person who has good opinions18:58
jamRather than just a random fanatic18:58
jamlater18:58
bos:-)18:58
mrZebyhow to launch qbzr ?19:00
mrZebyi have installed bzr and qbzr but i don't how to launch qbzr19:01
jammrZeby: generally you do something like:19:02
jambzr qannotate FILENAME19:02
jambzr glog19:02
jamsorry19:02
jambzr qlog19:02
jametc19:02
jamI don't know if there is an app you can just run19:02
jamluks: ^^ ?19:02
mrZebyjam : before i have install bzr and qbzr and when i launch bzr it automaticly try to launch qbzr but said that qbzr can be launch because of missing pyqt419:04
mrZebyjam i have install python installer19:05
jammrZeby: The best I can say is that you need to have the new bzr in your path19:05
jamBut *I* have never used it.19:05
jamso I can't help much more than giving general pointers19:05
mrZebyjam after ( now ) i use windows installer and... nothing about qbzr wjen launching bzr19:05
radixmrZeby: ok, then does "bzr qlog" do something interesting?19:06
mrZebyjam bzr error unknow command19:07
jammrZeby: Are you using the "Windows python installer" or the "Windows standalone installer" ?19:08
jamAnd if you are using "Windows standalone installer"19:08
jamdid you install Bazaar from the "Windows standalone installer"19:08
mrZebyfirst i have use python installer but know i have used windows installer19:08
mrZebyi will retry with python installer and installing pyqt4 manually19:09
jamYou probably want to use: https://edge.launchpad.net/bzr/1.0/1.0/+download/bzr-setup-1.0.0.exe19:09
jamcoupled with https://launchpad.net/qbzr/trunk/0.8.0/+download/qbzr-setup-0.8.0.exe19:09
radixs/edge.//19:09
mrZebyi did it like this now...19:10
mrZebyi continu trying the install...19:11
mrZebyradiix thanks for your help... see you later perhaps :-)19:12
mrZebyjam thanks for your help... see you later perhaps :-)19:12
jamk19:12
jamlater19:12
mrZebyradix thanks for your help... see you later perhaps :-)19:12
radix:-)19:13
=== mw is now known as mw|food
=== cprov is now known as cprov-away
Solarionhow do I create an svn archive from bzr?20:59
Solarion(upstream uses svn; I use bzr)21:00
radixSolarion: I don't know if that's possible. why do you want to do it? does upstream just want to be able to merge your changes?21:00
Solarionradix: upstream (Professor ;) wants me to create new archive with this code21:01
Solarioneh, I can just do it with svn and push up the stuff21:01
radixSolarion: so, bzr-svn supports committing back to SVN21:01
Solarionradix: is what I've been using to stay sane.  ;)21:01
Solarionbut we're breaking new ground, and he wanted me to make a new repo21:02
radixah. I see. yeah, I don't know if there's a way to create an SVN repository straight up out of a bzr-svn branch...21:02
radixmaybe you can push it to an empty SVN repository?21:02
luksyou should be able to push to an empty svn reporitory21:02
radixcool :)21:02
SolarionI'm being told I need to merge then push21:03
Solarion"these brnaches have diverged"21:03
lukshm, I think I remember some bzr-svn announce mail where jelmer said he created a svn repo for bzr.dev21:04
lukshttp://article.gmane.org/gmane.comp.version-control.bazaar-ng.general/2901321:06
* Solarion scratches his head.. how do you merge with no common ancestor, again?21:08
Solarionbzr merge -r 1.. <src>21:08
Solarionor not.  It didn't do anything.  :(21:09
Solarionbzr merge -r ..2 <src>21:11
Solarionthanks21:12
Solarionbzr-svn keeps me sane.  :)21:13
jelmerSolarion: hi21:21
jelmerSolarion: did you manage to push into svn?21:21
Solarionjelmer: yes, after a while21:24
SolarionI had to use svnadmin to create the branch, tho.21:24
jelmeryou should also be able to use "bzr init-repo --format=subversion"21:24
Solarionjelmer: wouldn't that make a local svn repo?21:25
jelmeryes, it would21:25
SolarionI'm wanting a local bzr, remote svn repo.  :)21:25
jelmercreating a branch in a remote svn repo should be possible using svn-push21:25
Solarionaah21:25
Solarionthen you branch it with bzr?21:26
jelmeryou can push an existing bazaar branch into subversion that way21:26
jelmere.g.:21:26
jelmerbzr branch http://bazaar-vcs.org/bzr/bzr.dev bzr.dev21:26
jelmerbzr init-repo --format=subversion svn.bzr21:27
jelmercd bzr.dev && bzr svn-push ../svn.bzr/trunk21:27
jelmeror even "bzr svn-push svn+ssh://example.com/existing-svn/repo/trunk"21:27
jelmer(where the trunk didn't exist yet)21:27
Solarionmaybe something's outta whack, 'cause I get connection refused.21:29
Solarionah well, it works now.  that's all that matters at the moment.21:30
statikhi, I'm trying to set up bzr on a remote web host, where I can only install in my home directory21:35
statikI am able to run bzr just fine when I am logged into the machine, but trying to push to a bzr+ssh path on that system gives me an error about not being able to find the bzrlib21:35
statikI'm sure that there is some trick that causes pythonpath to not be set when I am executing a command remotely over ssh21:36
statikanyone with better knowledge of ssh have a suggestion?21:36
datowell, it's not a matter of python path, because the directory of the executable will be search for bzrlib21:37
datoso probably is the executable itself that is not being found21:37
datothere's an env variable for that, iirc21:37
statikyes, I've tried setting bzr_remote_path21:37
statikbut I think the executable is being found21:37
datouhm21:37
statik'ssh webserver "which bzr"' shows me the bzr command is found21:38
datooh21:39
statikssh webserver python -c "import bzrlib" shows me the same error I get from running ssh webserver bzr --version21:39
datoso in your instalation, is the executable and the bzrlib in different directories?21:39
statikabout no module named bzrlib21:39
statikyes, I did python setup.py install --home ~21:40
jelmerstatik: what about python -c "import sys; print sys.path" ?21:40
datostatik:  I'd recommend you move back the executable to the same directory as bzrlib, and make a symlink from that location to ~/bin or so21:40
* dato always run from source in $remotehostswithoutroot21:41
statikbasically the problem is that my .profile is executed and sets $PYTHONPATH correctly when I am logged in interactively21:41
statikbut it is not set when I invoke a remote command over ssh21:41
statikdato: running with BZR_REMOTE_PATH set to the location of bzr in the extracted source tree rather than the installed location worked great! thanks21:44
statikthis is great, I prefer not to have to run setup.py anyway21:44
datoyou're welcome21:44
statikis there a way for me to tell bzr to update the working tree on the remote server when I push? I'd like to use this to rollout updates to a web server, so I want the working tree updated when I push21:46
statikI thought bzr+ssh would allow that, while sftp would not21:46
datoinstall http://launchpad.net/bzr-push-and-update21:46
datovoilà21:46
datooh, but create a tree in the remote host first, with `bzr checkout .`21:47
statikah, great. thanks again!21:47
jamdato: getting all the credit :)21:47
jamis it voilà or voilá ?21:48
statikjam: btw, CONGRATULATIONS! on 1.021:48
jamstatik: thanks21:48
glyphjam: hey, about push-and-update; I haven't had the opportunity to try it yet, but will it work on Windows?21:48
jamglyph: as long as you have 'ssh' available21:48
glyphjam: I don't :( I have plink21:49
glyphjam: is there an easy way to make it consider the BZR_SSH variable?21:49
statikheh, I wondered why I had not heard of this plugin before. jam you've been busy21:50
datojam, voilà (http://fr.wiktionary.org/wiki/voilà)21:52
datojam: I'm giving you this tiny french lesson in exchange for the credit :-PP21:53
datoheh21:54
datoTop contributors21:54
dato bwinton    15 points21:54
dato   Andrew Cowie    11 points21:54
jamglyph: we probably could have it hook into the internal SSH code that bazaar hash21:55
jamhas21:55
jamwhich  will either spawn ssh, plink, or use paramiko21:55
jamglyph: it would be something like: vendor = bzrlib.transport.ssh._get_vendor()21:57
jamconnection = vendor.connect_ssh(..., command=[bzr_remote_path, 'update', path)21:57
jamshouldn't be too hard to do21:57
glyphjam: #176443 :)21:57
jamubotu: bug #17644321:57
ubotuLaunchpad bug 176443 in bzr-push-and-update "push and update does not work if the user does not have ssh, for example on Windows, where they might have plink" [Undecided,New] https://launchpad.net/bugs/17644321:57
glyphjam: maybe that should have a dependency on a bzr bug though, to make that code not be internal / private21:58
jamI don't care for this code :)21:59
jamIt is unlikely to change21:59
jamand if it does21:59
jamit should be simple to fix21:59
glyphjam: OK21:59
glyphjam: Parsing question though; "(I don't care) (for this code)" or "(I don't care for) (this code)"22:00
jamglyph: first22:00
glyphOK, works for me22:00
statikjam: I think bzr-push-and-update should respect the bzr_remote_path config settings. would you agree?22:01
jamstatik: yeah, that would be part of it, too22:02
jamalso, you can set the remote path as part of a config entry22:03
jamjust in case it is different in different places22:03
jamsomething like "bzr_remote_path=XXX" in ~/.bazaar/locations.conf22:03
statikjam: yes, that is what I am doing. I think update_remote_branch() just needs to call config.get_bzr_remote_path()22:04
ubotuNew bug: #176443 in bzr-push-and-update "push and update does not work if the user does not have ssh, for example on Windows, where they might have plink" [High,Triaged] https://launchpad.net/bugs/17644322:05
jamstatik: by the way, patches are welcome :)22:07
statikjam: just testing it now22:07
statikjam: I think I need to have the local branch location inside update_remote_branch() in order to query the LocationConfig. does that seem reasonable to you?22:15
jamstatik: what is wrong with just doing:22:17
jamconfig = target_branch.get_config()22:17
statikjam: I like that better, let me try it22:17
jamremote_bzr = config.get_bzr_remote_path()22:17
jamor whatever the actual function is22:18
jamtechnically, I think it means you can set it in22:18
jamssh://host/branch/.bzr/branch/branch.conf22:18
jamwhich is a little funny22:18
jambut it certainly makes the code simpler :)22:18
jamstatik: otherwise, you can just use "target_branch.base"22:19
jamWhich is the URL to that branch22:19
statikjam: doesn't seem to work. target_branch.base is the path to the remote branch, while I have set bzr_remote_path in locations.conf for my local branch22:20
jamstatik: well, you can set bzr_remote_path for the remote branch :)22:21
jambut sure22:21
statikhmm22:22
statikthat might make more sense22:22
statikI was thinking about it a bit backwards22:22
statikI'm used to locations.conf referring to local locations22:22
statikbut I might want to set a different remote path for different machines, which is the whole point of having it in locations.conf22:22
jamstatik: it is set based on the remote URL22:23
jamRemoteSSHTransport22:23
jamlocation_config = LocationConfig(self.base)22:23
jamso you have to set it based on the bzr+ssh://  url22:23
jamstatik: you should be able to do22:24
jam[bzr+ssh://host]22:24
jambzr_remote_path=foo22:24
jamI'm pretty sure that will catch any branches on that host22:24
statikbeautiful22:24
statikI'll try that now22:24
statikjam: it works! do you want this 3-line patch to go to email or the pastebin?22:29
jamstatik: commit it and send me a bundle :)22:29
statikjam: ok22:29
statikjam: dumb question, I should use the bzr send command, right? I'm getting an email with a sane subject line but don't see any bundle attached.22:35
PengFWIW, I use 'bzr send -o foo.patch' to save the bundle to a file and write my own email.22:36
PengI just do that because I haven't wanted to figure out how to configure send, and I like having a copy of the bundle, though. :P22:36
jamstatik: 'bzr send' doesn't work with a single branch22:36
jamyou have to give an upstream22:36
jamso you need22:36
jambzr send lp:bzr-push-and-update22:37
jamnot22:37
statikit found the upstream, I think I hit this bug https://lists.ubuntu.com/archives/bazaar/2007q3/032053.html22:37
jambzr send .22:37
jamhmm... could be22:37
jamI always use the "editor" client22:37
jamsince thunderbird on Mac doesn't work properly22:37
jamAaron has a workaround for some platforms22:37
jambut apparently invoking the command line does different things22:37
jamalso, it depends on the thunderbird version22:38
jamah, but if xdg-email is spawning thunderbird22:38
jamthen it may not know about the workaraund22:38
jamworkaround22:38
statikhey, setting mail_client in bazaar.conf fixed it all up22:38
jamk22:38
jamstatik: you don't need the extra import at the top :)22:40
jambut otherwise it looks good22:40
statikoops22:40
jamthe only downside is it won't support BZR_REMOTE_PATH22:41
jamapparently .get_bzr_remote_bzr_path() doesn't take that into account22:42
statikoh, I thought when I read the patch from aaron that get_bzr_remote_path() does look at the environment22:42
jamwait, it does22:42
jammy grep was confused :)22:42
jamso, patch merged and committed22:43
statikand I've now pulled your merge into my local tree. wow this stuff all works great together22:44
statikon that note, I'm going to spend sometime in the world outside. thanks for all the help, bzr rocks!22:45
jamstatik: have a good weekend22:47

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