/srv/irclogs.ubuntu.com/2008/05/06/#bzr.txt

poolielifeless: i really think we need to work out what's happening with pqm runtimes?00:05
poolie:s/?//00:05
=== thumper_laptop is now known as thumper
=== mwhudson__ is now known as mwhudson
mtaylorhey all - I need some help with bzr internals...01:08
mtaylorI'm working on a post_push hook to send mail similar to a post_commit email01:08
mtaylorthe problem I'm having is getting the approrpiate starting revision to send to log.show_log and show_diff_trees01:09
lifelessmtaylor: why not adapt the email plugin ?01:09
mtaylorlifeless: I did01:09
lifelessmtaylor: I'd be happy to review patches to make it do both/be configurable01:10
mtaylorlifeless: actually - I'd love to send in the patches... although I might have diverged a bit much at this point (need to go back and break things up into patches I can send in)01:11
lifelessmtaylor: there is result.old_revid and old_revno, and result.new_revid and new_revno01:11
mtaylorlifeless: if I remember correctly the problem I started out trying to solve, if I use result.old_revno, the log is one revision short01:11
lifelessmtaylor: so x..y is half open01:13
lifeless0..1 includes 1 but not 001:13
mtayloryes01:13
mtaylorso that sent me down the trail of trying to find the -1 given 001:14
lifelessmtaylor: do you want to show 0 tho  ?01:14
mtayloryes01:14
mtaylorsince it's the first rev that is being pushed01:14
lifelessmtaylor: no, its the first rev before what is being pushed01:15
lifelessmtaylor: I think you might be seeing left-hand-history pivoting01:15
mtaylorwhat's that?01:15
lifelesssay your current master branch is ABC01:15
lifelessand your local branch is AD01:16
lifeless(D is local work)01:16
lifelessyou can't push01:16
lifelessso you merge, getting01:16
lifelessADE01:16
lifelessE is a merge of BC01:16
lifelessnow when you push to the master branch the master becomes01:16
lifelessADE01:16
mtaylorright01:16
lifelessand the old_revno == 301:16
lifelessnew_revno == 301:16
lifelessbecause the old_revno is not the old revision number of the old revid in *your branch*, its the old revno of the old revid in the untouched target01:17
mtaylorok. makes sense01:17
lifelessthis is one of the reasons that I recommend centralised branches be mutated via checkouts rather than pushing01:18
lifelessbecause checkouts help manage the workflow to avoid this01:18
lifelessthere is also a branch flag you can set to tell bzr to error if this would happen01:18
lifelessthe left hand history is privileged in a number of ways, its what log --line shows01:18
lifelessits usually the representative list of 'what a project has merged'01:19
mtaylorso what I need in this case is really a pre-push hook that gathers info in the same way as bzr send does01:19
lifelesswell, if you *want* such pivots in your workflow, yes.01:19
lifelessbut anyhow - the first thing I would do is examine your test case to see if this is what is happening01:20
mtaylorbzr push -r50 /tmp/mysqltest01:21
mtaylor bzr push -r52 /tmp/mysqltest01:21
mtaylor(I was backwards in what I said earlier)01:21
mtaylorthat produced:01:21
mtaylorbzr push into plugins tree (mtaylor:50 to 52)01:22
mtaylorof course, what I was really pushing was 51 to 5201:22
mtaylorand in the log, I get 50 as well01:22
mtaylordoing log.show_log(self.branch, lf, verbose=True,direction='reverse',start_revision=self.old_revno,end_revision=self.new_revno)01:23
lifelessso01:23
lifelesssounds like something somewhere is not treating the interval as half_open correctly01:24
mtaylorwhat I did to try to work around it was:01:25
mtaylornew_graph = self.branch.repository.get_revision_graph(self.new_revid)01:25
mtaylorstart_rev = get_parent(self.old_revid,self.new_revid,new_graph)01:25
mtaylorwhere get_parent was a recursive thing kept trying to walk the tree01:26
mtaylorbut it seems really wrong (and the function breaks on some merges)01:27
lifelessmtaylor: just add one01:28
lifelessmtaylor: the docstring says clearly that its not a half open interval01:28
=== thumper_laptop is now known as thumper
mtaylorwow. really?01:29
* mtaylor punches himself in the face01:29
lifelesspydoc bzrlib.log.show_log01:29
lifeless    start_revision01:29
lifeless        If not None, only show revisions >= start_revision01:29
lifeless    end_revision01:29
lifeless        If not None, only show revisions <= end_revision01:29
mtaylorlifeless: ok. I honestly don't know what crack I was originally smoking.01:39
mtaylorlifeless: but just adding 1 rather than trying to walk the tree sure does work perfectly01:39
mtaylorlifeless: so, have you seen the code that's in bzr-build for adding config info to the branch in a .bzr-builddeb/default.conf file?01:40
mtaylorbzr-builddeb I mean01:41
pooliehello mtaylor01:42
mtaylorhi poolie01:42
poolielifeless: thanks for the RT request, i bumped it to joey01:42
lifelessmtaylor: I haven't looked at it, no.01:51
AfCA two week release cycle?02:03
lifelessno, 1.4 was late02:05
AfC{shrug}02:05
AfCso, that doesn't change the fact that it only just come out.02:05
AfCcame*02:06
* igc lunch02:08
AfCI wouldn't dream of quibbling with "a good amount of code has landed" but you are jerking the chain of the people who do packaging02:08
poolieAfC: so the closest way to keep a precise cycle would be to do the rc1 now and have a longer lag til the release02:12
poolieis this an undue burden on packagers?02:12
Odd_BlokeAfC: I think jerking the chain of packagers is preferable to jerking the chain of users in general.  Especially as a lot of bzr packagers are within the community (or are poolie), so are aware of what's going on.02:16
AfCOdd_Bloke: true02:34
AfCOdd_Bloke: and I should also concede that at the scale of third digit minor releases (in the sense of era.major.minor even though everyone insists on calling it major.minor.whatever) people are pretty used to doing bumps with no big deal02:36
AfCpoolie, Odd_Bloke: but I have noted an enormous amount of dismay expressed by people that people writing plugins (and thence packages for those plugins) across the Bazaar space as a whole have seemed to have a hard time staying abreast.02:37
fullermdI don't feel jerked by the fairly fast release cycle.  I feel a little flailing-in-the-dark on delayed releases, though.02:37
AfCPerhaps it would be less evident if the coupling between (say) {bzr-svn, bzr-gtk} and bzr was looser.02:38
jelmerAfC: bzr-gtk isn't coupled with particular bzr releases02:38
AfCjelmer: I'm glad to hear that02:39
AfCjelmer: though I must say that I seem to have a fairly strong recollection of frequently battling "this version imcompatible with installed bzr" warnings|errors in the not too distant past02:39
jelmerAfC, That was < 1.002:40
AfCAh02:40
jelmerbzr-svn still has version warnings in place and so does bzrtools02:40
=== thumper_laptop is now known as thumper
lifelessspiv: have you any immediate thoughts on:03:15
lifelessERROR: test_add_lines_return (bzrlib.tests.test_versionedfile.TestVersionedFiles)03:15
lifelessvvvv[log from bzrlib.tests.test_versionedfile.TestVersionedFiles.test_add_lines_return(named-knit)]03:15
lifelessbzr: ERROR: [Errno 2] No such file or directory: '/tmp/testbzrrIvkG0.log'03:15
spivlifeless: huh03:16
spivlifeless: just "that shouldn't happen",03:16
spiv:)03:16
lifelessI have two things of concern here03:17
spivlifeless: well, that and I would suspect the __dict__ clearing code that bit you yesterday might again be the culprit03:17
lifelessone is is: "test_add_lines_return (bzrlib.tests.test_versionedfile.TestVersionedFiles)"03:17
lifelessthat id is the pyunit stock one, and wrong03:17
lifelessthe other is the mithing log03:17
spivWhich is pretty worrying if true, it's meant to make testing faster and easier, not harder!03:18
spivIdeally, we'd only clear tests that fail (hmm, which might be part of the reason I put it in run, you can't figure that out from tearDown/cleanup that I know of)03:19
lifelesswell03:21
lifelessI think the problem here is in the approach03:21
lifelessreporting is done from objects to a stream03:22
lifelessthe size issue you were trying to address is due to keeping objects around03:22
lifelessrather than cleaning up tests I suggest simply reporting to a stream at the time of failure03:22
lifelessthen delete the entire test object03:22
spivRight, but keeping the test cases around is potentially useful.03:22
spive.g. with a graphical runner.03:22
lifelessa graphical runner has different needs03:23
spivI don't want to fight for hypothetical cases very hard, of course.03:23
lifelesswell I'm just aying that the graphical runner can set a flag/fail to set a flag that controls this03:24
lifelessand in fact doesn't need to do either03:24
lifelessits conceptually simple:03:24
lifelessaddError reports immediate03:24
lifelessthats in the Result object, which the runner provides03:24
lifelessthe suite object deletes tests after running them03:24
lifelessso rather than for test in tests: run()03:24
lifelessits run(); del03:24
spivTwisted has a suite that does that, IIRC.03:25
lifelessa graphical test runner that wants to keep the objects just has addError keep a reference to the test object03:25
spivI suppose an alternative spelling more like what I tried is "test.run(); test.cleanThyself()"03:25
lifelessindeed; thats what I'm saying doesn't fit that well03:26
spiv(with smarts to only call cleanThyself on test objects that have that method, and only call it if the test passed...)03:26
lifelessit makes the object interface more complex, because now you need a 'clean' concept added, rather than just 'you are not needed anymore'03:26
spivI guess I'm a bit reluctant to rely on the gc here.03:26
lifelessOne useful way to think about this03:27
jameshthe twisted stuff also wants to do evil things like run a test multiple times03:27
lifelessis to consider subunit03:27
spivjamesh: evil, but useful03:27
lifelessyou can instantiate the test twice to do that03:27
lifelessthats simpler03:27
jameshspiv: a reload() type interface would be better for that03:27
spivjamesh: I've certainly wished for that feature in other runners when trying to debug intermittently failing tests03:27
lifelessspiv: so imagine all tests run under subunit - report *everything relevant* at failure time, and the object goes away.03:27
spivI don't have any disagreement with instantiating a test twice to run it twice.03:28
lifelessspiv: I really think this would be simpler and less prone to errors/race conditions03:28
spivThe only reason I see for keeping a test object around after running it is for debugging and reporting (and the reporting really ought to be all done by the time run() returns)03:28
jameshlifeless: I know you're busy, but if you have a chance to look at my bzr-dbus patches at some point it'd be appreciated03:28
spivBut it's relatively easy to accidentally hang on to objects, so rather than hoping that "del test" is releasing the last reference to the test case in the face of complicated test suite infrastructure, I thought that just resetting the test case object's state to the minimum possible would be more reliable.03:29
spivTwisted has certainly found that trying to release all references is hard to do.03:30
jameshweak references can help catch that sort of bug03:30
spivSo, I'm completely happy to remove the reference, but it just seems prone to not actually having any effect unless we're always very careful.03:31
lifelessjam: still around ?03:31
lifelessspiv: so, can we tell how many references an object has ?03:32
spivsys.getrefcount in CPython03:32
lifelessspiv: so we can write tests that the test framework is wellbehaved03:32
spivAlthough it's easy to get confused because you need a reference to it to ask how many references there are :)03:32
lifelessfor addCleanup etc03:32
lifelessand if an individual test happens to leak; so beit - its much better than leaking 11111 tests03:33
lifelessanyhow, late lunch for me03:34
jameshlifeless: it'd be clearer to do something like: ref = weakref.ref(test); del test; assert ref() is None03:38
jameshif you want to check for leaks03:38
* spiv wonders why lifeless is noticing bugs here all of a sudden03:40
* spiv -> food03:40
lifelessspiv: well, the id() one had been annoying me for a bit, but I generally had only one variant failing, when I had 6 it become important04:03
lifelessjamesh: re testing, yes, thats how to tell if its leaked; but you need to run the test framework in the middle there04:04
poolielifeless, a word in your shell-like ear?05:38
pooliespiv and i are working on finishing the smart protocol changes05:39
poolieif the server is too old to understand the new request, we'll drop the connection and restart05:39
poolieunfortunately the previous logic for understanding the response to the 'hello' rpc is wrong; the client is upset if the server says it's newer05:40
poolieas i recall you thought this was a good move when we had another similar situation05:40
poolieso it looks like we will stop sending the explicit 'hello' from new clients, and instead just see what the server says about the first command05:43
* igc pick up kids - bbiab05:43
pooliebye05:44
lifelesspoolie: uhm, I've never liked hello. If you are proposing to stop using hello's then great.06:06
lifelesspoolie: otherwise I think I don't understand your word06:06
poolieso, basically: just send a call in the latest version06:07
poolieif the server doesn't understand it, disconnect and try again06:07
pooliei think the only contentious part of this is: is it ok to drop the connection and restart if the server doesn't understand?06:08
poolieit's undesirable but avoiding it seems complex06:08
poolieso i think it's acceptable06:08
pooliehopefully this will be the last such transition06:08
lifelesswe already have the compromise of dropping the connection06:09
lifelessso I think its fine06:09
poolieright06:09
poolieme too06:09
lifelessI think it would be nice06:10
lifelessif we could figure out the ssh magic to drop the ssh channel but keep the ssh session06:10
pooliefull stop?06:10
poolieyes, spiv said that too06:10
lifelessgreats minds06:10
pooliemm06:11
pooliegiven all the different ssh situations i think that may be hard06:11
lifelesswithout more ssh protocol knowledge I have no idea06:12
poolieif we really want to avoid dropping it i think we'd do better to start by sending a command in an old encoding which old servers will understand, but give an error without losing the connection06:12
pooliewell, we use putty, paramiko, openssh and ssh.com ssh06:12
poolieand i think there is no standard way to get it...06:12
poolieit would probably be good to have some documentation about "hey you should turn this feature on" as it's generally useful06:13
lifelesspoolie: I'm not talking about master session stuff06:20
pooliei know, but it's similar, is it not?06:22
lifelessI think the underlying mechanism is reused06:25
lifelessyay, add_lines -nearly- done06:29
lifelessdeep depdency:)06:29
lifelesswell, I'm past 8 hours now, so gnight!06:30
=== vigneswaris is now known as vigneswari
=== indraveni is now known as ksp
=== ksp is now known as indraveni
* igc dinner08:28
spivpoolie: Hmm, I've hit a surprise bug, so I won't get this patch to the list until tomorrow morning.08:39
spiv(it turns out I was forgetting to send the protocol version marker string on v3 responses!)08:40
=== mark1 is now known as markh
WinterstreamI realize that this channel isn't exactly aimed at bzr-svn, but hopefully someone can help me. The problem is that bzr-svn changes SVN properties every time I do check-ins. SourceForge reports these changes and they seem to get longer every time. I don't ever do merging (I always rebase), so it seems as if bzr-svn doesn't really need the info it stores in the properties. Any idea whether bzr-svn can work without the property changes?12:00
james_wWinterstream: I don't know if bzr-svn could possibly work without them, but I don't think there is currently a way to turn it off at least.12:10
=== cprov is now known as cprov-lunch
=== mrevell is now known as mrevell-lunch
jelmerWinterstream: there's no way to do that at the moment, but please file a bug and I'll have a look at implementing it for the next release12:27
jelmerWinterstream: Not setting the properties will have to consequence that you can no longer pull from svn into the branch you pushed to12:28
=== mrevell-lunch is now known as mrevell
gabeeshello all, running Gutsy server, added the intrepid main to my sources, ran update, checked bzr and it is still showing the old version. Is any one able to give me some help with this please?12:47
RAOFgabees: By 'update' you mean 'apt-get update' or 'apt-get upgrade', or both?  (1) You need both - update then upgrade (or dist-upgrade), and (2) I hope that gutsy server doesn't need to work.13:00
RAOFgabees: Intrepid will break, and break hard, many times over the next month.13:02
Winterstreamjelmer - I figured as much. Thanks :)13:04
gabeesno look, I followed the instructions on the bzr site for upgrading it: https://launchpad.net/~bzr/+archive13:09
gabeesit says to added these intrepid repo13:09
gabeesbut the repo only contains bzr and bzr-tools13:09
gabeesI did update, and then upgrade13:09
gabeesbut it won't recognise the new version in the intrepid repo13:09
gabeeshehe13:09
gabeesi'm now trying to upgrade the entire server to hardy13:10
gabeesthat include 1.313:10
_panebis a repository usually created for each project?13:16
_panebor is there one repository for all projects (and their branches)?13:16
gabees_paneb: one repo for all13:29
fullermdDepends on who created it and what they wanted to do.13:30
_panebi will be creating it, and i just want to control several projects13:31
fullermdI tend to not mix projects in one repo.13:31
_panebwhen working "solo" do i create my repositories with trees?13:34
_panebnevermind, i understand now what --no-trees is for13:41
fullermdWell, again, it depends on what you need.  tree/no-trees is just a default; you can always create a tree on a branch without one, and remove a tree from a branch with one.13:42
_panebright13:43
fullermdSome things I tend to create branches only to use right off, so they tend to be trees.  Others a lot of branches sit around a while, so they're no-trees.13:43
fullermdAnd then there are the work styles where you use lightweight checkouts somewhere other than the repo, in which case you want no-trees.13:43
igcnight all13:53
gabeesupgraded to hardy heron now14:02
gabeesthat's got a newer version of bzr14:03
=== mw|out is now known as mw
=== hmeland_ is now known as hmeland
fbondlifeless: I'll be adding to that quilt/loom wiki page further when I can.14:21
fbondlifeless: It must be emphasized more strongly that carrying live changes in the working tree across threads (up-thread, down-thread, etc.) can be rather terrible.14:22
=== mw is now known as mw|brb
fbondlifeless: If conflicts occur, you are left in the unpleasant situation of having to extricate your valuable changes from a variety of potentially conflicting files.14:23
fbondI guess if your instinct is correct (restore from backups), things can go okay.14:23
fbondBut my instinct in the past has been to quickly move back to the thread that I came from.14:23
fbondWhich creates more conflicts. :)14:24
fbondPerhaps it would be good to refuse to switch threads when live changes are present?14:24
fbond(Or at least if arriving at destination thread will result in merges or conflicts)14:25
fbonds/merges/new merges requiring commits/14:25
bob2live = uncommited?14:26
fbondbob2: yep14:27
jamfbond: it is a design goal to allow you to switch with uncommitted changes14:28
krowstatik: ?14:28
jamso you can make a change that should be on a different thread14:29
jamrealize it14:29
jamswitch threads14:29
jamand then commit14:29
fbondjam: I'd like to believe that :)14:29
jamfbond: conflicts are probably different14:29
fbondjam: But the reality of the situation is that the user experience is a bit jarring.14:29
jamlifeless: I'll need you to create the bzr-1.5 branch when you get some pqm time. i'll try sending an email in case you miss this14:30
fbondjam: Both of those situations are an immediate headache (new merges, conflicts)14:30
fbondThe only good way I know to deal with it is `bzr shelve', `bzr switch', [resolve,commit,etc], `bzr unshelve', [carry on with life]14:30
fbondBut that requires some pretty good foresight.14:31
jamfbond: I don't have much personal experience with the loom plugin, I just follow along :)14:32
jamfbond: so what is causing the conflicts that you are trying to roll back to the earlier thread14:33
jamI'm just trying to follow a little bit closer so I might give suggestions14:33
fbondjam: I hope this is not too harsh: loom is to what it should be as git's UI is to bzr's.14:33
fbondjam: There are a few different ways conflicts can happen.14:33
fbondEach thread switch is an implicit merge.14:34
fbondIf I do:14:34
fbondbzr commit ...14:34
fbondbzr up-thread14:34
fbondI get a new merge that now needs to be committed.14:34
fbond(in the higher thread)14:34
fbondThis merge can conflict.14:34
fbondFurther, I can also have working tree conflicts.14:34
jamHow is "this merge can conflict" separate from "working tree conflicts"14:35
fbondThe merge can conflict with the branch.14:35
jamI guess I'm not understanding how the merge can conflict14:35
fbondSo you get branch-branch conflicts as well as working tree-branch conflicts.14:35
fbondThreads are nearly branches.14:36
fbondI guess in the end the conflicts are all sitting in your WT, but they originate differently.14:36
jamfbond: ok, so the files on disk get conflicted, but if you have live (uncommitted) changes they can also conflict14:36
jamfbond: I was just confused by your terms14:36
fbondjam: Sorry, I don't know bzr's internal concepts as well as you do.14:36
fbondSo I probably use bad language.14:36
jamI wouldn't claim that14:37
fbondjam: I would :)14:37
jamfbond: so the issue is that switching trees might conflict14:38
fbondAnyway, the end result is that switching threads can't be done as casually as you'd like.14:38
jamand then after that you have an implicit merge14:38
jamwhich might conflict *on top* of that14:38
fbondRight, conflicts aren't the only issue, though.14:38
fbondIf I have uncommitted changes in the WT and I switch to a higher thread, causing an implicit merge (with no conflicts) my WT now contains my new changes, but it also contains a merge that needs to be committed.14:39
fbondSo I have to extricate the changes that I was carrying around in the WT from the merge itself.14:39
jamfbond: sure, I think the "switch with uncommitted changes" is meant more for down-thread, not up-thread14:39
fbondjam: Okay, possible.14:39
jamand I see your point about difficulties14:39
jamso.... what would be my resolution14:40
fbondjam: Yeah, I like using loom, but when I forget to shelve before these critical thread switches, it's pretty frustrating.14:40
jamfbond: would it be easier if up-thread refused with uncommitted changes14:40
jamor if you could at least set a flag for that14:40
jam or require --force, etc14:40
fbondjam: Right.  You could be a little more granular and say "up-thread refuses if the switch would result in uncommitted merges and/or working tree conflicts"14:41
jamit would, unfortunately, make up-thread a bit slower, as it would have to check for changes before moving14:41
fbondBut that might not be as predictable.14:41
jamfbond: doesn't up-thread always result in an uncommitted merge14:41
krowHi!  I just had bzr puke on commit on me:14:41
krowhttp://pastie.caboo.se/19235614:41
jamI thought that was part of the design14:41
fbondjam: Nope.14:41
jamwell, I suppose it might already be merged14:41
fbondExactly.14:41
fbond(And that is more often than not)14:41
jamkrow: have you been doing something interesting with the "plugin/daemon_example" directory?14:42
jamIt is at least claiming that you have a file inside it, but the actual directory is not present14:42
jamkrow: any chance you could paste "bzr log -r -10..-1 --short --verbose" ?14:44
jamkrow: this is bug #150438, btw14:45
ubottuLaunchpad bug 150438 in bzr "AssertionError: Could not find target parent in wt in wt4 _process_entry" [High,Confirmed] https://launchpad.net/bugs/15043814:45
krowjam: Yeah... I did an rm without a bzr14:47
jamhmm... sounds like an auto-detect error14:47
jamwe detect that the directory is removed14:47
jambut don't propagate that to all the children properly.14:48
jamkrow: is this during "bzr commit "?14:48
krowjam: Yes14:48
jamkrow: so you did something like14:49
jamrm -rf plugin/daemon_example14:49
jambzr commit -m 'xxxx'14:49
jamand it blows up like this?14:49
jamor you did that a while ago14:49
jamand now it is complaining14:49
krowjam: Dd the rm and then did the commit14:49
krowjam: Currently stuck at the commit... :*14:50
krowjam: Currently stuck at the commit... :(14:50
krowjam: http://pastie.caboo.se/192357  That is from the command you asked me to run14:50
jamkrow: you've been doing a lot of housekeeping :)14:50
krowjam: Yes :)14:51
krowjam: So thoughts on how to get out of this?14:51
jamkrow: well, there are certainly ways to reset things14:51
jamI'm not sure what is best righ tnow14:52
jamis the only change removing some directories14:52
jam(aka easily redone)14:52
jamor is there more complex stuff14:52
jamkrow: for example, you could do14:52
jamcd ..14:52
jambzr checkout --lightweight plugin alt_plugin14:53
jamrm plugin/.bzr/checkout14:53
jammv alt_plugin/.bzr/checkout plugin/checkout14:53
jamkrow: don't do it until we've sorted things out, though14:53
jamthat will reset bazaar into thinking you haven't done anything to your tree14:53
jamSo simple changes like removing directories should be fine14:53
krowjam: Ok...14:53
jamas should modified files, etc14:54
jamrenames will be lost14:54
jambut you can use "bzr move --after"14:54
jamkrow: I would *really* like to understand how it got into this situation, thoguh14:54
krowjam: All there is, is modified files and rm'ed stuff. No moving.14:55
krowjam: I can save a copy of the tree.14:55
jamkrow: if you could, that would be nice14:55
jammy concern is that it was the steps leading up to this that caused the problem14:55
jamand a post-mortem isn't going to reveal the secrets14:55
jambut it is better than nothing14:55
=== mw|brb is now known as mw
jamfbond: it is pretty easy to detect if we would need to merge, would that UI suit you?14:56
jamfbond: just to finish the conversation :)14:56
jsledI'm trying to make sure I understand something about bzr history and merging.  In a situation with multiple developers having a centralized/remote shared repo (bzr+ssh access) and each having local shared repos with a branch from the remote trunk … is <http://paste.lisp.org/display/60340> accurate?14:59
jsledI might be wrong on the version numbering in the merge commit.  It probably makes more sense if the two developers both branch from (and "share") commit 1.15:00
beunojsled, looks exactly like what I'm using  :)15:00
krowjam: Well, this thing is 596M tarred/compressed15:00
krowjam: Is there a way to permanently snip history?15:00
beunojsled, is there a specific concern for this workflow, or are you just making sure?15:01
jamkrow: well, you could rm .bzr/repository/packs/...15:01
jamI'm mostly interested in the WT15:01
jamalso, a 'make clean' or equivalent is usually good15:01
jsledbeuno:15:01
krowjam: Problem:15:01
jamso I'm not getting .o files15:01
krow[brian@localhost plugin]$ bzr checkout --lightweight plugin alt_plugin15:01
krowbzr: ERROR: Not a branch: "/home/brian/Other/mysql-6.0-brian/plugin/plugin/".15:01
jsleder.  beuno: It's wicked confusing, as the revision numbers keep jumping around.15:02
jamkrow: did you miss the "cd .." ?15:02
jsledAs well, trying to use the revision number as a build number becomes impossible.15:02
jsledIt makes the history really hard to search for changes.15:02
jamjsled: there is a recommended workflow which gets around that15:02
fbondjam: Yes, I'd be happier with the UI if it didn't help me shoot myself in the foot.15:02
krowjam: Is the command from the root of the repository, or from outside of it?15:03
jamand a flag you can set so that the second 'bzr push' won't let the mainline revno jump around15:03
jamkrow: you have "$repo/plugin" right?15:03
jamwhere "plugin" is the branch?15:03
jamso you want to be above the branch15:03
jsledjam: I've love to hear/read about it.  I've thought baout trying to encourage the use of "rebase", but the workflow is already pretty complicated.15:03
jamso that you can do "bzr co --lightweight a_branch other_branch"15:03
jamjsled: so, #1 is to use a checkout for your mainline, which people then merge into and "bzr commit" to update the tip15:04
jamlet me check #2 real quick15:04
jam#2 "echo 'append_revisions_only = True' >> .bzr/branch/branch.conf15:04
vigneswarihello all...15:04
beunojsled, rebase is stronly disencouraged as it breaks history, and leaves branches unmergeable15:05
vigneswariwe have one distro based on debian15:05
beunojam, do you know what adding appen_revisions_only does?15:05
vigneswariplanned to maintain source using bzr15:05
jambeuno: if it would change your mainline revisions it refuses the push15:05
krowjam: http://pastie.caboo.se/19236615:05
beunojam, does it force #1 or similar, or just create new revs instead of subrevs?15:06
vigneswaricurrently we have the bzr repo in local machine and our team is using locally using ssh authentication15:06
beunojam, ah, that's what I thought, thanks  :)15:06
jsledbeuno: breaks history?  To be clear, by "rebase" I mean the process of moving a sequence of commits to the tip after each pull … basically so there are no merge commits.15:06
vigneswaribut i dont know how to make it public15:06
jamkrow: interesting.... I think I know why, but trying to figure it out for a second15:06
vigneswaribzr+ssh is better or ftp?15:07
jamkrow: I believe what is happening is that "bzr checkout" is trying to copy files from your source checkout, and failing15:07
vigneswariwant to know hoe to configure this15:07
jamkrow: so we need to tell it that there isn't actually a checkout there15:07
jamkrow: so do "mv mysql-6.0-brian/.bzr/checkout mysql-6.0-brian/.bzr/checkout-old"15:07
vigneswariplz someone help me to do this15:07
jamkrow: and then try the same "checkout --lightweight"15:07
vigneswariany suggestions?15:07
jamkrow: and then you should be able to mv 'alt/.bzr/checkout mysql-6.0-brian/.bzr/checkout'15:08
beunojsled, yes, I understand. But rebase removes many references, so it makes it impossible to use continuosly15:09
bob2vigneswari: you can make it publically available just by letting anonymous users have read only access via ftp or http15:09
beunovigneswari, bzr+ssh is much faster as it uses the bzr smart server15:09
beunovigneswari, if you want to make it public, http is probably the best way to go15:09
bob2really?  at least bzr:// was slower for some operations.15:10
vigneswaribob2, beuno , readonly? if they want to edit the source and to contribute..15:10
beunovigneswari, well, bzr+ssh is fine then15:10
bob2vigneswari: then give them ssh access so they can use bzr+ssh or sftp15:10
jsledbeuno: Just curious, what sort of references?   Or does it get into bzr internals?  I mean, abstractly, one could create a diff for each commit, uncommit+revert them, pull, then re-apply the merges + commits in sequence.  I'm not sure what references would be lost.15:11
vigneswaribob2, any doc for using sftp?15:11
beunobob2, well, there are some things to fix with the smart server so it's faster in every operation. But i think in general, it's faster15:11
bob2vigneswari: same way they would use sftp for anything else - it doesn't require any special bzr-specific configuration15:11
jamfbond: bug #22733915:12
ubottuLaunchpad bug 227339 in bzr-loom "up-thread should refuse if it would co-mingle changes" [Undecided,New] https://launchpad.net/bugs/22733915:12
fbondjam: thanks15:12
beunojsled, I really don't know many specifics. I believe mainly what was merged from where, thus, making it impossible for people merging in changes done in different points of the timeline15:12
vigneswaribob2, is it adviceable to give write permission to others...15:13
jsledfbond: hey. :)15:13
jambeuno, bob2: bzr+ssh is generally much faster than sftp, atm it is on par with http, but getting better15:13
fbondjsled: Hi :)15:13
bob2vigneswari: sorry, I don't understand the question...15:13
fullermdIt's much slower than http for write operations.  Writes over http get done real quick   :p15:13
beunojam, I recall a few discussions during the sprint where the smart server was slower than http, was that solved?  I know it's always faster than sftp15:13
jamjsled: the big difference with "rebase" is that you don't actually record that you merged the other person's changes15:13
beunofullermd, lol15:14
bob2hey I think the http cgi write thing does work nowadays15:14
jambeuno: I don't believe it has all been solved15:14
jamit is something spiv is working on15:14
jsledjam: those numbered points from earlier … are they from a particular list (a FAQ that I should have searched for first, maybe? :)15:14
vigneswaribob2, that means ssh authentication to whoever wants..15:15
jamjsled: I don't think "append_revisions_only" is well documented, it only seems to be exposed via "bzr init"15:15
fbondjsled: In bzr, revisions are a tree snapshot (although they may not be stored as such) and a parent revision.  Rebase rewrites history, thus destroying historical correlation with branches whose parent revision is in the rebased branch. (Somebody correct me if I'm wrong)15:15
jamjsled: the workflow is: http://bazaar-vcs.org/Workflows?highlight=%28workflow%29#head-ca3ccf73574776b36453b2213789731549e5416715:15
jamBut that doc doesn't get into enough detail about *why* you would want that way15:15
krowjam: Thanks! I believe that got me working again.15:15
bob2vigneswari: don't give people ssh access unless you want them to be able to modify your bzr repository15:15
jamIt just says it exists15:15
bob2vigneswari: you can make it available, read-only, via ftp, http, bzr://, etc15:16
beunovigneswari, you could use something like bundlebuggy if you want something intermediate15:16
beunoand work with patches15:16
beunoalthough it might be an overkill15:16
vigneswaribob2, thanks15:17
jamjsled: http://doc.bazaar-vcs.org/bzr.dev/en/user-guide/index.html#decentralized-with-shared-mainline15:17
Lo-lan-doHi there15:17
jamis the same thing in a different document15:17
jamand is the more "canonical" location for that documentation15:17
bob2boomtish15:17
Lo-lan-doIs there a simple way to know from a heavy checkout whether I'm missing some revisions from the master branch?15:18
bob2bzr missing?15:18
jamkrow: also, bzr 1.4 has been released, any chance you could upgrade to it?15:19
Lo-lan-dobob2: That will get me the revisions I'm missing from the parent branch, which is not necessarily the master branch.15:19
bob2ah15:19
jamLo-lan-do: well 'bzr missing http://path/to/maste/branch" will15:20
jsledjam: Is it me, but is there a `bzr push` missing from that workflow, though?  I mean, a) that's very similar to the workflow we have, and b) I don't see how one can issue a commit to a remote branch.15:20
jambut certainly is a bit to type15:20
jamjsled: the checkout15:20
Lo-lan-dojam: Yeah, hence my request for a "simple" way :-)15:20
jamdoes the push for you15:20
jsledjam: What checkout?15:20
krowjam: I tend to stick to whatever the distribution provides (though sometimes I will use the python (forget the name of it) tool to upgrade python bits)15:20
jamkrow: you are probably thinking "easy_setup/easy_install"15:21
jamkrow: what distribution are you on? Hardy or debian15:21
Lo-lan-dojam: Could there be a new revisionspec for that?  Like "bzr missing -rmaster:"?15:21
jam(since you have 1.3.1)15:21
krowjam: FC :)15:21
jamLo-lan-do: I suppose it could, if 'missing' took a revision id15:21
Lo-lan-doAh, yeah, I'm confused.15:22
jamkrow: hm.... I wonder why they have an rc1 as their official version15:22
krowjam: Who knows... RH has shipped alphas as well.15:22
Lo-lan-doMaybe a "bzr update --mising" then?15:22
jamLo-lan-do: well, 'bzr status' could also check if this is a bound branch and if the remote tip == this tip15:23
jamit already does it for normal checkouts15:23
Lo-lan-door --show-missing, or something15:23
jamjsled: let me put up a patch to the document, which might help you understand a bit more15:23
jamjsled: I might as well get it written down15:23
fbondjam: #227339 doesn't cover the case where there are no new pending merges, but there are plain WT conflicts.15:23
fbondShall I create a new bug to cover that case?15:24
jambug #22733915:24
ubottuLaunchpad bug 227339 in bzr-loom "up-thread should refuse if it would co-mingle changes" [Undecided,New] https://launchpad.net/bugs/22733915:24
fbondOr piggy back on that one?15:24
jsledjam: That'd be awesome.  I just don't see a "bzr checkout" in that section, is all. :/15:24
jamfbond: feel free to post that as well15:24
jamthey *might* be different issues15:24
jamconflicts would be considered an uncommitted change15:25
fbondjam: They are obviously related, but are different cases (although they can overlap).15:25
fbondjam: I'll create a new bug.15:25
jamfbond: you can always say "see also bug #227339" in your comment, so people can easily jump between them15:25
ubottuLaunchpad bug 227339 in bzr-loom "up-thread should refuse if it would co-mingle changes" [Undecided,New] https://launchpad.net/bugs/22733915:25
jamjsled: does this clarify it a bit: http://pastie.caboo.se/19238415:29
jsledjam: it does, for the example.15:32
fbondjam: bug #22733915:35
ubottuLaunchpad bug 227339 in bzr-loom "up-thread should refuse if it would co-mingle changes" [Undecided,New] https://launchpad.net/bugs/22733915:35
fbondjam: eh, I mean bug #22734915:35
ubottuLaunchpad bug 227349 in bzr-loom "Should refuse to switch threads if doing so would cause a WT conflict" [Undecided,New] https://launchpad.net/bugs/22734915:36
jamfbond: I'm not sure that refusing to switch because of a conflict is the correct solution15:37
jambecause you will always get conflicts when people change similar parts of code15:37
fbondjam: I guess I make a distinction between what I call "branch conflicts" and "working tree conflicts"15:38
jamfbond: I'll clarify on the bug15:38
fbondjam: thanks15:38
fbond(to be clear: I say "WT conflict" when I mean "a conflict between an uncomitted change and the branch")15:39
fbondjam: BTW, I'm open to suggestions WRT wording :)15:39
jamfbond: wouldn't this be handled by bug #227339?15:40
ubottuLaunchpad bug 227339 in bzr-loom "up-thread should refuse if it would co-mingle changes" [Undecided,New] https://launchpad.net/bugs/22733915:40
jamfbond: because you can't switch if it is going to merge and you have uncommitted changse15:40
jamthus it can't conflict15:40
fbondjam: No, I'm not talking about a situation where there are uncommitted merges.15:41
fbondjam: Here's the scenario:15:41
fbondI'm in thread A15:41
fbondI make some changes to source files.15:41
fbondI switch to thread B.15:41
fbondMy current WT can conflict with the previously committed state of thread B.15:41
fbondThus, a WT conflict arises.15:41
fbond(And there are no pending merges)15:42
jamfbond: ok, I think I follow15:42
_panebwhen working with the SVN-style repository layout (http://doc.bazaar-vcs.org/latest/en/user-guide/index.html#choosing-a-shared-repository-layout), day-to-day work is performed on the feature branches, and then once a feature is ready to be commited, the feature-branch is merged with trunk?15:44
jamfbond: ok, check the updated text on bug #227339, let me know if it captures your ide15:46
jamidea15:46
ubottuLaunchpad bug 227339 in bzr-loom "up-thread should refuse if it would co-mingle changes" [Undecided,New] https://launchpad.net/bugs/22733915:46
jamFor the example I was able to put together15:46
jamI have to say, you sort of have to handle that conflict in that situation15:47
jamso i'd like to have another example that would make it more obvious that you don't want to switch15:47
jam_paneb: the feature is merged *into* trunk15:47
_panebok15:47
fbondjam: Well, switching threads is typically done pretty casually.15:48
jam_paneb: generally you only merge trunk => feature_branch if there is something potentially conflicting, etc being done by trunk15:48
_panebi used the wrong word :)15:48
_panebi meant branch => trunk15:48
fbondjam: Sometimes, I pass through one thread on my way to another (I guess I could use bzr switch...)15:48
jamfbond:  I think it still has to go through the intermediate threads15:48
_paneband while the feature is not quite complete yet, it is only committed to the feature-branch, right?15:48
jamfbond: anyway, it would be nice to have a clearer example of why this is necessary15:48
jam_paneb: correct15:49
jam(for some values of incomplete)15:49
_panebnon-working15:49
jam_paneb: having worked on projects with distributed development, you still want to merge your changes in fairly often to avoid drift15:49
jam_paneb: but yes, while your branch is not at a point it can be used, you leave it in the feature branch15:50
_panebright ok15:50
jammy point is more about project management15:50
jamhaving someone work for 2 years on their own branch before merging15:50
jamis not recommended :)15:50
_panebheh indeed15:50
fbondjam: Hmm.  Your example is correct, but you seem to be marginalizing the issue :)15:51
jamfbond: I felt the example was marginal, which is why I asked for a better example15:51
fbondjam: For me atleast, it is not uncommon to carry uncommitted changes around in my loom for a fair bit while I sort out which changes should be committed where.15:51
fbondjam: In other words, I occasionally go wild implementing features/fixes and then sort out after the fact where those should actually be committed.15:52
jamfbond: your organizational issues are up to you :)15:52
jamI don't use looms, and instead rely on 200+ feature branches15:52
jamso when I get an unrelated change15:52
jamit tends to be15:52
jamcd ..15:52
fbondjam: Well, sometimes I start out looking at one thing and find other things that should be tweaked.15:52
jambzr branch feature_foo bugfix_bar15:52
jamcd bugfix_bar15:52
fbondjam: Yeah, I considered using many branches instead of loom.15:52
jambzr merge --uncommitted ../feature_foo15:53
fbondjam: I guess this is why some people have pushed for faster git-style switch ...15:53
fbondjam: Anyway, so assume that I might end up collecting several different changes in my WT simultaenously and then look for places to commit them afterwards.15:54
fbondjam: Surely, you can see how I might carry a good size diff around the loom for a while, and in my frequent loom commands, every now and again I get an undesired WT conflict.15:54
fbondjam: That conflict could have been avoided in some circumstances.15:55
fbondjam: If loom says "won't merge as it would cause a WT conflict"15:55
fbondI'll skip over that thread and switch directly to the thread where I want to merge the conflicting change.15:55
fbondThen I only have to resolve necessary conflicts, and never have to resolve conflicts just to regain mobility on the loom.15:55
fbondjam: Is my expectation unreasonable?15:56
jamfbond: I think you are using "loom" as a replacement for git-style branches15:58
jamwhich it is *not* intended fro15:58
jamfor15:58
jamit is meant as building up a series of patches15:58
jamI can't say we have a great answer for multiple non-related branches15:58
jamin the same WT15:58
jamI believe that was discussed at the last sprint15:58
_paneband when i first start working on a new feature, i create the new branch and push it to the central location?15:59
jam_paneb: your choice as to whether you push it or not, depends on whether you want it visible to others15:59
jamwhile you are working on it16:00
fbondjam: Well, my intention is rarely to create a cluster-f****d working tree.  Rather, I set out to create a sane series of patches, but sometimes I end up with scattered changes that need homes.16:00
_panebjam, ok16:00
jamfbond: and I think that is reasonable, I think an answer is to make it easier to do that sort of thing as unrelated branches with switch, etc.16:00
jamI don't honestly know how switch works with looms16:01
jammy understanding is that it would have to 'up-thread/down-thread' between all of them16:01
jambut maybe it allows you to jump directly16:01
fbondjam: it does16:01
fbondjam: I'm editing the bug description to cover this situation.16:06
jamfbond: see the followuup on #22734916:06
jamfbond: you might look at it before you change the description16:06
colophonIs there a way to have files ignored in some branches but not others which share the same repository. I have a project that includes some sample data that shouldn't be updated during the normal course of development but I would like to have it versioned16:07
jamcolophon: well, each branch has its own .bzrigore16:07
jamthough when you merge the changes to other files, it will pull along the .bzrignore files16:07
jam*howeve816:07
jam*however*16:07
jamif you have a file versioned, we don't pay attention to the ignore file16:08
jamso you could have all branches claim that the files are ignored16:08
jamand they just happen to be versioned in the one tree16:08
jamcolophon: though it sounds like you may be asking for them to be versioned, but changes ignored in the other branches16:08
jamwhich isn't something we support yet16:08
colophonOK, I'll try to figure out how to split everything into two then16:09
colophonThanks16:09
fbondjam: oops :)16:09
fbondjam: I'll fix it.16:10
fbondjam: Foo, launchpad doesn't seem to track intermediate changes to the description...?16:11
fbondAh, I have it in an e-mail.16:11
jamfbond: I think it might, but i'm don't believe it exposes it16:12
fbondjam: bug #22734916:14
ubottuLaunchpad bug 227349 in bzr-loom "Should refuse to switch threads if doing so would cause a WT conflict" [Undecided,New] https://launchpad.net/bugs/22734916:14
fbondMy comment is mostly superfluous.16:14
jamfbond: seems reasonable16:15
=== cprov-lunch is now known as cprov
arjhi17:44
arjI have two branches, one which is head and one that is stable. Mostly stable is == head, unless in release mode, in which, stable cherry picks patches from head. Now a release I want to sync these two branches again, but merging in stable from head creates conflicts. Why doesn't this just work? There was no changes to stable, other than the cherry picked patches17:46
VadiHow can I find out what revision is a branch at? I looked around the commands list but none report it17:54
LeoNerdbzr revno17:55
VadiThank you!17:55
fullermdarj: Because of the cherrypicks.17:56
arjfullermd: but that doesn't make sense17:57
fullermdSense?  This is the Internet!17:57
arjsay I have 10 revisions in head. Stable is rev 4. I cherry pick 6 and 717:58
arjthen I do, merge with head later17:58
fullermdCherrypicks don't bring along any metadata; it's roughly equivalent to a diff | patch.  So bzr doesn't know you cherrypicked anything; it's indistinguishable from making the changes manually.17:58
arjso it should just unroll 6 and 7 and do a full update17:58
arjoh :(17:59
arjthat sucks, when will it be fixed? :)17:59
fullermdNot soon, I expect.  It's a Moderately Hard Problem.17:59
fullermdAFAIK, the only systems that properly handle it are those like darcs, which tracks sets of patches rather than series of states.18:00
arjgetting the full range of situations right might be moderately hard. But the case I just mentioned should be rather easy. And I don't this is a quite common case.18:01
arjs/don't/think/18:01
arjthe problem is that I have already mirrored the stable branch somewhere. So what is the easiest way to fix my stable branch?18:02
fullermdWell, if you have one small block of contiguous cherrypicks, it's not TOO hard.18:02
fullermdYou can merge up to the rev before the cherrypicks, commit, merge the revs you cherrypicked, revert [since you already have the changes] and commit (which records the revs in your history), then merge the rest.18:03
fullermd(the same mechanism could work for bunches of noncontiguous cherrypicks, of course, but it gets REAL annoying quickly)18:03
fullermdOr you could just manually resolve the conflicts.  If they're small, that can be quicker.18:04
arjhmm18:04
arjmaybe a wrapper around bzr would be easier in the future18:04
fullermdI guess a third option would be to merge all the changes, and use revert to force the files to the way they are in the last rev of head.18:04
fullermdIf you don't have any local changes in stable, that's probably the simplest.18:04
fullermd(or you do have local changes, but don't want to keep them)18:05
arjhow do I do the last force thingy?18:05
fullermdLook up the revid of that rev in head, do the merge, then `bzr revert -rrevid:whateveritwas .` (in the root dir of the branch)18:05
fullermdYou need the '.', otherwise revert will throw away the merge info.18:05
fullermdThis way it just forces all the files to how they are in that rev, and blows away conflict stuff.18:06
arjhmm18:07
arjit seems like it looks for the revid in stable18:07
arjbzr: ERROR: Requested revision: u'revid:1608' does not exist in branch: BzrBranch5('file:///home/arj/bzr/mms-1.1.0-stable/')18:07
fullermdNo, you want the revid (em@ail.addr-2008046235lbzehl or whatever), not the revno.18:07
arj1608 is the revision of head I merged18:07
fullermdSee `bzr revision-info`, or `bzr log --show-ids`18:08
fullermdThe revision number will be different in stable than it is in head.  And it won't have any revno in stable until after you've committed.18:08
fullermdBut it should be accessible by the revid any time it's in the repo, which is is after you do the 'merge' even before you commit.18:09
arjah that works18:09
arjthanks a lot!18:09
dacresnihey, does the bzr smart server have permissions?18:10
MattCampbellWhen using the bzr smart server over SSH (the only method I'm familiar with), it runs under whatever Unix account you tell bzr to log into via SSH.  So it's subject to Unix file permissions.18:14
dacresniwhat about if windows users are loging into it?18:15
MattCampbellIs the server itself running Unix or Windows?18:15
dacresniwindows18:15
MattCampbellHmm, I'll have to let someone else answer.18:15
dacresnik18:15
fullermdThe system itself provides no permission management or control at all (excepting that it may be run in read-only or read-write mode).18:17
fullermdSo whatever limitations are provided by the OS environment around it are what you have.18:17
dacresniso i must use http auth on that directory on IIS18:17
dacresni?18:18
dacresni(i wonder if mercurial can do better)18:18
fullermdWell, if you're working over ssh, http auth doesn't come into play.18:18
dacresnibut if I don't want to isntall ssh on the server,18:18
fullermdBut if you're using the HTTP smart server, yeah, whatever auth Apache provides is what you're running with.18:19
dacresniIIS18:19
fullermdAnd whatever permissions/restrictions are applied to CGI scripts are the limits of what you can do post-auth.18:19
dacresnipost-auth?18:19
fullermd"Can I access this" vs. "What can I do once allowed to access"18:21
dacresniah18:21
fullermdHTTP auth provides authentication.  OS permissions (unix perms, ACL's, chroot's, blah blah blah) determine authorization.18:21
dacresniah, ok that helps18:21
MattCampbellMy suggestion, if you must run the server on a Windows box, would be to set up Linux of some kind in a VM on that box, maybe using VMware Server (free of charge), and use bzr+ssh inside the VM.18:22
fullermdNow, over a dumb server (plain HTTP), you can use the web server config to manage [some] authorization too.18:22
fullermdBut with the smart server, every request shows up as a POST to a specific URL, so you can't get any finer-grained.18:22
dacresniAH, Neat18:23
nysinI maintain a modification to a program which switched from svn to bzr and now I'm left with a near-copy of that repository (I have both bzr and svn forms around, since I did a repository conversion on my end too) with its own revision history. I could (1) sacrifice that history, start fresh with a bzr branch/get/etc clone of the main repository, generate a big patch (or multiple little patches corresponding to the history wi18:23
nysinth synthetic timestamps? eh.) representing the entire delta, apply it to the new clone, and continue on and take advantage of bzr's merging abilities. Or (2) basically do bzr diff's on changes to remote repository and give up lots of good things, but keep revision history. Is this accurate and am I missing something?18:23
fullermdYou may be able to use rebase to automate doing (1) but keeping the individual commits/timestamps/etc.18:24
nysinhm18:25
* fullermd wanders off.18:25
dacresnifullermd: sweet! everyone here that writes for the web has windows domain access to the webserver18:26
VadiThere's a typo in the bzr user guide (http://doc.bazaar-vcs.org/latest/en/user-guide/index.html), it says "Linix" near the bottom.18:42
_panebbzr merge the.main.branch: does this merge the.main.branch into my local branch?19:11
arjyes19:13
_panebthen i would do commit to update the.main.branch?19:30
arjyou merge19:30
lukswhat do you mean by 'to update'?19:31
arjand if you're happy with the merge, you commit in your local branch19:31
_panebok, suppose there is a main branch somewhere. i created a checkout from it and added some changes. then i want to commit those changes to the main branch19:32
luksthen you just commit19:33
awilkinsYes, checkouts are bound to their parent branch19:34
_panebah yea right19:34
_panebnow, if i weren't using a checkout, how would it go? i would have to merge the main branch into my local one and then push the local one?19:35
lukscommit and then push19:35
_panebok19:35
lukscommit+push in a standalone branch is basically the same as commit in a checkout19:35
_panebok19:36
luksyou only need to merge if the main branch has changed since you branched it19:36
luksand in that case, 'bzr push' would complain19:36
_panebah19:37
_panebthank you19:37
pborafter a rebase, how can I turn all my locally committed changesets in a single changeset?20:16
MattCampbellWhat's the recommended way to install a recent version of bzr on Debian Etch?20:29
MattCampbellIf I create branches from several existing directories, can I later combine those into a single branch containing those directories?20:55
fullermdYes.20:55
MattCampbellSo I suppose if I'm not sure about how to organize files and directories under version control, I should start off with several small branches and then combine later if that seems better.20:58
fullermdYeah.  Combining them is easier than splitting them up [without losing history].20:59
=== samurai_ is now known as samurai
=== bla2451 is now known as pygi
pooliehello all23:47
beunomornin' poolie23:47
igcmorning all23:52
igcmorning beuno23:52
beunomornin' igc23:54
PengSo it seems going to the bzr+http smart server in a browser, doing a GET, returns a 404. I wish I had known that before23:58
PengI spent ten minutes figuring out why it was broken, when I just wasn't accessing it right. :P23:59
PengHow'd I hit Enter in the middle of that? Shift, I guess.23:59

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