/srv/irclogs.ubuntu.com/2007/10/26/#bzr.txt

me_tooHow do you ignore a file or directory?00:11
me_toobzr ignore 'mask' isn't making anything get ignored..00:12
me_tooNEVERMIND00:19
me_tooIT WILL ONLY IGNORE THINGS WHICH ARE NOT VERSION CONTROLLED ALREADY..00:19
me_tooWOW, I WISH THAT WAS IN THE DOCS ( ! )00:19
Odd_Blokeme_too: What version are you using?00:40
Odd_BlokeMore recent versions give you a list of versioned files that an ignore rule would otherwise ignore.00:40
=== mw is now known as mw|out
=== kiko-fud is now known as kiko-zzz
spivigc: could you review the reconcile fix for bug 155730?01:49
ubotuLaunchpad bug 155730 in bzr "reconcile doesn't adjust knit index references to otherwise-unreferenced file revisions" [Critical,Fix committed] https://launchpad.net/bugs/15573001:49
igcI can try :-)01:50
igcspiv: ^^^01:50
spivigc: poolie said he might not get it done today, and it's blocking the rc...01:50
spivigc: excellent :)01:50
igcnp01:50
igcdon't know much about how it works but there's no better time to learn01:50
spivigc: it's a pretty tricky area of the code, so feel free to ask lots of questions, or even give me a call.01:51
igcthanks01:51
spivI tried to remedy some of the horrible lack of docstrings a little, but it's probably going to have a few head-scratching moments still...01:51
me_tooodd_choke: Whatever the latest buntu version is02:13
Verterokmoin03:07
Verterokbeuno: ping03:08
* igc food03:18
keirany ReST experts here?03:54
keiri'm writing up some docs in ReST, and i'm not sure how to link between them03:54
igckeir: I'm not an expert but might be able to help ...03:56
keirall i want to do is make a link that is valid after converting to html03:57
igcI usually just reference the other as an external link ...03:57
keirshould i just use http syntax?03:57
igcasmmunig it's been converted to html03:57
keiri want to eventually use latex..03:57
keiralso, why is ###### used in index.txt for the user guide? instead of ---- or ====?03:58
igctry something like ./other.html03:58
igcbecause the topics uses === and --- for their top 2 levels of heading so ...03:58
igcthe user guide needs to pick something else03:58
igcthe expectation is that the User Guide will include the others soon ...03:59
keirok03:59
keiri hadn't seen the ### mentioned in the ReST docs03:59
igci.e. using .. include:: instead of just referencing external topics03:59
keirwhat is .. later include:: xxxxx.txt?04:00
igcThere are a heap of chars you can use ...04:00
keiron an aside: i really like ReST.04:00
igcalmost any from memory04:00
keirhow does it determine what the ordering is? by nesting?04:00
igcyes04:00
keirso you can start with ---- then ==== then #### if you want?04:00
igc.. starts a comment04:01
igcwhen a space comes right after the ..04:01
keiri thought .. was a directive?04:01
keir.. _Gmail: http://www.gmail.com04:01
igcyep - the 'empty' directive is a comment :-)04:01
keirwhat is  .. later include::?04:02
igcit's ..include with ' later ' added to turn it into a comment04:03
keiraah04:03
igcthe intention is to remove the ' later ' bit once the text is ready04:03
keiri'm confused then; because .. _Blah: my_link_here is not a cmoment04:03
keir*comment04:03
keiryet has a space after the ..04:03
igchmm04:04
igcnot sure - as I said, no expert04:04
keirok04:04
keirthanks for the help04:04
igcnp04:04
nDuffhas smart-server support for packs been addressed yet?04:32
igcnDuff: spiv can probably give you the best answer on that04:34
nDuffhrm. is there a simple way to get "bzr info" output in a form intended for parsability?04:49
* nDuff actually rather likes the --xml arguments to several of svn's commands -- easy to pipe output into xmlstarlet to run xpath queries or such.04:50
abentleynDuff: I don't think there is.  Getting it human readable was a lot of work as it was!04:51
nDuffabentley: heh, granted. that said -- bzrlib is great when I'm writing Python, but not so useful when trying to do integration with shell; parsing human-targeted output with sed (and hoping it doesn't change between versions) isn't my idea of fun.04:52
* nDuff supposes he can write some python glue04:52
abentleyI agree it would be nice.  It's just not properly factored yet.04:53
abentleyThere's a bunch of code that's too tightly tied to console output.04:53
nDuffooo, heh.04:54
* nDuff finds https://launchpad.net/bzr-xmloutput04:54
* AfC waves to all the strange people who bring him such a wonderful version control tool04:56
abentleyAfC: Say, is Richard Dice a colleague of yours?04:57
AfCabentley: indeed he is04:57
abentleyI know him through musician friends.  Say Hi from me.04:58
AfCabentley: We go way back. He's one of my best friends, and is also one of my business partners http://www.operationaldynamics.com/about/staff/04:59
abentleyVery cool.05:00
abentleyI know he's been through some rough times lately.  I hope things get better.05:01
AfCabentley: Turns out we did Shad Valley the same year (though not the same campus) and actually met in 1993 but started working together in late 199605:01
abentleySo you don't know Sarah Ternoway, do you?05:01
AfCabentley: he's the one who introduced me to Linux. I'm the one who explained to him that the blinking cursor after the $ sign on the screen was a Unix shell05:01
AfCSure I know Sarah05:01
abentleyI'm in a band with her.05:01
AfC[been a long time, mind]05:01
AfCAwesome05:01
abentleyYeah, small world.05:02
AfCRichard is right up there as one of the smarter people I know, period. Open Source wise he's very engaged in the Perl world. He and I don't really intersect there but he _is_ the one that got me onto Perl 5 in the first place.05:05
AfC(of course, I always have to point out to him that I remember the day when Perl 1 came across comp.source.unix, and along with everyone else on the planet I went "what the hell is this")05:05
abentleyYes, I heard about his involvement.05:06
abentleyIt was a funny conversation -- I don't usually have people asking for more and more technical details of my job.05:06
AfC[incidentally, that might be an angle if we want to try and win a major community over to Bazaar usage]05:06
AfCHe's also a champion scotch drinker.05:06
AfCDidn't see him when I was up in Toronto couple weeks back but he and Vera were at my wedding there in June.05:07
abentleyWe talked VCSes.  He was on real Eclipse kick-- any VCS had to work with Eclipse as well as svn does.05:08
AfCabentley: I've run into that in my work. It's a genuine source of pushback05:08
AfCand frankly, a legitimate point [So much so that it took me from looking good to looking suspect for having suggested bzr in the first place]05:09
abentleyOh, I agree about Eclipse integration being worthwile.05:09
AfCbecause the CVS integration into Eclipse is *so good* that, in essence, you are not using CVS. You are using something which is damn close to a distributed (or at least disconnectable) VCS05:09
abentleyThe lack is mainly because Bazaar hackers tend to be happy with text editors.05:10
AfC*you and I* know about multiple branches and merging and cross platform cross architecture and command line usability and all that other tough stuff05:10
AfCbut for anyone in a average [and nothing wrong with being average] corporate or workplace environment with perfectly competent {Java, whatever} programmer05:11
abentleyI know work is progressing on Eclipse integration, but I'm sure it would be faster if we were all using Eclipse.05:11
AfCs the advantages of Bazaar (or the other two 3rd generation DRCS) are not as readily apparent05:12
AfCabentley: yeah05:12
AfCabentley: and since most of you are Python ninjas and terminal based text editor guys, that's not likely any time soon05:12
abentleyI feel that it's important for people to scratch their own itches.  If you try to scratch someone else's itch on a volunteer basis, you'll do it wrong or get bored before it's complete.05:14
AfC[more to the point, its mere existence (with due credit to those working hard on it) is insufficient - if it doesn't have the blazing usability and downright SMARTS that Bazaar (cmd line) itself has, then it's not advantageous to even show anyone or claim "it's being worked on"]05:14
AfCabentley: yes indeed05:14
AfCabentley: I wouldn't dream of arguing against that05:14
AfC[although, I might note that there is a middle ground of 3rd party ... climate:05:14
abentleyI just wish we had a better answer to that.05:14
AfCif people are at least supportive, then things tend to work out05:15
AfCbut when people pooh pooh something (rightly or wrongly) that tends to be more than enough to suppress any possible enthusiasm]05:15
AfCI suppose I am more aware of this than most, being the Java guy in the GNOME world05:15
abentleyYeah, I can see that would be an unpopular choice.05:16
AfCI must admit that over the last 4 years patient work on my part to at least be a good GNOME citizen combined with Sun finally having started the ball rolling towards freeing their Java implementation plus05:16
AfCthe retarded amount of work I am putting into developing a new java-gnome has added up to the "at least grudging tolerance" level of support rather than constant derision, for example05:17
AfCwhich makes a big difference05:17
AfCOne final interesting angle, though, is that my project is kinda in this netherworld -05:17
abentleyMind you I have no idea why people are doing Mono instead of Java.05:18
abentleyIf you want a Java-like language, why on earth would you want the one from Microsoft?05:18
AfCInheriting from the almost 10 years of history in the project there is certainly an established ... way approaching API ... that is uniquely java-gnome and not 100% faithful to GTK;05:18
patternhow can i change the log message for a given revision?05:19
AfCbut on the other hand, most of the "traditional" ways of doing things in Java are _utter crap_05:19
AfCso it's not 100% Javaish either05:19
keirAfC, i'm sure eclipse integration will come. bzr doesn't have the 7 years of maturing that svn does... given the same amount of time bzr will be compelling too :)05:19
keirpattern, if it's the last rev you can uncommit05:19
abentleyHi keir.05:19
keirabentley, hey05:19
patternkeir, uncommit won't touch the file in my WorkingTree, though, right?05:20
keirabentley, i'm still interested in 'relaxing' with some css or inkscaping, but i gotta get cart working first :) did you try with 0.4.0?05:20
abentleyNo, I thought I'd make it a dependency on 0.3.11 instead.05:20
keirabentley, ok, great.05:20
AfCkeir: perhaps, but reality is that this project is in fierce competition with many others, and is trailing in the adoption curve. If Bazaars developers want more people to use it (and indeed to win vs others) then perhaps rather faster progress on Eclipse integration (among many things) will be necessary.05:21
keirAfC, yes, i have noticed that.05:21
AfCkeir: as Aaron points out, this is a tricky problem05:21
abentleypattern: Correct.  It will leave you ready to repeat the commit.05:21
keirAfC, i don't really understand why either. at least, compared to hg, we are easier to use (though slower on some counts). compared to git, we are certainly easier to use.05:21
patterngreat05:22
AfCabentley: Re vs dot Net ... indeed. That's probably why I'm getting grudging support as opposed to derision. The whole mono thing is insane, and most people quietly get that.05:22
patternnow, how about if i want to change the log message in a revision that's not the latest revision?05:22
keirAfC, though personally i *vastly* prefer gitweb to any of the bzr visualizers. the tabular log format is _way_ easier to scan than the multi-line-per-commit views.05:22
AfCkeir: it's not about that. Sun chose hg for Open Solaris. No shit they then chose it for Open JDK. Suddenly that has infected almost the entire Free Java hackers world with using hg and being ok with it.05:23
abentleykeir: Unfortunately, it seems 0.3.11 is not easy_instalable.05:23
keirAfC, yeah. losing sun was really unfortunate.05:23
keirAfC, i totally agree that we need to get some big adopters to get people onto bzr05:23
AfCkeir: meanwhile Ketih chose Git for X, told Carl to use it for Cairo and now all the freedesktop hackers (making up a not insignificant chunk of GNOME ones) are thrilled with Git.05:23
AfCkeir: which leaves people like me outlying loners for having chosen Bazaar.05:24
keirAfC, yes.05:24
AfCYeah05:24
AfCSo like it or not, the momentum isn't what we want,05:24
AfCand much as we'd love to not have to worry about such politics and just concentrate on coding on things we love,05:24
keiri know, it is important.05:25
AfCit nevertheless is concerning05:25
keir#mercurial - 84 people. #bzr - 95 people. #git - 20005:25
AfCYou know, that's not bad as a rough sampling technique :)05:25
keirAfC, i agree :)05:26
patternwhat does KDE use?05:26
keirpattern, they are switching to git05:26
AfCSubversion, I think05:26
keirfrom svn05:26
AfCkeir: really? Oh shit05:26
keirAfC, yes. their repos are 20 gigs05:26
patternhow about gcc?05:26
keirAfC, in git they dropped to about 1gig05:26
keirgcc is also going git05:26
AfCYou see, unlike GNOME, they are rather monolithic in their development practices; they do make central decisions and impose them05:26
AfChaha05:26
AfCYeah, that was one of Keith's points against svn at the time - Mozilla went to 3 GB in Subversion and broke svn; in Git it was 600 MB or something05:27
keiryes05:27
AfCAnyway, things we take for granted05:28
keirunfortunately, to win over big players bzr needs to do size reductions like that too05:28
AfClike merges actually working, correct internals, testing,05:28
keiri'm not sure how well packs are05:28
AfCusability, etc05:28
AfCare things we REALLY need to push05:28
AfCto make it clear why you _don't_ want to use Git, for example05:28
keirAfC, exactly. that's why i chose bzr05:28
keirAfC, however, you can't win by extoling how BAD the competition is, you have to win by being BETTER05:28
* AfC makes his tiny contribution by things like http://research.operationaldynamics.com/blogs/andrew/software/version-control/git-is-like-cvs.html05:29
AfCand the rest of http://research.operationaldynamics.com/blogs/andrew/software/version-control/05:29
AfCkeir: dead wrong05:29
AfCkeir: that's engineers pretending that they are objective talking.05:29
AfCkeir: tools use is an emotional choice. Always has been05:29
AfCkeir: and _especially_ when the prevailing sentiment is that [in this case, "the other two"] are ok05:30
keirfrom a practical standpoint, they are. which makes getting people to switch hard.05:30
AfCthen effort needs to be invested to pretty clearly point out what's wrong with the others (thence leading to the perfectly reasonable why Bazaar is an improvement)05:30
keiryes. and this is not clear at all from the website05:31
AfCkeir: **exactly**05:31
keirand right now the launchpad integration is not well explained05:31
keiror at least, it's not well sold05:31
AfCUnfortunately, I'm not really competent to contribute to writing more [for Bazaar's website, taking your example] about what the problem is or why bzr is better. I hang out with Robert Collins and Peter Miller enough to truly believe it is so,05:32
AfCand have heard many arguments on the topic over the last 24 months,05:32
AfCbut I can't articulate about things like hash collisions or merge complexity from an expert standpoint05:32
AfCelse I would contribute more that way. So I've tried to blog about it, instead.05:33
AfCAnd encourage clients to use it... although that's when I ran smack into "Eclipse integration not even alpha quality. Screw off"05:33
keirAfC, your blog is nice. we need more 'customer stories' like yours on the bzr site.05:34
AfCMostly I've taken the trouble to write stuff like that because I *am* on planet.gnome.org, and so that's my way of injecting into the debate there.05:35
patternspeaking of the website, there are pages worth of whitespace at the top of it when you view it in opera (at least on linux)05:35
patternso at first it looks nearly empty (at least in the main frame)05:35
AfCpattern: ouch!05:35
patternyou have to scroll down a bunch of pages to see the content05:35
keirone thing that sounds wacky, but is actually very compelling, is video tutorials.05:36
AfCpattern: Please do file a bug for that - that's the sort of thing that people Canonical employs for just that sort of marketing & publicity can fix05:36
keirno joke, they make a big difference to some people.05:36
AfCkeir: my keynote at foss.in this year will effectively be one05:36
keirwe need to get bzr talks youtube'd and posted05:36
keirreally good ones, should be prominently featured!05:37
keirif you make a good video tutorial, it's also likely to get programming.reddit'd or somesuch05:38
patternscreenshot of main bazaar-vcs.org page in opera/linux  -  http://img187.imageshack.us/img187/2995/bazaarci6.jpg  (shrunk down from 1600x1200 resolution down to 800x600)05:39
AfCpattern: you could always just reduce the browser window to 800x600ish and then take a screenshot05:39
patternyeah, i guess that would work too :)05:40
patterni'm just not used to resizing my browser windows, pretty much ever05:40
AfCpattern: sure. It's just a good trick when you're screenshooting05:43
AfCpattern: I did that just yesterday when taking a snap of Rhythmbox to show someone - reduced a 150kB PNG to 30 or so05:43
patterni don't really care about how much disk space the image takes up05:46
patterni just resized it for the convenience of people with lower resolutions05:46
patternnot everyone uses 1600x1200, alas05:46
patternbug filed05:54
helphi all05:59
ubotuNew bug: #157330 in bzr "bazaar-vcs.org blank in Opera/Linux" [Undecided,New] https://launchpad.net/bugs/15733006:01
helphi all06:01
helpwhat is the difference between bzr-init and bzr init-repo06:01
help*bzr init06:01
AfChelp: that's a wicked nickname06:01
AfChelp: bzr init creates a new branch in the [specified] directory.06:02
AfCAs it happens...06:03
AfC{sigh}06:03
AfCLet me guess. He's trying to use a registered nick06:03
* ksp is help06:04
kspin the specified direcotory means, no need for the directory to be a repository ?06:05
kspfor which repo it would be a branch ?06:05
AfCLet's see, where were we06:05
AfCAh yes06:05
AfCAs it happens, Bazaar needs somewhere to store revisions you create and/or pull from other branches of this project06:06
AfCand so it will quietly create a directory called repository in .bzr06:07
spivigc: btw, I got a call from poolie, saying he'd read my reconcile patch and is ok with me landing it.06:07
kspAfC, so for creating a project initially, we should use bzr init-repo ? is it ewual to svnadmin create repo in subversion06:07
AfCno no06:07
igcspiv: good - just finished it myself06:07
spivigc: he had some comments about clarity but he's happy for those to be dealt with after merging.06:07
AfCjust bzr init and you're on your way06:07
spivigc: ah, great.06:07
spivigc: I'm very glad to have more eyeballs on this code :)06:07
igcspiv: a question ...06:07
AfCigc: P.S. I wanted to mention one thing to you about your slides but didn't have time to write an email06:07
AfCigc: it can wait06:07
igcall_versions() in the tests ...06:08
igcwhy are things removed in your changes?06:08
spivigc: oh, right.06:08
kspAfC, just bzr init is enough to create  the iniial repository ?06:08
spivigc: I think I should probably rename all_versions :)06:08
igcto?06:08
AfCksp: now. You might begin to wonder if it is necessary for each and every branch clone you make of the same source project to have its own ./.bzr/repository full of revisions06:08
AfCksp: and that is what bzr init-repo is for06:09
spivigc: that's the list of file versions that will have their SHAs checked before and after reconcile.06:09
AfCYou use it (typically) in ..06:09
AfCwhere it creates ../.bzr/repository that will hold the revisions for all the branches in .06:09
spivigc: the idea being that reconcile shouldn't change the SHA (or contents) of a file version, just the metadata.06:09
igcspiv: ok - I'll write up a quick email mentioning the one small tweak I want06:10
AfCIn the case of the project I work on, I tend to group a bunch of branches under a given directory06:10
spivigc: but now reconcile removes some file versions if they are unreferenced, so just simply listing all the versions that were there initially isn't appropriate, because we don't care that their contents are preserved (they're not; the whole version is gone)06:10
AfCeg,06:10
AfCin src/andrew/06:10
AfCI created src/andrew/java-gnome/06:10
kspAfC, so initially i will use bzr init-repo which will create the main project repository and cd /to/the/repo-directory, i can create sub folders using bzr init or jsut bzr add ?06:10
AfCto hold src/andrew/java-gnome/mainline/, src/andrew/java-gnome/treeview/,  src/andrew/java-gnome/website/ etc06:11
AfCwhere {mainline,treeview,website,...} are branches06:11
spivigc: so I guess something like 'versions_to_verify_shas_of', although that's a pretty awkward name, would be better than 'all_versions'06:11
AfCksp: init06:11
AfCyes06:11
AfCksp: the idea of repo is just a storage optimization.06:11
nDuffhrm -- I can't export from a packs repository over http06:11
AfCksp: you don't _need_ it like you do with Subversion06:12
igcspiv: yes06:12
AfCksp: and yes, I initially did bzr init-repo in src/andrew/java-gnome/ before creating the first 'mainline' branch there subsequently06:12
nDuffhttp://pastebin.ca/75005106:12
AfCThat's it, really06:12
AfCksp: If you hadn't asked I'm sure we would have just told you to `bzr init` and carry on.06:13
kspAfC, if i am going to use bzr init under directory created using init-repo then there will again exist number of .bzr directories under each , right? and that will too complicated tree06:13
AfCYou can always create a "repository" in a new directory tree later and move (using `bzr clone`) the branches there later06:14
AfCksp: correct06:14
AfCksp: what you will see is top/.bzr/repository/06:14
kspok fine, so i will conclude like this................ bzr init-repo java-gnome, cd java-gnome, bzr add mainline06:14
AfCksp: and top/mainline/.bzr/branch/06:14
AfCksp: and top/experimental/.bzr/branch/06:15
kspis this we can do have a simple repo ?06:15
AfCksp: and top/bugfix-the-wacky-code/.bzr/branch/06:15
kspAfC, yes exectly06:15
kspAfC, so is it needed to have so many .bzr folders?06:15
AfCbut you WON'T see .bzr directories further down. There's just one per branch06:15
AfCIf you HADN'T made top as a "repository" with bzr init-repo,06:15
AfCthen what you would see would be06:16
AfCksp: top/mainline/.bzr/branch/ AND06:16
AfCksp: top/mainline/.bzr/repository/06:16
AfCthat's it06:16
AfC(oh, and nothing in top/)06:16
AfCksp: get it?06:16
nDuffksp, wait, are you talking about doing "add" commands directly within your repository, rather than in a working tree?06:16
* nDuff doesn't know that that's valid.06:17
kspi'll be back in momment06:17
* AfC notes to the wizards in channel that this continues to be a source of confusion to new users. We almost need to make this go away. That was one thing Darcs (and Git, maybe?) did nicely - they just hardlinked the files between branches thus no repository-quietly-pushed-up-to-parent concept06:18
AfCs/files/revisions/06:18
nDuffksp: if you do "bzr init-repo ~/java-gnome.repo", then you can inside your mainline source tree do "bzr init", check in whatever code, then "bzr push ~/java-gnome.repo/mainline" to create and populate your mainline branch from the tree you're currently in, for instance; that's the approach I most commonly take when using repositories. Not that there aren't other ways of getting going.06:19
AfCksp: Just do mkdir whatever ; cd whatever ; bzr init .  and then carry on with bzr add ; bzr commit06:19
AfCksp: that'll get you started. You can always do what nDuff or I have been suggesting later06:20
AfCnDuff: (that's interesting, and more traditional. I sorta got focused on working-on-the-peer-branches-I'm)06:20
=== cprov-afk is now known as cprov-zz
kspnDuff, this is where i am getting the doubt. as u said, we will create the repo using "bzr init-repo ~/java-gnome.repo" later, we can jsut do mkdir, add codes and other suffs using bzr add , then bzr commit. why do i need to use bzr init again /06:21
nDuffinit-repo and init are different06:22
nDuffksp, you want to do the init before you can add06:22
igcspiv: review sent to the list now with minor tweaks requested06:22
spivigc: thanks!06:22
nDuffksp, but init-repo is to make a shared space to store multiple branches efficiently06:22
nDuffksp, if you don't have multiple branches, you don't need a shared repository yet, so don't need to do anything with init-repo.06:23
AfCksp: yeah - just insert "bzr init" between "mkdir" and "add codes and others suffs"06:23
AfCand you're all set06:23
* AfC doubts ksp is working on java-gnome :)06:23
kspnDuff, yes, now i tried live, by using bzr init-repo and then bzr add , which threw an error saying, NOWorkingTree exists06:24
kspso i used bzr init and then added using bzr add, it worked06:24
kspso repo will hold number of branches under which we can add stufss06:24
nDuffksp, yes; init-repo makes a shared repository *without* a working tree; you don't add in it.06:24
kspAfC, nDuff now its clear for me06:24
kspand now when other users want to get the data, they use bzr branch url and checkout the source06:25
kspmodify it and upload using bzr push. right ?06:25
spivksp: right, you always need a branch (which is what 'bzr init' creates).  A separate repository to optimise storage of branches (what 'bzr init-repo' creates) is completely optional.06:26
nDuffksp: ehh. if you want a traditional workflow (where everything goes into the shared repository as soon as it's committed), you should have your users use checkout and commit rather than messing with pull and push.06:26
spivksp: yes, that's a reasonable workflow.  nDuff's suggestion (users use 'bzr checkout' rather than 'bzr branch') is fine as well.06:27
nDuffksp: if you want a distributed workflow, then what you described is roughly correct -- folks can make multiple commits on their local tree between when they pull and when they push.06:27
ksphold on, again, what is difference between,  bzr branch and bzr checkout ?06:28
* nDuff looks at push's help and sees that --overwrite is so named... good; was concerned it might be named --force, which would be a little bit less clear about the need to merge up before pushing.06:28
nDuffksp: if someone does a branch, they can commit locally without those changes going back to the tree they pulled from; if you checkout, as soon as you commit it goes back to the place you did a checkout from.06:29
kspso, branch allwos, commit offline and checkout allows commint online06:29
nDuffksp: pretty much. you can change your tree between the two types using "bind" and "unbind".06:29
kspok06:30
kspand if i come to uor first procedure, forgtting about bzr init-repo, if i use bzr init for creating the initial java-gnome and then add the other stuff using bzr add, still it acts as the aboe discussed repository ?06:31
kspor anything is there which varies ? nDuff06:32
nDuffno, nothing that varies.06:32
kspis it possible to have a nested branches ?06:33
nDuffin a repository, sure.06:33
ksplike bzr init abc; cd abc; bzr init xyz ?06:33
nDuffno idea.06:34
kspok, how can i allow  authentication of users in bzr06:35
ksplike svn apache conf has, SVNAuthZFile06:35
spivksp: you can nest branches like that; the abc branch will just ignore the xyz branch inside it.06:36
kspspiv, ignore ?06:36
spivksp: so e.g. a commit in abc will not have any effect on xyz, or vice versa.06:36
kspspiv, oh, so if u commit in abc thenonly the modifications done in abc branch are applied to the repo, and isgnores the modifications done in xyz06:37
spivRight.  It's basically the same as if the branches weren't nested.06:37
spiv(There's some experimental code to do more advanced stuff with nested branches, but it's not ready for general consumption)06:38
kspspiv, what about authenticating the commits06:38
spivbzr has no authentication builtin at the moment.06:38
spivMostly people rely on something like SSH.06:38
kspspiv, then how can we keep track of who is pushing which code ?06:38
kspbzr+ssh ?06:39
spivbzr stores a committer ID on each revision (see also the "bzr whoami" command).06:39
spivAnd you can also configure bzr to GPG sign your revisions.06:39
kspyeah, i remember now06:39
spivYes bzr+ssh, or even just sftp.06:39
spivAnd leave the access control to your operating system/filesystem permissions.06:39
kspspiv, fine. got the concept06:40
kspspiv, one more silly question06:40
spivksp: I haven't seen a single silly question from you yet :)06:40
kspspiv, i am used to subversion for more than a year and now planning to shift to bzr06:41
kspand onw most advantage i read in bzr tutotial is that, we can do bzr commit when we are offiline06:42
AfCksp: that is correct06:42
kspthat is it allows us to work offline also without connecting to the main repo06:42
AfCksp: that is also correct06:42
kspbut how is it advantage06:42
AfCksp: so, for get about "repositories" for a sec06:43
AfCbah06:43
nDuffksp: are you a commercial or open source user?06:43
AfCksp: so, forget about "repositories" for a second06:43
kspksp, open source06:43
AfCksp: and just think about branches;06:43
kspok06:43
AfCksp: each branch contains full history and is _entirely_ independent and self-sufficient06:43
nDuffksp: then think of it this way: people can make their own branches without you giving them commit privileges for your repository. it makes the barrier to entry for new contributors much lower.06:43
AfCand is a peer of all the other branches in the project.06:43
AfCyou move changes between them by "merging".06:44
nDuffksp: they can keep their branch on their own server, and then you can merge from it if and when you like.06:44
AfCbut because you have a fully power branch, you can do anything you like to it (like committing, like viewing history, etc)06:44
AfCksp: roger so far?06:44
* ksp is trying to understand he above06:45
AfCThere are two techniques which ... enhance ... matters, but the basic essence of fully distributed version control is the above06:45
nDuffksp: so that way, even people you don't trust with direct commit privileges get the benefit of having revision control tools. for a open source project, that's a big win.06:46
AfCksp: so you get that a branch is self-contained and everything you ever needed and its own little island?06:46
kspAfC, yes06:47
AfCnDuff: [I really do believe that starting with centralized version control and trying to explain distributed is suboptimal; better to start the other way round and then connect back, as I am about to do]06:47
AfCRight06:47
AfCksp: so the two ... enhancements ... I mentioned are as follows:06:48
spivksp: If I'm on a train, with no net access, and I have a bzr branch on my laptop, I can still do everything I want to with it: I can make commits, I can make new branches from that branch, I can merge other branches into it, I can examine the history (log, annotate, etc) of that branch.06:48
AfCksp: the first is a storage optimization. Obviously since every branch is it's own island and has everything, it might get to be a little large (on disk), right?06:48
AfC[or rather, lots of branches each with everything might get to be a little large on disk]06:49
AfCksp: that's where Bazaar's idea of a (local, ie at .. or somewhere near ~) "repository" comes in. It doesn't change the fact that each branch has everything it needs06:50
spivksp: I don't need any access at all to a central blessed "repository" for any of that (and I don't need to be an official committer.  I can just work on the code, and I can publish my work when I get online just by pushing my branch somewhere.06:50
AfCit just means that the various branches stored under that repository can share all the revision data (history, etc) so there's one copy rather than n copies of all that data.06:50
* AfC notes that spiv is explaining this remarkable well :)06:51
spivAfC: I suspect we've both had a bit of practice :)06:51
AfCksp: so you got the Bazaar idea of full power "branch", now hopefully you see where (local) "repository" fits in.06:52
AfCksp: Good so far?06:52
kspAfC, spiv so far I understood well06:53
AfCNow onto the the second ... enhancement ... one that I actually regard somewhat askance.06:53
ksphere my query comes up06:53
AfCwait06:53
kspAfC, ya, please go ahead with sec enhancement06:54
AfCSome people like to create a setup where they are _not_ allowed to commit to their branch unless they also simultaneously commit to some central (typically remotely hosted) branch06:55
AfC[the word repository is often misused here, but branch is correct]06:55
AfCthis is known as a "bound" branch in Bazaar terms06:55
AfCand typically is created by using the06:55
AfCbzr checkout06:55
AfCcommand instead of the06:55
AfCbzr branch aka bzr clone06:55
AfCcommand.06:55
AfCThis is what powers the 1st generation centralized version control model that Bazaar is capable of supporting even though it is otherwise a 3rd generation decentralized version control tool.06:56
AfCNow: here are the catches: (or details)06:57
AfCA checkout is still a full stocked branch06:57
AfCIt's just that you're not allowed to commit to it unless you have commit rights to the central (probably remote) branch.06:57
AfCThere is an additional sub type created with06:58
AfCbzr checkout --ligthtweight06:58
AfCwhich, quite exceptionally and in variance with everything else that's going on,06:58
AfCdoes NOT create a full power branch and does NOT copy all the history which means it really IS crippled unless you have live network access to the remote branch.06:59
AfC(in other words, Subversion. Yetch)06:59
AfCSo now that you've heard about it, don't touch it.06:59
AfCFinal catch,06:59
AfCor detail or feature07:00
AfCand actually, this is the best part,07:00
AfCa proper bzr checkout (which is a branch that just happens to be bound to some other [typically remote] branch) can't be committed to07:00
AfCunless you have write rights on the central branch,07:01
AfCBUT07:01
AfCyou *can* always just create a local copy [with bzr clone aka bzr branch, same thing]07:01
AfCof the checkout aka bound branch07:02
AfCthus creating a new branch locally that you DO have write access to, wherein you can carry on doing whatever you want, committing, etc07:02
AfCIf you hadn't guessed, the final part of the story is submitting the revisions you've made locally in your own branch back to the parent project if you don't have write access to it, but that's kinda another topic.07:03
AfCThat's how I handle the "can't commit to remote" thing, but there is also a concept called "local commits" which allows you to make revisions for later return to a remote branch (repository, sigh) that you do have write access to.07:04
AfCksp: Well, that's about it I think.07:04
* nDuff files bug #157335 (can't export from a packs repository over http)07:04
ubotuLaunchpad bug 157335 in bzr "AssertionError trying to export from a packs repository over http" [Undecided,New] https://launchpad.net/bugs/15733507:04
kspAfC, great explanation. i understood everything well now07:05
ubotuNew bug: #157335 in bzr "AssertionError trying to export from a packs repository over http" [Undecided,New] https://launchpad.net/bugs/15733507:05
kspAfC, how to set priviliges for users to commit, read or write etc07:05
nDuffksp: through whatever mechanism is native for the transport you use. if you're using a shared filesystem (or something that uses one like sftp), use file permissions.07:06
kspok07:07
* AfC recommends bzr+ssh for the case where the remote system has ssh logins for the various users07:07
* nDuff is using packs (needs it, 100K+ file tree), so bzr+ssh doesn't work for him.07:07
kspAfC, nDuff spiv thanks a lot07:08
AfCksp: frankly, I'd recommend just getting used to working with Bazaar in its basic full power local mode for a bit. You can then explore the ways of shipping revisions around later.07:08
spivksp: you're welcome.07:08
spivnDuff: we'll fix that soon I hope07:08
AfCksp: have a peek at http://java-gnome.sourceforge.net/4.0/HACKING.html for discussion of the other way of shutting revisions around - manually.07:09
spivnDuff: thanks very much for finding these issues!07:09
nDuffspiv: heh, not a problem. Wish I had more time to get involved in fixing them.07:09
kspi just got theoritical knowledge, i will do experiments in local as AfC suggested and then may come out with lot more queries07:09
* AfC runs for the ferry.07:09
kspspiv, i am plannig to use for a large project named BOSS GNU/Linux, http://bosslinux.in07:10
kspto maintain the source of BOSS (based on debian) and thus thinking that, do i need to make a sturcture like each package is a seperate branch07:11
nDuffksp: the packs format works well for very large trees. that said, I don't know your requirements -- if folks will want to check out and work on only one package at a time, then that would make sense to break them out.07:14
* nDuff finds that he can work around the export thing by using lightweight checkouts, which appear to work over http.07:15
nDuff(well, using lightweight checkouts and then deleting the extra files)07:16
nDuff...hmm, though I'll bet I could do an export from the checkout07:16
spivksp: I think a branch per package sounds like a good way to do it.07:19
kspok, thankyou for the suggestions07:25
spivArgh, poolie's callCatchWarnings breaks under python -Werror.08:10
spivI guess as part of its hackery of global state in the warning module it should temporarily disable -Werror.  Hmm.08:11
mwhudsonhave fun with that08:12
=== weigon__ is now known as weigon
kspif i have a problem in accessing loggerhead using http protocol (throught the browser) then where will be the related logs be  available ?08:36
mwhudsonksp: loggerhead dumps files to logs/debug.log08:36
mwhudsonrelative to the start-loggerhead script08:37
kspbut, when i access it through http://ip:port, ten it doesn't appear in browser, to trace that, where do i need to check the logs?08:37
* ksp is indraveni , yesterday08:37
mwhudsonoh, i thought there was _another_ person with loggerhead problems08:38
mwhudsonit's probably worth checking the apache logs too08:38
igcnight all - have a great weekend09:11
spivigc: g'night09:14
igcthanks spiv09:14
spivGar, *and* the test for callCatchWarnings didn't pass under 2.4.09:14
* spiv fixes09:14
spivigc: Btw,09:14
spivigc: Once this final branch lands, we're ready to cut the rc09:15
spivigc: I'll do that sometime tonight.09:15
igccool09:15
igchope it goes well09:15
spivMe too!09:15
datocan somebody suggest an option name for sorting the output of `bzr tags` chronologically? --chronollogically seems too long, maybe `--bytime`?11:00
PengWhat about --sort=time?11:00
PengOr "date".11:00
PengDo any other commands do sorting?11:00
fullermdI like --sort.  That gives you options for future extension.11:03
LeoNerd--sort is also what GNU ls takes, so might be an idea to see what it does and do things similarly11:04
datoyeah. plus if you alias tags=tags --sort=time, you should be able to run `bzr tags --sort=alpha` afterwards.11:05
datoonly, I don't know off-hand how to implement it. :)11:07
fullermdI'm more of an idea rat...11:07
kspmwhudson, from whom can i get i get help about apache configuration for loggerhead11:16
mwhudsonksp: i don't really know11:21
mwhudsonksp: there's nothing very special about loggerhead though11:21
mwhudsonksp: so i'd start with apache's mod_proxy documentation11:21
kspmwhudson, i have done the confugurations what u explained but i think there is something else that i am missing11:23
kspi have downlaoded the bzr-gtk , olive plugin11:48
ksphow to enable that plugin11:48
kspi have done the steps given in the README and then when i executed, i am getting an error message ....11:48
kspUnable to load plugin 'bzr-gtk' from '/root/.bazaar/plugins': It is not a valid python module name.11:48
fullermdYou have to call it 'gtk'.11:49
fullermd(of course, first you have to stop running as root...)11:49
kspu mean rename ?11:49
fullermdYah.11:49
=== bac_afk is now known as bac
=== mrevell is now known as mrevell-lunch
=== Mez is now known as Mez|Away
=== Mez|Away is now known as Mez
=== Mez is now known as Mez|Away
=== Mez|Away is now known as Mez
=== Mez is now known as Mez|Away
=== Mez|Away is now known as Mez
=== cprov-zz is now known as cprov
=== Mez is now known as Mez|Away
=== Mez|Away is now known as Mez
=== mw|out is now known as mw
kspi am seeing a good gui of olive here http://bazaar-vcs.org/Olive13:01
kspi added the olive plugin under the  ~/.bazaar/plugins and executing the bzr viz int eh working tree gave me a window13:02
kspbut how can i see such a GUI given in site, ?13:02
kspi think its using nautilus and i have done the nautilus way of installation as per README explained13:03
kspcopying the nautilus.py file into the nautilus extensions path but i am not knowing how to use it13:03
kspcan some one here help me, in getting a good GUI like OLIVE work for me13:03
=== Mez is now known as Mez|Away
=== Mez|Away is now known as Mez
=== kiko-zzz is now known as kiko
=== Mez is now known as Mez|Away
=== Mez|Away is now known as Mez
=== Mez is now known as Mez|Away
=== Mez|Away is now known as Mez
jam-laptopksp: I don't think nautilus.py is what you want13:35
jam-laptopYou probably just want to run "olive-gtk"13:35
jam-laptopwhich should be in ~/.bazaar/plugins/gtk/olive-gtk13:35
=== mrevell-lunch is now known as mrevell
kspjam-laptop, yes running olive-gtk gave me the window13:38
kspjam-laptop, i am not ablet o do any operation like pushing, pulling, branching or any13:38
kspdo i need to run it from a working tree13:38
jam-laptopksp: probably, I haven't used olive a whole lot13:38
jam-laptopThough I thought you could browse for a working tree13:39
kspjam-laptop, then do u use commands prompt ?13:39
jam-laptopI use the command prompt for most of my work13:39
jam-laptopbut I keep bzr-gtk installed for13:39
jam-laptopgannotate13:39
jam-laptopgviz sometimes13:39
jam-laptopsorry, 'viz'13:39
kspi checked viz, its good enough13:39
kspbut how to use gannotate ?13:39
jam-laptopbzr gannotate filename13:39
kspjam-laptop, should i be in the working tree /13:40
ksp?13:40
jam-laptopyes13:40
jam-laptopwell, you need to give the path to the file you want to annotate13:40
jam-laptopso it might be13:40
jam-laptopbzr gannotate tree/filename13:40
jam-laptop(that should work)13:40
kspjam-laptop, thats popping up an error , http://pastebin.ca/75031413:41
kspjam-laptop, do u use loggerhead ?13:41
=== jelmer is now known as jelmer_
=== jelmer_ is now known as jelmer
jam-laptopksp: well, I use it in as much as codebrowse.launchpad.net uses it13:43
jam-laptophttp://codebrowse.launchpad.net/~bzr/bzr/trunk/changes13:44
jam-laptopBut I have not personally set it up13:44
jam-laptophmm.. your gannotate error confuses me, as Branch objects have  never exposed "get_transaction"13:45
jam-laptopLet me investigate bzr-gtk13:45
jam-laptopksp: can you give me the output of "bzr revno ~/.bazaar/plugins/gtk" ?13:46
kspjam-laptop, error,13:47
kspbzr: ERROR: Not a branch: "/root/.bazaar/plugins/gtk/".13:47
jam-laptopksp: where did you install the 'gtk' plugin?13:48
jam-laptopYou at least said you put it under "~/.bazaar/plugins"13:48
jam-laptopDid you put it there as 'olive'?13:48
kspno, its as, gtk only13:48
fullermdI think he got a tarball, not a branch.13:49
jam-laptopah, you probably just downloaded one of the snapshots/releases where did you ge13:49
jam-laptopwhere did you get it from?13:49
jam-laptop(just to make sure I'm using the same one as you)13:49
kspjam-laptop, i downloaded the tar.gz file from http://bazaar-vcs.org/Olive13:50
jam-laptopok, that would be a very old version (0.12)13:50
jam-laptopThey have a warning at the beginning, but that should probably be made clearer on the "install" section13:50
jam-laptopksp: http://bazaar-vcs.org/bzr-gtk13:51
jam-laptopHas a link for13:51
jam-laptophttps://launchpad.net/bzr-gtk/0.91/0.91.0/+download/bzr-gtk-0.91.0.tar.gz13:51
fullermdProbably should move those links off to an Archive page somewhere...13:51
jam-laptoptry that one13:51
kspjam-laptop, should i the above source?13:52
jam-laptopyou should download it13:53
jam-laptopand then put it in the same location13:53
jam-laptopjust rm -rf ~/.bazaar/plugins/gtk13:53
jam-laptopand put the new one there13:53
kspyes, now gannotate worked13:54
kspjam-laptop, thankyou13:54
kspi am facing difficulty in setting up the loggerhead for remote access through apache webserver13:55
kspneed help in this aspect13:55
jam-laptopI really don't know how to set up loggerhead14:11
jam-laptopmwhudson might know14:11
fullermdI think he's through all the loggerhead part of it, and having issues with the Apache side.  He's been with mhudson on it the last couple days.14:12
jam-laptopah14:13
jam-laptopIsn't it just a proxy redirect?14:13
fullermdDunno.  I've been mostly ignoring it in favor of alternating between a flood of Real Work, and spewing verbiage about multi-branch commands.14:13
jam-laptopof course, he left before I noticed14:14
jam-laptop...14:14
fullermdHe didn't _leave_, he's just 'distributed'.14:16
fullermdDisconnected IRCing is just ONE of the benefits...14:16
jelmerhmm, not good:15:00
jelmerbzr: ERROR: Revision {('pqm@pqm.ubuntu.com-20071025022746-ftudwmzir8v2lccc',)} not present in "<bzrlib.knit.KnitGraphIndex object at 0x9a57f4c>".15:00
jelmerthat's what I get pulling from bzr.dev into my own copy (that is using packs)15:01
siretartany idea what could be causing this? http://paste.debian.net/4068915:02
jam-laptopjelmer: did you run "bzr reconcile" before you converted to packs?15:02
jam-laptopThere are some known data inconsistencies with bzr.dev15:02
jam-laptopwhich 'bzr reconcile' should fix up15:02
fosstuxHi! I'm really new to bazaar. In a local directory I entered bzr init and bzr add - and then I changed everything again. How can I completely delete the revision history?  Or how can I start from scratch?15:02
jam-laptop(that I believe are not caught by the pull into packs)15:03
Lo-lan-doHi there15:03
fosstuxIs the bzr directory dependant?15:03
LeoNerdIf you remove .bzr, you'll remove all the bazaar history and start from scratch15:03
fosstuxah ok15:03
fosstuxthanks15:03
jam-laptopsiretart: unfortunately the most likely cause of that is actual disk corruption15:03
Lo-lan-doI'm looking for a git-vs-bzr shootout, or a migration guide from one to the other, or something along these lines.15:03
jam-laptopWe can try to work with you to investigate15:03
jam-laptopsiretart: but whenever we've seen that, it seems that parts of the file are set to all NULL's15:04
jelmerjam-laptop: No, I didn't - I started off with poolie's copy of bzr.dev, which I thought was reconciled15:04
jam-laptop(it has happened with people using XFS, and people with machines that are a little flaky)15:04
jam-laptopjelmer: I don't know when/if poolie's was reconciled15:04
jam-laptopyou might try reconcile or 'check' after the afct15:04
jam-laptopfact15:04
jelmerjam-laptop: k, thanks15:04
jam-laptopLo-lan-do: http://bazaar-vcs.org/BzrForGITUsers15:05
jam-laptopthough i'm not sure if it is fully fleshed out15:05
Lo-lan-doNot much, but it'll be a start15:05
Lo-lan-doThanks :-)15:05
Lo-lan-doIs there a public bzr mirror/gateway for the kernel (or for Mozilla)?15:10
=== cprov is now known as cprov-lunch
=== kiko is now known as kiko-fud
siretartjam-laptop: could you imagine that file permissions could cause such an error?16:26
jam-laptopsiretart: that specific error is caused when we try to uncompress a chunk16:27
jam-laptopWhich means that we've already read the data16:27
jam-laptopit just happens to not contain gzip data16:27
jam-laptopSo I'm guessing permissions aren't the issue16:28
nekohayohello, is it only deltas that are saved between commits, or is a whole copy of the repository created? (I think I can guess the answer, but I'd just like to be 100% sure)16:34
fosstuxHi! How long can the initial push last? My initial push is at phase 1 of four - after 2 hours???16:34
jam-laptopnekohayo: Generally it is a delta against the previous commit16:35
jam-laptopThere are times when we store a fulltext, just so you don't have to apply 10,000 deltas to get the newest revision16:35
fosstuxAll together I have 65000 small files - with 404 MB!16:36
jam-laptopfosstux: There are a few factors involved, but if you have a lot of files in your project, and a lot of latency, it can take a while16:36
fosstuxok thanks16:36
jam-laptopfosstux: where are you pushing to? (launchpad?)16:36
fosstuxyes16:36
fosstuxThe project is an icon theme for kde and gnome, but other desktops as well16:36
jam-laptopmake sure you are using "bzr+ssh://" rather than "sftp://"16:36
jam-laptop65k icons? Sounds interesting16:37
jam-laptopanyway "bzr+ssh" has about 1/3rd the round-trip latencies16:37
fosstuxthat number is including the bzr directory16:37
fosstuxhttps://launchpad.net/lila-theme16:37
jam-laptopjelmer: ping16:37
jelmerjam-laptop, pong16:38
jam-laptopjelmer: are you a list admin for bzr-gtk?16:38
jam-laptopI just sent a big patch, and it is pending moderator approval16:38
nekohayojam-laptop: thanks for the info :) is there a page documenting in which cases that fulltext is saved? (for the space-constrained cases)16:38
jelmerjam-laptop: no, I believe you and poolie are16:38
phanaticjam-laptop: i've already approved your mail16:38
jelmerjam-laptop: but I do have moderator access, so I can approve it16:38
jam-laptopjelmer: technically I am, but he forgot to give me the password16:39
jelmernever mind then :-)16:39
jam-laptopphanatic: thanks16:39
jam-laptopnekohayo: It is based on a simple heuristic, once the size of all deltas ~= size of the previous fulltext16:39
jam-laptopwe create a new fulltext16:39
jam-laptopOr at 20016:39
fosstuxjam-laptop: all together there are icon themes, backgrounds, window decorations, Login manager themes etc included16:40
nekohayojam-laptop: actually, even if it stores the fulltext, it's only a per-file thing, not the whole repository is saved full text periodically I presume?16:40
jam-laptop(the maximum delta length == 200)16:40
jam-laptopnekohayo: right, per-file16:40
nekohayojam-laptop: this is great to know, thank you16:40
fosstuxjam-laptop: and there are even color mods for some files16:40
jelmerhmm, looks like the bzr-gtk pqm is down16:40
phanaticjelmer: is there a pqm for bzr-gtk?16:41
jam-laptopjelmer: then just approve it offline :)16:41
jelmers/pqm/bundlebuggy/16:41
datojam-laptop: I'm not sure I quite understand your last paragraph, "Just do it as part of the "--format" documentation, rather than doing it as separate options.". do you mean mentioning all the possible values in the help="" of the option?16:41
jam-laptopThe trunk is accessible to all ~bzr developers16:41
jam-laptopdato: I'll try to give you an example16:41
datojam-laptop: (I also prefer --foo=bar, fwiw)16:41
jelmerjam-laptop: we use bundlebuggy though, and hope to start using pqm at some point (lifeless was going to add bzr-gtk)16:42
datojam-laptop: what I have is http://dpaste.com/23448/16:42
jam-laptopdato: http://dpaste.com/23449/16:43
=== cprov-lunch is now known as cprov
jam-laptopdato: sure, that will let you set16:43
jam-laptop--sort=alpha16:43
jam-laptopIt just doesn't document it16:43
jam-laptopif you had value_switches=true16:43
jam-laptopyou could do16:43
jam-laptop--alpha16:44
datojam-laptop: right, so I have to add the documentation by hand.16:44
datojam-laptop: yeah, I understand the difference :)16:44
jam-laptopdato: unless you want to write support for doing it like http://dpaste.com/23449/16:44
jam-laptopWhich *I* think would be nice16:44
datoI'm just not sure what whoever wrote RegistryOption wants users of value_switches=False to do wrt documentation16:44
jam-laptopjelmer: sure, but you need to have a bit more of a test suite before pqm would help a lot :)16:44
jam-laptopdato: Abentley wrote RegistryOption, and added value_switches because he wanted --knit instead of --format=knit16:45
jam-laptopThe documentation just falls out16:45
fullermdWhile we're speaking of those sort of options, does it annoy the crap out of anybody else how --format's description of "default" gives the description of that format, rather than telling me which of the formats IS the default?16:45
jam-laptopbecause you easily add documentation for a *real* option16:45
jam-laptop(optparse does it for us)16:45
jam-laptopWe need to do a bit more custom hacking to add it as part of RegistryOption to add them to the normal help16:45
fosstuxwhy is the latency for bzr+ssh so big?16:46
datoI see. though in the thread he said not including the documentation for v_s=False was *intentional*16:46
jelmerjam-laptop: true, but we've got to start somewhere :-)16:46
jelmerjam-laptop: your bundle has some conflicts against current trunk16:46
jam-laptopjelmer: probably, I can go through and try to clean them up16:46
jam-laptopNot listing the possible values was intentional16:47
jam-laptopBut I think that was because of the "not adding them as command line switches/options"16:47
jam-laptopnot because he wanted to hide the documentation.16:47
jam-laptopI'll reply to aaron and see what he sasy16:47
jam-laptopsasy16:47
jam-laptopsays16:47
datook16:47
jam-laptopargh...16:47
datoI wouldn't mind taking a stab at implementing it16:48
jelmerjam-laptop: I've almost got them fixed, ok if I just send an updated version of it to the list?16:48
jam-laptopjelmer: I'm happy to have you do my work for me :)16:48
fullermdWell, he saw the way you were typing...16:48
datoheh16:51
lifelesshola16:57
james_whi lifeless16:58
james_wlifeless: where have you made it to?16:58
lifelessnow I just need to fogure out the time here16:58
lifelessnow I just need to fogure out the time hereand I'm set16:58
lifelessbleh, I swear I didn't ht up arrow thre.16:59
lifelessLA16:59
lifelessnotice my sparkling latency crippled typing16:59
lifelessfosstux: bzr+ssh - the startup time is likely/probably ssh handshaking; how long does 'ssh host echo' take ?17:00
fullermdMight just be that LA air.17:00
lifelessI'm using the bottled stuff17:00
datojam-laptop: thanks for the mail17:02
fosstuxlifeless: well the prompt to enter my passphrase comes instantly17:02
jam-laptoplifeless: I don't think you can do "ssh echo" to bazaar.launchpad.net17:03
fosstuxI entered 'ssh bazaar.launchpad.net echo' - then my passphrase - then I have to press Ctrl-C to quit17:03
jam-laptopI suppose you could do "time sftp bazaar.launchpad.net" and then quit right away17:03
fosstuxwell... that time sftp... takes 7 secons to launch and quit - so ssh is not the problem17:05
jam-laptoplifeless: do you know any way to time the "ping" to launchpad.net ?17:06
jam-laptopping bazaar.launchpad.net is blackholed17:06
fosstuxI canceled my bzr push - when I try to restart bzr push I get the following error: Unable to obtain lock bzr+ssh://fosstux@bazaar.launchpad.net/%7Efosstux/lila-theme/main/.bzr/repository/lock held by fosstux@gmail.com on host fosstux [process #11873] - locked 1 hour, 55 minutes ago17:07
fullermdI can ping code.  ~150 from here.17:07
fosstuxwhat is wrong?17:07
james_wfosstux: the lock was not removed when you cancelled.17:07
fosstuxand what can I do about it?17:08
jam-laptopfosstux: you just need to17:08
james_wyou can 'bzr break-lock bzr+ssh://fosstux@bazaar.launchpad.net/%7Efosstux/lila-theme/main/'17:08
jam-laptopbzr break-lock URL17:08
fosstuxok. thanks.17:08
lifelessjam-laptop: no17:08
lifelessjam-laptop: but its the same dc, so pingling lp is equivalent except in exceptional crcumstances17:09
fosstuxI'll simply let bzr push run - however long that lasts...17:09
jam-laptopwell, if you got 65k files from 'find', and 150ms latency17:21
jam-laptopthat would be something like 65k*.150 = 9750 seconds17:22
jam-laptopor 2.7 hours of round trip time17:22
jam-laptopand then add a bit more for other stuff17:22
jam-laptopwhich is why 0.92 is going to have a streaming protocol17:22
jam-laptopto avoid all the round trips17:22
=== kiko-fud is now known as kiko
james_wis it sha1s that log -v --show-ids puts by the filenames?17:29
fullermdI'm pretty sure it shows the file-ids...17:29
james_wah, that makes more sense, thanks.17:30
jam-laptopjames_w: so if you are using a hash for bzr-git, then you would see something that looks a lot like a hash :)17:30
james_wyeah, that's what confused me.17:31
james_wI should have spotted it was too short for a sha though.17:31
fullermdSo it's a sh then?17:32
lifelessalso17:35
lifelesspacks for the  win17:35
lifelessjames_w: I don't think 0.92 has streaming push, only sreaming pull17:37
* fullermd blinks.17:38
fullermdIt isn't the same operation?17:38
lifelessno17:38
lifelesswhile it is symmetrical, wire protocols that are request-response are not symmetrical17:38
lifelesssymmetry is broken17:38
fullermdSo it has "gimme a box full of crap" but no "here's a box full of crap", even though both boxes would be packed up identically?17:40
lifelessright17:41
lifelessand the support code for crapping, and pawing through the crap is reusable17:41
lifelessit just has to be [heh heh] glued together17:42
fullermdWell, as long as we have a box to hold the crap until we get around to gluing it...17:43
lifelessrofl17:43
* fullermd contemplates titles that could be printed on spiv's business cards...17:43
lifelessI think that may have not been the best impression to give17:43
lifelesspossibly the most accurate17:43
fullermdHm.  Y'know those "how shit happens" lists of religions?  We should write one for version control systems based around "you crap in a box"...17:44
jam-laptopfullermd: One of the big reasons is that it is easy to send a HTTP POST and stream the response that is sent back17:44
lifelessmaking me squeal in an airport lounge is nasty17:44
jam-laptopit is *hard* to stream the POST17:44
jam-laptopI don't know if you saw spiv 's comments17:44
jam-laptopbut basically, the problem is the remote side may not support the request17:45
fullermdDarcs: You crap in a box, and put it with all your other boxes.  When you're not looking, your boxes are rearranged.17:45
LeoNerdSVN: Any time you want to change the crap, you just take a cheap copy of it and modify it in some small way17:45
jam-laptopand you don't really want to POST up a 10MB stream17:45
jam-laptopjust to get back "not supported"17:45
lifelessjam-laptop: this is not http related though17:45
lifelessjam-laptop: this is our initial smart server protocol model17:45
jam-laptoplifeless: sure, I'm just mentioning why some of it is that way17:46
jam-laptopat least at a conceptual level17:46
lifelessright, I'm only objecting to the HTTP thing there17:46
lifelessrequest-response protocols are hard17:46
lifelessso I'm down to only two uses of inventories in commit.py17:47
jam-laptopI have a feeling there is a big jump from 2 to 017:48
jam-laptopbut nice to see progress :)17:48
lifelessone is 'set of all ids'17:50
lifelessthe other is record_entry_contents17:50
lifelessonce this is done, the uses of inventory are hidden on the tree interface17:50
jam-laptopwhy is bzr.0.91 in Launchpad owned by jml?17:50
jam-laptophttps://code.edge.launchpad.net/~jml/bzr/bzr.0.9117:50
lifelessif we then implement a native iter_entries_by_dir17:51
jam-laptoplifeless: I would like to see a way to get the root id for a tree17:51
jam-laptopThat Tree.inventory.root.file_id is a bit ugly17:51
jam-laptopthat is separate17:51
lifelessjam-laptop: add a tree_implementations/test_root_id.py with a trivial test and trivial method17:51
jam-laptoplifeless: so you consider it worthy?17:52
lifelessyes17:52
jam-laptopI just know it is one of the inventory accesses I need to do for tests17:52
lifelessits punishing to do a full conversion to inventory for that one attribute17:52
lifelessI really want to promote most things to tree17:52
lifelessinventory is a great *impklementation*, not a great generic interface17:52
jam-laptopjml: ping17:53
lifelessrofl17:56
lifeless3am  for him17:56
lifelesson saturday17:56
jam-laptoplifeless: I've seen you and igc around at those times :)17:56
jam-laptopI can always just create the 0.91 mirror17:57
jam-laptopIt just seemed silly to have 2 of them17:58
lifelesswhat is the issue ?17:58
lifelessis his one wrong? or just wrong owner ?17:59
jam-laptopjust the wrong owner17:59
jam-laptopand marked as Development/New rather than Mature17:59
lifelesshmm18:00
lifelessI think you are confused18:00
lifelessthereis no 0.91 blessed branch - https://edge.launchpad.net/bzr/0.9118:00
lifelessjml has chosen to have a 0.91 branch of his own is all18:00
jam-laptopyou are probably right, but there is a mirror of 0.91 already in launchpad18:00
jam-laptopAnd I *think* you can't register 2 mirrors18:00
jam-laptopfor the same branch18:01
jam-laptopBut maybe that is just for the same user18:01
lifelessper user18:01
lifelessbecause otherwise randoms could attack namespaces18:01
jam-laptopweird, it allowed me to register a branch as ~jml18:02
jam-laptopby going to code.../~jml/+addbranch18:03
jam-laptopOr at least it tried and failed because it was already mirrored18:03
jam-laptoplifeless: you are wrong18:03
jam-laptopIt is failing to register as ~bzr18:04
jam-laptopbecause it is registered as ~jml18:04
lifelessuhm18:04
lifelessoh, this is a nonsense IMNSHO18:04
lifelesshang on I'll fix, but please file a bug :)18:05
jam-laptopI'll file a bug18:05
jam-laptopis this under launchpad-bazaar?18:05
jam-laptopOr just launchpad18:05
lifelesslaunnchpad I think and let it get moved by them18:05
jam-laptopk18:05
lifelessactually wait a second18:06
lifelessno do it18:06
lifelesswhats happened though is that the owner/registrant thing has confused you18:06
jam-laptophow so?18:06
jam-laptopI am unable to change the status for that branch18:06
jam-laptopwhich means it has the wrong owner18:06
lifelessthe owner/reigstrant split for branches is a hack18:07
lifelessits not done generally thoughout the lp datamodel yet18:07
lifelesshttps://code.edge.launchpad.net/bzr/18:07
lifelesslook for 0.91 there18:07
jam-laptopsure, it is down low for bzr.0.9118:08
jam-laptopAnd the link is to ~jml/...18:08
lifelessbut the name beside it is 'bazaar developers'18:08
lifelessanyhow, fixed18:08
lifelessregistrant/auhtor split I should have said18:09
jam-laptopsure, the Author was Bazaar Developers, but the registrant was ~jml18:09
=== BasicMac is now known as BasicOSX
lifelessso jam-laptop journalled inventories, did my reply make sense?18:47
jam-laptopI think so, but I haven't fully parsed it yet18:47
lifelesscoo18:48
lifelessnDuff: did you mail me another callgrind file? I may have missed it but I didn't see one18:49
lifelessok, time for pancakes. Just because.18:52
lifelessnext stop cambridge18:52
Vantagehi, how do you revert out all changes from a specific branch/merge (older than the previous merge)?19:20
james_wVantage: you can use bzr merge.19:20
Vantageeg. if I merge files from brance a, then branch b, then branch c into my branch and commit each.  How do I later revert out the changes from branch A?19:20
james_wI'm not positive it works for merge commits though.19:21
james_wif you give the revisions "backwards" then merge will undo those changes.19:21
james_wso 'bzr merge -r4..3' will revert the changes between 3 and 4.19:21
james_wif you don't like what happens, simply bzr revert.19:22
Vantageare the revono per file or for the whole tree19:22
Vantageor how do I see the history of merges in the repo?19:23
james_wwhole tree.19:24
james_wbzr log will show you.19:24
james_wcommits that were merged in will be indented.19:24
Vantagek.  I thought that was per file, but that's good to know it's the whole tree19:24
Vantagehrmm when I do a bzr merge -r14437..14436 I get "bzr: ERROR: Requested revision: u'14437' does not exist in branch: BzrBranch5"19:26
Vantagebut those are the numbers I get from bzr log19:26
james_wtry adding a '.' at the end.19:27
james_wdoing that will make it use your current branch as the merge source.19:27
Vantageah.... :)19:27
james_wat the moment it is using the remembered merge source.19:27
Vantagethat works.  Of course this means you can't cherry pick out a previous merge, right?  Only rolling back to a previous revision?19:28
james_wsorry, I don't understand the question.19:29
VantageIf I'm at rev 10, I can go from 10 to 9 or 10 to 7, but I can't keep revisions 10 and 9, but remove 819:29
james_wif you do 'bzr diff' does it just show the changes that were introduced by that merge being reverted?19:30
james_wyes, you can, that is what this should be doing.19:30
james_w'bzr merge 9..8' should do that.19:30
Vantageoh really?  That would be really cool.  Let me try that (I was only trying new commit to older)19:30
james_w(though sometimes I get the numbers wrong)19:30
james_wremembering what the boundaries should be can be tricky.19:31
fullermdI think removing 8 would be 8..719:31
james_wsee :)19:31
jam-laptop-rX..Y is "merge the changes from Y versus X"19:32
jam-laptopso the change of 819:32
jam-laptopis against 719:32
jam-laptop-r 8..719:32
jam-laptopis correct19:32
jam-laptopjust like cherry picking revs 8, 9 and 10 is the difference from 7 - 1019:32
jam-laptopso bzr merge -r 7..1019:32
james_wthanks fullermd and jam-laptop.19:32
jam-laptopalso "bzr diff -r X..Y" should give you a preview of what it will do19:33
Vantagejam-laptop: so when you say "preview" how would you do that before you merge?  specify the other repo?19:36
jam-laptopVantage: yes19:37
Vantagejam-laptop: very cool19:37
jam-laptopJust saying that diff takes approximately the same arguments as merge19:37
jam-laptopThere may be a bug about "bzr diff -r X..Y http://remote/branch" not working19:37
jam-laptopjelmer: any comments on my patch?19:55
jelmerjam-laptop: Yes, they're coming up19:55
jam-laptop(I'm guessing if you are submitting it under your name that you like it :)19:55
jam-laptopk19:55
bosjelmer: ping19:55
jelmerjam-laptop: will send them once I finish my slot in the open week session19:55
jelmerbos: Hi19:55
bosjelmer: what does bzr-svn do when you try to push changes from a branchy bzr repo to svn?19:56
bosdoes it create temporary branches in the svn repo so all of history is preserved?19:56
jam-laptopI'm pretty sure it just pushes the mainline revs19:56
jam-laptopand just marks the others as theoretical merges19:57
bosoh, right, bzr has a mainline :-)19:57
jelmerbos: yes, it just pushes the mainline revisions19:57
jam-laptopbut jelmer would know better19:57
bosok, thanks.19:57
jam-laptopbos: long time no see19:57
jelmerbos: and ignores the merged revisions19:57
jam-laptophow are things going?19:57
bosi'm trying to decide what the hg equivalent ought to do, since we don't have a mainline.19:57
jelmerbos: when pulling changes in, they're recognized as ghosts19:57
bosjam-laptop: all's well. and yourself/19:57
bos?19:57
jelmerbos: How's hg-svn going?19:57
bosjelmer: i just started work on it.19:58
jam-laptopbos: things are going well here19:58
bosi'll probably just pick the hg branch with the most accumulated changes and push that19:58
jam-laptopdo you know how git-svn does it?19:59
jam-laptopSince they have similar ancestry as hg would19:59
bosgit-svn picks an arbitrary branch19:59
bosthe doco says "please please oh please keep your history linear", pretty much19:59
jam-laptopbos: so for hg, you don't preserve merge parent order, right? (you sort() the hashes?)19:59
boswe do preserve the order, yes.20:00
* fullermd blinks.20:00
bosthe left parent is "mine", and the right parent is "theirs".20:00
jam-laptopso when you merge, you remember which was left and which was right?20:00
jam-laptopok20:00
jam-laptopI thought I saw a sort() in the past20:00
fullermdThat sounded almost like the question was "which branch do you push", and the answer was "these are the revs in the branch we push"...20:00
jam-laptopBut that might have been something else20:00
* bos detests the svn client API20:01
jam-laptopah, it is just when you generate a child hash20:02
jam-laptopyou sort the parents first20:02
jam-laptopand then hash the set20:02
bosheh. that's probably not even worth doing, since the hash is going to depend on the order of the parents anyway.20:03
VantageHi, I did a cvs import of a project to bzr, and when I checkout/branch from one of the CVS branches, I get the knit files for the whole repository, which causes the branch to be really slow.  Is there a way to only get what's required for the branch?22:31
fullermdWell, those files _are_ what's required for the branch   :)22:39
fullermdIf you wrap a shared repository around the branches, you'll save the copying time (as well as space).22:39
Vantagefullermd: all of them?  I should just need the ones for the branch I'm checking out, right?22:39
Vantagefullermd: I end up getting 791MB worth of knits for a 200MB checkout...22:40
fullermdWell, it should only copy the revs for the branch you're making.22:40
fullermdWell, with a reasonably length history, that sounds reasonable.22:41
Vantagefullermd: it doesn't seem to.  If I look in the repo created by bzr-cvsps-import the knits are all stored together, not sorted by branches.  When I checkout I get all of them22:41
fullermdThat doesn't mean you get all the data from the kints, though.  There's a knit per file, and all the branches probably have the same files, so you'd get all the same named knits.22:42
fullermdBut I'm pretty sure you should only get the revs in each knit that apply to the given branch.22:42
Vantagefullermd: hrmm, I think your right.  The sizes don't seem to match up quite right22:44
fullermdStill a lot of history, 'course.  Using a shared repo around your branches would be a big savings cvsps-import puts all its branches in a repo together already, I think)22:44
Vantagefullermd: yeah, but you have to do lightweight checkouts, right?22:44
fullermdWow, how'd I miss the ( before cvsps-import in that line?  I must be tired...22:44
fullermdNot necessarily.  You could use lightweight checkouts, or you could use normal bzr-ish colocated working trees in the branches.22:45
Vantagenormal bzr-ish colocated working trees in the branches?22:45
Vantagefullermd: what's that?22:49
fullermdHrm.  What's your bzr experience?22:50
Vantagefullermd: just getting started :)22:50
fullermdAh, OK.  CVS background?22:51
Vantagefullermd: yup and trying to get a fairly large repo converted over22:51
Vantagefullermd: the conversion has gone fine, I'm just trying to figure out the best way for us to use it22:51
jam-laptopVantage: how big is your CVS repo22:52
Vantagefullermd: so far lightweight checkouts is the front runner, but i'm curious if there's  a way to speedup normal branching22:52
fullermd'k.  Well, let's skim over concepts quick first, then look at what you'll do with it.22:52
fullermdIn CVS you have your two pieces; your checkout, and the repo.  In bzr there are 3 pieces; your working tree (which is equivalent to the CVS checkout), the branch, and the repo (those two together roughly correspond to the CVS repo)22:53
fullermdAll 3 can be in the same place; that's what you get with a normal "bzr init"; your working tree is right there, and your branch/repo are in the .bzr dir in the root of that tree.22:53
Vantageright, took awhile, but I've got that one figured out :)22:53
Vantageright22:53
fullermdOr all 3 can be in different places, or 2 can be in one place with the third in another.22:54
fullermdWhat you have from cvsps-import should be a shared repo (with the repo in somedir/.bzr), with a set of branches in it (somedir/branch1, somedir/branch2, etc, or some slightly differing layout, but all inside somedir/)22:54
Vantageyup22:54
fullermdAnd no working trees at all (they don't _have_ to exist for bzr to have the data, any more than a CVS repo _needs_ checkouts)22:55
fullermdOf course, you need the working trees to...   y'know.  Work.  So you'll have to get 'em somewhere.22:55
fullermdYou can have them "normal bzr-fashion", colocated with the branches (that happen to be in the repo, though that's just a detail).  Or you can have them somewhere separate from the branches.22:56
fullermdTo work out how you should go, now we need to look at your particular use-cases.22:56
fullermdSo, how big is this, how many people are working on it, and what sort of physical infrastructure are you working over?  All on one box, 3 guys on the moon, etc?22:57
Vantagewell the repo size for the one module i'm testing with is 2.3GB in cvs.  We have several large modules we might be converting22:58
Vantageeach module has roughly 5-10 developers working on it22:58
Vantagethe repo is on one machine, everyone else has their own checkout sandboxes they develop in22:59
Vantageplus testing environments22:59
Vantageso shared repo with lightweight checkouts seems to fit from what I've been reading23:00
fullermdOK.  I presume you're also intending to mostly duplicate your existing CVS workflow and then phase in more distributed pieces over time, rather than try to jump whole-hog into an uber-distributed setup.23:00
Vantagefullermd: right23:01
jelmerabadger1999: Please feel free to send patches you include in the fedora packaging for bzr-gtk to the bzr-gtk mailing list23:01
fullermdLightweight checkouts would work well, as long as you're one one machine.  Across a fast LAN, they may work OK (I've not tried).  But they would be unpleasant on anything slower.23:01
jelmerabadger1999: we'd be interested in including some of them23:01
abadger1999jelmer: Cool.   Where's the bzr-gtk mailing list?23:01
abadger1999I'll sign up and start sending.23:01
jelmerthe address is bzr-gtk@lists.canonical.com23:02
jelmerdetails on https://lists.ubuntu.com/mailman/listinfo/bzr-gtk23:02
abadger1999Thanks23:02
fullermd(me, I'd use normal 'heavy' checkouts any time the branch wasn't on local disk)23:02
Vantagefullermd: more unpleasent than cvs?  The checkins are more resource intensive than the cvs ones?23:02
fullermdWell, theoretically, it could be much better.  In practice, right now, going across the network is slow and somewhat clumsy.23:03
fullermd(clumsy internally, I mean; from the outside it's all black-box)23:03
Vantagefullermd: is it bad to the point of unusable?23:03
fullermdYou wouldn't notice it on commit or update, probably.  But things like diff and log would probably be really sluggish.23:03
Vantagefullermd: now we also do feature based branching, so a lot of new branches with small changes are created.  This is where heavyweight checkouts and branching can become a problem, since these are very slow even on the local machine...23:04
fullermdWell, the [first] heavyweight checkout will be slow to initially create.  But later branches, as long as they're done in a repo, should be pretty fast.23:05
fullermdAnd later checkouts of related branches should be pretty fast in a repo too, since they'd only have to copy non-shared data.23:05
Vantagefullermd: I'm not sure I follow.  So I'd do a heavyweight checkout (slow), and then how would I make the branches within the repo?  Or is the new branch the repo?23:06
fullermdWell, this is a mental departure from CVS.  In CVS, the repo is pretty important; in bzr, it's conceptually not.23:06
jam-laptopVantage: http://bazaar-vcs.org/Tutorials/CentralizedWorkflow23:07
jam-laptopVantage: you can have a *local* "shared repository" and a centralized one23:07
fullermdA shared repo can exist or not, and the only difference generally is performance/space.23:07
fullermdRight, what jam-laptop said.  The devs would have a shared repo on their system, into which they checkout (and within which they branch).23:08
radixthe problem is that "shared repository" sounds an awful lot like a thing used to share branches between developers.23:08
fullermdThere's also a shared repo on the server, containing the branches there.  The two don't have any necessary relation to each other; it's all about the branches.23:09
Vantagefullermd: So with a shared repo and lightweight checkout I can create a new branch on the remote server (fast) and then use bzr switch on my local checkout (also fast).  With a heavyweight checkout what would be the equivelant process?23:09
jam-laptop"shared" is between branches, not between people23:10
fullermdPretty much the same.23:10
Vantagefullermd: also, when you branch into your local shared repo do these have to be manually merged back to the central shared-repo23:10
jam-laptopradix: but I agree there isn't a good term for distinguishing23:10
fullermdI think 'switch' doesn't work for heavy checkouts, so the steps there would be a bit different.  But there's no reason it _couldn't_ (and probably should).23:10
fullermdIf you _branch_ locally, that branch you created only exists locally.  So if you want it visible outside, you either need to merge it into an outside branch, or push it somewhere.23:11
fullermdHere's a common workflow I have:23:11
Vantagefullermd: right, switch doesn't, so i'm wondering what you would do instead with heavyweight checkouts.  branch from remote, branch local, commit, merge back?23:11
fullermd- Central branch on a server way out 'cross the Internet from me.23:11
fullermd- [Heavy] Checkout of that branch on my workstation.23:11
fullermd(that checkout called 'trunk' let's say)23:12
fullermd- I 'bzr branch trunk feature-x' to make a branch to work on some feature, then I go off and work in that branch for a while.23:12
fullermdSo feature-x accumulates commits for a while, independently of trunk.  That branch doesn't exist and isn't known about anywhere but on my system.23:12
fullermd(meanwhile, other people can be making commits in trunk.  Or _I_ can, for other stuff that comes up while I'm working on the feature)23:13
fullermdEventually, feature-x is done (or done enough to take live).23:13
fullermdI go into my 'trunk' checkout, do an 'update' to be sure I'm up to date (just like with CVS).23:13
fullermdThen I "bzr merge ../feature-x" to merge in my feature changes.  Check it over, resolve any conflicts, then commit.23:13
fullermdSince 'trunk' is a checkout of the main trunk, that commit then takes all those changes live and widely visible.23:13
fullermdThe feature-x branch itself has never lived or existed anywhere but on my workstation.  But after the merge, its revisions are in the trunk, so they're visible to everywhere.23:14
fullermdNow, if feature-x were going to be a longer project involving other people, I'd make the feature-x branch on the server instead of my workstation, and we'd all check it out alongside/instead of 'trunk'.23:15
Vantagefullermd: so does bzr branch trunk feature-x create another working tree?23:15
fullermdWell, it creates another branch, which may or may not have a WT with it.  In my case, it does.23:15
Vantagefullermd: and once you've merged it to the central server could someone conceivably checkout specifically that branch?  Or is only the history available?23:15
jam-laptopVantage: if the history is available, you can checkout a WT23:16
Vantagefullermd: Is there a way to do it without another working tree?  That's another appealing part of the bzr switch.  Only one copy of the working tree23:16
Vantagejam-laptop: thanks23:16
fullermdWell, somebody could _recreate_ the branch (not _quite_ entirely, but near enough)23:16
fullermdWell, you could use local lightweight checkouts, and not have WT's in your local repository.23:17
Vantagefullermd: how would you get the local repository without doing a checkout/working tree and still have commits in the local tree go back to the central server?23:18
fullermdThen you'd have (lightweight checkout) -> (local heavy checkout with no working tree) -> (remote branch you checked out)23:18
Vantagefullermd: how do you get "local heavy checkout with no working tree"?23:18
fullermdIt would take a few more commands to work with, but it's workable.23:19
fullermdI dunno if you can easily make it happen directly.  What you'd do is make the local heavy checkout the normal way, then dispose of its working tree ("bzr remove-tree").23:19
Vantageah..23:20
jam-laptop"bzr branch + bzr bind" into a repository with "no-working-trees" set23:20
fullermdI s'pose you could branch (into a non-tree repo), then bind.23:20
jam-laptopIs the easiest way23:20
jam-laptopYou could leave no-trees set23:20
jam-laptopand then just manually "bzr checkout ."23:20
fullermdThat works because as an implementation detail, a heavy checkout is actually a branch, with some extra fixins to push changes upstream.23:20
Vantageof course it's not too bad to have one extra working tree, as long as we're not keeping many working trees...23:21
fullermd(which I really wish we'd de-emphasize)23:21
fullermdAnd don't forget, you can dump working trees with remove-tree and re-create them with checkout at will.23:21
fullermdSo if you're not gonna work on a branch for a while, you can just get rid of its tree until you need it again, just like you could rm -rf the checkout of a CVS module you don't need for a while.23:22
Vantagenice23:23
Vantageok, well this gives me some stuff to play with.  Thanks for the tutorial guys!  I'm sure I'll be back with more questions later :)23:24
fullermdGaah.  CentralizedWorkflow has that evil "make ~ a repo" thing going on   :|23:25
=== fbond_ is now known as fbond

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