/srv/irclogs.ubuntu.com/2008/03/25/#bzr.txt

* Peng wanders off.00:00
igcbbl - got some errands to run00:38
jmllifeless: remind me00:45
jmllifeless: which formats are "stackable"?00:45
lifelessjml: the new ones in my loom00:45
jmloh right, 'development' and friends00:46
=== kiko is now known as kiko-afk
=== lamont` is now known as lamont
lifelessin theory, I have now removed users of VersionedFile.get_graph01:21
lifelesssome of the replacements are so obviously wrong I want to cry.01:21
jmllifeless: shallow branches are confusing me.01:22
jmllifeless: http://rafb.net/p/zleZ3572.html01:22
jmllifeless: in that example, I make a branch, push it, do a shallow branch from *that*, make some changes, then try to push it and get a fairly low level error.01:23
lifelesslets see01:24
jmllifeless: am I doing something wrong?01:24
lifelessjml: its a little hard to read; please consider passkeys01:25
lifelessbut that aside01:26
lifelesslook in sftp://localhost/tmp/server/testdoc.shallow01:26
lifelessin .bzr/branch/01:26
lifelessthere should be a stacking pointer01:26
jmlthere is no branch/ dir01:27
jmlbranch-format  branch-lock  README  repository01:27
lifelesswhat is there01:27
jmlthat's it01:27
lifelessok01:27
lifelessso, you are making a full branch from a shallow branch01:28
lifelessthis is interesting01:28
lifelesscould you try push --reference01:28
jmlam I?01:28
lifelesserm, push --shallow01:28
lifelessyes, bzr push will make a full branch01:29
jmleven if you are pushing from a shallow branch?01:29
jmlthat's interesting.01:29
lifelessthis is open for tuning01:29
lifelessfor now, --shallow is needed everywhere you want to make shallow branches01:29
lifelessas for why it is blowing up01:30
lifelessI don't know, I would appreciate a bzr blackbox test for this in the push.reference thread01:30
jmllifeless: "jml@rhino:/tmp/client/testdoc.shallow$ bzr push --shallow sftp://localhost/tmp/server/testdoc.shallow.shallow" works.01:30
jmllifeless: I can do that.01:31
lifelesslocal file paths should be enough01:31
lifelessjml: does 'bzr log sftp://localhost/tmp/server/testdoc.shallow.shallow' work ?01:32
lifelesshmm 12:30, lunchtime. bbiah01:32
jmllifeless: yep01:33
jameshlifeless: I've uploaded the bzr-dbus changes I discussed with you a while back.  There are three branches if you want to see the incremental changes.03:07
lifelessjamesh: thanks03:08
lifelessjamesh: I need to look at that soon; hopefully tomorrow I'll have enough of versionedfiles behind me to do a loom 1.3 release and bzr-dbus foo doo too03:09
lifelessspiv: around?03:09
jameshlifeless: the lan-gateway protocol is unchanged, but the dbus interfaces change a bit03:09
jamesh(mainly that the Revision signal can come from any source03:09
jameshlifeless: also, https://bugs.edge.launchpad.net/bzr-dbus/+bug/198645 makes the plugin less than useful with current branch formats03:10
jameshsince the set_rh hook isn't called for many of the interesting operations03:11
abentleyjamesh: Branch formats since dirstate-tag have not stored the revision-history on disk; they store only the revision_id and revno of the last_revision.03:14
jameshabentley: I know.  The bzr-dbus plugin hooks "set_rh" to detect branch changes, which is what that bug is about03:15
jameshit should be hooking post-commit, post-pull, etc03:15
abentleyWe could also have a hook on set_revision_info03:15
jameshthat sounds useful03:16
jameshsaves having to update the plugin every time a new way of modifying a branch is added03:16
abentleyThe bug suggests that bzr never invokes the set_rh hook, but it will on old-format branches.03:16
jameshyeah.  I should update the description03:17
lifelessjamesh: yeah, igc & spiv are working on that03:20
spivlifeless: I'm around now03:22
lifelessspiv:  how do you want hpss method deprecations done?03:22
spivlifeless: hmm03:26
lifelessindeed03:26
lifelessdid you include Warning: in your new protocol ;)03:26
spivlifeless: I did include headers, so I suppose so ;)03:27
dstanekwhy is it recommended to init-repo a branch and then inside of it create other branches?03:27
spivlifeless: that's a good idea03:27
lifelessdstanek: init-repo creates a shared repository, not a branch03:27
lifelessdstanek: specifically it creates a database that many branches can use to share their disk storage03:27
lifelessdstanek: this saves disk space and increases performance when making a new branch in a sibling diectory03:28
lifelessspiv: so thats the future. for now I have smart server methods I want to nuke03:28
dstaneklifeless: so its really all about disk space?03:29
lifelessdstanek: yup03:30
lifelessdstanek: we consider repositories to be 'storage optimisation'. there  should be no features or behaviours that require a shared repository03:30
lifelessdstanek:  if you just do 'bzr init' without having done 'bzr init-repo' you get a repository - the database - in .bzr/repository, a private one just for that branch.03:30
bob2currently also handy for checking out instead of branching rich root branches03:30
spivlifeless: at the moment, a comment in the implementation is the best we have03:30
lifelessspiv: uhm test failures03:31
lifelessspiv: no deprecation warnings are permitted by the test suite on pqm.03:31
lifelessspiv: smart server verbs call repository.get_revision_graph03:31
lifelessspiv: applyDeprecated doesn't really work here :/03:32
spivlifeless: ah, I see.03:33
lifelessso far I have thought of:03:33
spivlifeless: we perhaps need a decorated SmartServer_for_Testing?03:33
dstaneklifeless: in order to use the shared repository you create a branch in a subdirectory of the repository right?03:33
lifelessdstanek: yes03:34
spivlifeless: or more evilly, something that temporarily overrides a specific request handler to suppress warnings...03:34
spivlifeless: other ideas are welcome03:34
spivlifeless: I assume this is a method that connect be sensibly re-implemented to avoid the deprecated API?03:35
lifelessno03:37
lifelessthe method is one that is being deprecated03:37
lifelessso I have thought of:03:37
lifeless - private reimplementation03:37
lifeless - _method version which isn't deprecated03:37
lifeless - global flag which causes Request.do to catch deprecations03:38
lifelessso specificially03:40
lifelessRepository.get_revision_graph03:40
lifelessis03:40
lifelessVersionedFile.get_graph03:40
lifelesswith fillips03:40
lifelessso is beind deprecated03:40
lifelessforcing all Repositories to implement Repository._get_revision_graph is an api break03:41
lifelessdeprecations are about not breaking apis03:41
lifelessso I think I have to have an implementation on the smart server request03:41
lifelesswhich doesn't call the old one03:41
lifelessbut this still leaves open the question of how to tell clients they should upgrade03:41
lifelessbrain diarreha completed03:42
lifelessspiv: ^ any comments03:48
lifelessabentley: still up ?03:49
abentleyyep03:50
lifelessthere are two uses of get_revision_graph in log.p03:50
spivlifeless: I think telling clients to upgrade is probably something for a header in protocol v303:50
ubotuNew bug: #206330 in bzr "bzr diff --using <whatever> crashes if no commit has been made" [Undecided,New] https://launchpad.net/bugs/20633003:50
lifelessI am deprecating this function; does your patch remove either/both - should I merge it to my branch03:50
spivlifeless: otherwise if you can teach RemoteRepo to avoid the problematic smart method I guess that's enough for now.03:51
lifelessspiv: I have to fix the method for old clients03:51
lifelessspiv: I didn't consider, for a fraction of a second, using self._real03:52
spivI didn't think you did :)03:52
abentleylifeless: It's in mainline now.03:52
abentleyIt doesn't remove either one, but it moves them around.03:53
lifelessok03:53
lifelesswell I'll remove them03:53
lifelessreally need a bread first search that returns the parents data03:53
lifelessnot just the keys03:54
spivMmm, bread.03:54
lifelessgrah03:54
abentleylifeless: I can imagine that'd be useful.03:54
spiv(not meaning to pick on a typo, just musing on the tastiness of bread!)03:54
lifelessabentley: it would for some of these things 1/2 the index query count03:57
abentleylifeless: Don't let me stop you making the API more useful.03:59
lifelessabentley: oh, I won't :].03:59
lifelessabentley: cycles and roi03:59
sabdflpoolie: ping04:21
lifelesssabdfl: poolie is on leave today04:24
sabdfllifeless: do you know why bzr 1.3 isn't yet in hardy or the ppa?04:39
lifelessppa: can't say absoltelu, but I think the reason is simply that Martin (who is doing the deb maintenance now) has not had any work hours since the release: friday and monday were public holidays, and he took today as leave04:41
sabdflok04:42
lifelesshardy, I don't know anything any which way, but I can look into it04:42
sabdflthanks04:42
sabdflpretty clear we should get 1.3 in hardy04:42
lifelessfor sure04:42
lifelessI will check into it before I finish today04:43
sabdflnot sure what our policy has been w.r.t. stable release updates into gutsy, feisty, dapper04:43
lifelesswe've done backports04:43
lifelessbut not made a push for stable releases; we got some [reasonable] push back in casual converstations with distro about it04:44
lifeless(because its not broken ..)04:44
jdongsabdfl / lifeless : I offered on Friday to look into getting bzr 1.3 into Hardy, but I've been running behind schedule. It's just a matter of syncing from Debian and making sure all the plugins also get updated at the same time04:47
jameshlifeless: it is broken in the sense that the old versions can't access current branches ...04:48
lifelessjdong: awesome; do you need any help with that04:48
jdongas far as pushing bzr 1.3 into previous releases, so far we've been using Backports, as bzr's not 100% backwards-compatible plugin-wise which makes it a harder case for stable release updates04:48
jdonglifeless: I saw today that bzr-svn 0.4.9 is out which is 1.3 compatible04:48
lifelessyup04:48
jdonglifeless: I'll try to invest some time tomorrow to fill out all the paperwork :D04:49
jdongjust did my taxes today, so enough paperwork for one night :D04:49
jameshI doubt anyone wants to backport packs to bzr-0.8.2 in dapper04:49
lifelessjamesh: yeah not going to happen ;>04:49
abentleyI'm upgrading Bundle Buggy.  It will be down for a few.05:01
lifelessk05:01
abentleyBack up.05:06
abentleyNow with super-awesome new versions of SQLAlchemy and Elixir05:06
lifelessyay05:08
PengwnHi05:13
PengwnIf i don't want to log my undo to bzr should  i do "bzr revert" or "bzr uncommit"05:13
jameshabentley: you should try Storm :)05:14
jameshPengwn: "bzr revert" reverts changes in your working tree that you haven't committed yet.05:14
jamesh"bzr uncommit" is used to undo commits05:15
abentleyjamesh: Yeah, like the Python world really needs three ORMs ;-)05:15
jameshso it depends on what you want to do05:15
jameshabentley: true.  It doesn't need those other two.05:15
Pengwnjamesh: I accidently commited and it's at revision 10. I want my bzr in the state it was at revision 9.05:16
PengWhat about ORMs?05:17
Pengwnjamesh: will uncommit do it or there's some other method ?05:17
lifelessabentley: at least three05:17
lifelessabentley: ran into a new one today, 'Mother'05:17
PengPengwn: bzr uncommit erases the commit. Then you can use bzr revert to erase the changes in the working tree.05:17
Penglifeless: That makes it four.05:17
jameshPengwn: okay.  Running "bzr uncommit" will take you back to r9 with the changes from r10 sitting in your local tree.05:17
Pengwnoh thanks Peng.05:18
jameshPengwn: if you'd previously pushed r10, you will probably need to use "push --overwrite" to push the altered branch.05:18
Pengwnno push done yet.05:18
Pengwnso I can safely uncommit then revert ?05:19
jameshPengwn: yep.  If there is no other record of the commit, then there is no problem uncommitting it05:19
jameshPengwn: what "uncommit" can't do is stop people from using a revision you've previously published05:19
PengSQLAlchemy, SQLObject, Elixir, Geniusql, that Canonical one.05:19
Pengwncool. it's screams.05:19
PengStorm!05:21
PengwnJamesh: thanks, if I am the publisher admin, I guess the uncommit and revert trick will do there as well ;-)05:22
jameshPengwn: what I mean about published revisions is this kind of situation: (1) you upload your branch to a public location, (2) someone else downloads the branch, hacks on it making a few commits and uploads those changes, (3) you uncommit some revisions and publish new versions, (4) you want to merge from the second person05:24
jamesh's branch05:24
jameshPengwn: while you can remove the revision from branches you control, you can't do so from other people's05:24
jameshand if you are planning to collaborate with them, you'll probably run into the uncommitted revisions again in a merge.05:24
lifelessPeng: sqlalchemy, sqlobject, elixir, genuisql, storm, mother05:26
lifelessPeng: this is at least 3 :)05:26
Penglifeless: Haha. True.05:26
bob2and django's (maybe for small values of 'orm')05:27
Pengwnjamesh: oh ok got it. yeah that would be too late a scenario for reverting/uncommiting.05:27
PengwnJamesh: I meant maybe like within a minute i published maybe it's doable.05:27
jameshPengwn: yep.  In those sort of situations, you're better off leaving history as it was and making a new commit to fix the problem.05:27
jameshPengwn: just making sure you know the limitations on what uncommit can do :)05:27
abentleylifeless: My mistake, my patch hasn't been merged yet.05:28
lifelessabentley: ok05:28
lifelessabentley: well I've gone ahead and done the changes anyhow; I'll wear conflicts I guess05:28
abentleySorry.05:28
Pengwnyep. got that. have some cvs/clearcase admin experience :-)05:28
* nDuff wonders aloud (and off-topic'ly) why anyone would use an ORM other than SQLAlchemy for a new project.05:28
lifelessabentley: no proba05:29
lifelessnDuff: well, storm was built after looking at sqlalchemy seriously05:29
* nDuff might have to look at that one, then.05:29
abentleylifeless: It was not well-advertised then.  When it was released, it looked like it didn't have enough functionality to be useful.05:31
lifelessabentley: it may be true anyhow :>05:32
jameshlifeless: to be fair, SQLAlchemy has improved since niemeyer was using it.05:33
hazmatthe nutshell is sa is complex and does alot, and storm is simple and does just enough..05:34
jameshhazmat: that said, it does quite a lot within the problem space it covers.05:34
hazmatright.. but that definition is subjective ;-)05:35
hazmati like sa's flexibility to work with db schema constructs, a problem space storm punts on05:36
jameshyep.  Storm doesn't have anything to help you manage your SQL schema.05:37
jameshbut then the type of schema-generation-from-python-classes I've seen in things like SQLObject was useless for a long running project.05:38
tuxcantflyDo the newer versions of bzr svn-push from the bzr-svn package support Sourceforge's Subversion services? I'm using 4.7-1~gutsy1 from the gutsy-backports, with bzr 1.0-1~gutsy1 (also from gutsy-backports), and I'm getting 'bzr: ERROR: Not a branch:  "https://unetbootin.svn.sourceforge.net/svnroot/unetbootin/trunk/".' whenever I do 'bzr svn-push "https://unetbootin.svn.sourceforge.net/svnroot/unetbootin/trunk"' from my local bz05:39
lifelessjamesh: I thought sa was not capable of the multiple backend stuff storm is; which was the key thing05:40
lifelesstuxcantfly: I would have thought it would; I suggest you file a question on bzr-svn's launchpad answer tracker05:41
lifelesstuxcantfly: as jelmer, the primary author is likely asleep.05:41
jameshlifeless: to be honest, I haven't investigated the guts of SQLAlchemy particularly deeply.05:41
tuxcantflyoh sorry, I'll do that05:41
lifelesstuxcantfly: nothing to be sorry about05:41
jameshlifeless: I know that the cache integrity problems were one of the major reasons why niemeyer started working on Storm though05:42
jamesh(I believe those have been fixed in subsequent versions though)05:42
lifelessjamesh: all i'm trying to say is that it wasn't 'sa is too complex/buggy', but rather 'sa is by design not able to do the long term stuff we need'05:43
hazmatlifeless, sa can definitely handle the multiple backend stuff05:53
hazmatlifeless, i think that comment might originally been in reference to sqlobject..05:54
lifelesscould be05:56
lifelessI don't really collect ORM details :>05:56
PengDejavu too.06:01
lifelessyay, in theory, add deprecations, and done06:25
lifelesssee you all tomorrow06:25
* igc dinner08:21
ubotuNew bug: #206406 in bzr "[win32] local push finished with error message: Could not acquire lock" [Critical,Confirmed] https://launchpad.net/bugs/20640609:11
uniscriptthis is probably a daily faq but any news on bzr-svn for bzr 1.2 or later?09:15
fullermdIt's out for 1.3....09:17
uniscriptany .debs for gutsy around?09:18
datojames_w, jdong: bzr-svn 0.4.9 is in unstable, so bzr 1.3 could go into hardy if you wish09:21
james_wdato: thanks for the heads up.09:21
james_wuniscript: not yet, sorry.09:21
uniscriptlooks like it's only in hardy then09:22
datobut those debs, eg. from debian sid, will install fine on gutsy for all I know09:22
uniscriptthat was naughty pushing 1.2 to us and then breaking bzr-svn09:22
james_wnot yet either.09:22
dato("those" = bzr-svn)09:23
james_wah, there's one compatible with 1.2, yes.09:23
awilkinsjelmer: I'm having a go with bzr 1.3. / bzr-svn 0.4.9 on my "big repo" and initial impression is very favourable. It's no longer CPU-bound, for starters, so I would guess that it could be going as fast as the constraints of disk I/O will allow.09:54
ubotuNew bug: #206443 in bzr-gtk ""bzr commit-notify" should listen for Revision signals from any source" [Undecided,New] https://launchpad.net/bugs/20644309:56
ubotuNew bug: #206480 in bzr-gtk "Should monitor changes in visualized branch" [Undecided,New] https://launchpad.net/bugs/20648011:35
=== mrevell is now known as mrevell-luncheon
=== mrevell-luncheon is now known as mrevell
=== pmezard_ is now known as pmezard
=== barry-away is now known as barry
beunojames_w, howdy. Have you made any progress on the bazaar transition?14:20
james_whi beuno, I haven't I'm afraid.14:21
james_ware you back in Argentina now?14:21
beunojames_w, yes  :) :) :)   back at the office14:22
james_wdid you enjoy your holiday?14:22
beunojames_w, holiday?  I was on holiday?  I didn't know  :p14:27
beunoI did enjoy the trip very much14:27
james_w:-)14:27
james_wI thought it was a holiday14:27
beunonot as much as I would of liked14:28
=== kiko-afk is now known as kiko
thekornhi, can any moderator of the bazaar@lists.canonical.com mailinglist please moderate my mail, I sent it before subscribing14:56
james_wthekorn: is it something we can help with over IRC?14:57
thekornjames_w, no not really, i just started to think about a FUSE filesystem for bzr14:58
igcnight all14:58
james_wthekorn: ah, ok.14:58
james_wnight igc14:58
james_wthekorn: I think there was a quick hack of one around somewhere14:58
james_wheh, I was just about to point you to your own15:00
thekornjames_w, hehe15:00
=== mw|out is now known as mw
datothekorn: maybe it'd be faster just to resend it15:00
thekorndato, ok, will do15:01
ubotuNew bug: #206574 in bzr "bzr send should reject creating empty submissions" [Undecided,New] https://launchpad.net/bugs/20657415:15
ubotuNew bug: #206577 in bzr "bzr send should warn on uncommitted local changes" [Undecided,New] https://launchpad.net/bugs/20657715:15
jelmerjdong: are you still working on getting bzr 1.3 in hardy?15:22
jelmerjdong: bzr-svn 0.4.9 is now out and should be compatible15:23
jdongjelmer: yes, I plan on doing that a bit later today :)15:45
=== kiko is now known as kiko-fud
gioelehi16:58
gioelehow come bzr 1.3 is not available via PPA?16:59
abentleygioele: Best to ask poolie.  He should be awake in ~5 hours.17:00
=== mrevell is now known as mrevell-dinner
Lo-lan-doHi all.  Stupid question about bound branches...17:16
Lo-lan-doLet's assume I checkout a branch onto my laptop, then go work in a train/plane/whatever.17:16
Lo-lan-doI do a few commits, then when I come back home I want to re-bind.17:16
Lo-lan-doIs there a way not to see my commits as merges?17:18
fullermdPull or push them in.17:18
Lo-lan-do(Assuming, of course, that the upstream branch hasn't been touched in the meantime)17:18
Lo-lan-doI see.  push before update, I guess?17:19
gioelehttp://bazaar-vcs.org/Branch says «[bzr puts] the repository, branch, and working tree all in the same place. If there is no tree, it is called a "standalone branch".» But http://bazaar-vcs.org/StandaloneBranch says «Standalone branches contain two components: The RCS data and a working tree.»17:20
gioele"if there is no tree" vs "RCS and working tree"17:21
gioelewho is right: the Branch page or the StandaloneBranch page?17:21
Lo-lan-dogioele: I believe the latter, but I could be wrong.17:24
Lo-lan-doI'm still confused about the fact that there are 4 options in bzr reconfigure (I was only expecting 3, and I don't know which one I wasn't expecting)17:25
gioeleLo-lan-do: I aggree, I'd call a branch without working tree a repository branch17:25
datogioele: no, because it may not be in a repository17:25
* fullermd actually expects several more options :p17:25
datoa standalone branch is one that *contains* a repository17:25
datoif it contains a repository, it is a standalone branch, independently of whether it has a working tree or not17:26
gioelecontains a repo == .bzr/repository esists17:26
datoyes17:26
Lo-lan-dofullermd: So what's the difference between --branch and --tree there?17:26
datogioele: as opposed to "is contained in a repo"17:26
datobut if it has a tree, maybe the correct term would be "standalone tree", dunno17:27
fullermdI presume --branch turns something that isn't an isolated branch (like a checkout) into one; --tree involves the working tree.17:27
gioelebranches contained in a repo have .bzr/branch but not  .bzr/repository17:27
gioeleisn't it?17:27
Lo-lan-dogioele: Right17:28
gioelelet's write this down in my notebook :)17:29
Lo-lan-dofullermd: OK, I got it.  --branch is for a tree-less branch, --tree is standalone branch+ working tree17:30
Lo-lan-doThat could be made more explicit.17:31
gioeleLo-lan-do: patch to add this to "help reconfigure" output?17:31
gioelehttp://bazaar-vcs.org/RepositoryBranch says «This type of branch is not hackable on by users as it does not have a working tree.». This is not always true, is it?17:33
datono, it is not17:34
Lo-lan-doClose enough: the working tree is not kept up-to-date, so it'll frequently be wrong and best ignored.17:34
fullermdI don't know if --branch is for an explicitly treeless branch, or simply leaves the WT alone in whatever state it's already in.17:35
datoLo-lan-do: well, you can have your *work* branches in a repository; are they not RepositoryBranches?17:35
gioelewhat about "A branch that lives in a repository that has been created with --no-trees, will not be hackable by users as it will not have a working tree"17:35
Lo-lan-dodato: You *can*, but I wouldn't recommend that :-)17:35
fullermd"RepositoryBranch" only refers to the repo and branch; it doesn't say anything one way or another about the WT.17:35
datoLo-lan-do: uh?, why not. I do it all the time17:35
datoin a --trees repository17:36
Lo-lan-dofullermd: reconfigure --branch removes my working tree here17:36
fullermdWell, I guess that demonstrates the point about detail of documentation   :)17:36
Lo-lan-dodato: Hm.  I have a non-flat structure for my branches, so I'd rather know that a directory under the repo == a branch17:36
datohm. maybe I misinterpreted something17:37
Lo-lan-doAnyway.  Back to my original question: can I programmatically extract the bind-to branch location?17:37
datoLo-lan-do: Branch.get_bound_location afaik17:38
Lo-lan-doAehm, I was expecting a "bzr bound-location" command or so, which I could call from shell :-)17:39
datoah, that programatically17:39
datoinfo -v | grep ? :)17:39
fullermdSuck it out of info17:39
Lo-lan-doI guess I can awk bzr info17:39
fullermdDon't need -v17:40
datook17:40
Lo-lan-doHm.  But if I'm unbound, then I don't get that in bzr info.17:41
fullermdMmm.  I doubt it's UI exposed anywhere in that case.17:41
Lo-lan-dobzr info | awk -F: '/checkout of branch:/ {print $2}'17:42
Lo-lan-doActually, awk -F= '/bound_location/ {print $2}' .bzr/branch/branch.conf would be faster.17:43
Lo-lan-doAbout a hundred times faster :-)17:44
Lo-lan-do(0.004s vs. 0.5s)17:44
fullermdWell, as long as we're working on performance anyway, and you've just taken the first step toward reimplmenting bzr in awk...17:45
datofullermd: needs a test17:45
datoso half-step17:46
Lo-lan-doBut I'm glad to hear performance is being worked on.  Does that include startup time?17:46
Lo-lan-doI can live with complex rebases or merges taking some time, but half a second for a simple bzr info is a bit boring.17:47
fullermdHeck, that's nothing.  See what any command does with a cold cache and my somewhat aged disks...17:47
Lo-lan-doI know, I was just dodging the "cold cache" counter-argument :-)17:48
fullermdbzr stat (wait, wait, listen to disk heads for a while, wait, trim toenails, wait, order pizza...)17:48
Lo-lan-doAs long as you don't have time to eat the pizza :-)17:49
fullermdOh, no.  I haven't had time for the pizza since 0.13 or so.17:50
jelmerhi Lo-lan-do17:51
Lo-lan-doHi jelmer :-)17:51
jelmerLo-lan-do: Do you know what the chances are of f-spot not depending on beagle in the near future?17:51
gioeleis there a standard testsuite to run in order to test performance and spot regressions?17:51
Lo-lan-dojelmer: No idea.  You should ask diocles.17:52
abentleyLo-lan-do: --tree implies only "branch", not "standalone branch".  It's perfectly possible to have a repository tree.17:53
Lo-lan-doabentley: I'm aware of that, I was just wondering about the difference between --branch and --tree in reconfigure.17:54
Lo-lan-doIt seems --branch removes the tree, whereas --tree ensures it's there.17:54
abentleyYes.  In your earlier comment you said --tree meant standalone branch + tree, so I thought you misunderstood.17:55
Lo-lan-dogioele: bzr selftest maybe17:58
gioelewhat is the name of a working tree that lives outside a branch? Checkout? And what is the name for a working tree that lives in a branch?17:58
Lo-lan-doLightweight checkout for the first.17:58
jelmerLo-lan-do: thanks17:59
Lo-lan-doHm, bzr selftest fails some tests here.17:59
gioeleunbinded heavyweight checkout for the latter?17:59
abentleyLo-lan-do: Try running with --no-plugins.18:00
Lo-lan-doNot a checkout, since as far as I know a checkout is synonymous with a bound branch.18:00
Lo-lan-doabentley: Nah, LANG=C "fixes" it.18:00
abentleyLo-lan-do: I can have a look.18:01
Lo-lan-dohttp://paste.debian.net/51815 for instance18:01
* Lo-lan-do goes away to buy food before the shops close18:01
abentleyWhat's your locale?18:02
gioeles/unbinded/unbound/18:02
Lo-lan-dofr_FR.UTF-818:02
abentleyWe don't really have a name for the working tree inside a branch.  We just call it a working tree (but checkouts and lightweight checkouts both have working trees too).18:03
gioeleabentley: ok18:04
gioelenow http://bazaar-vcs.org/Revision: «Bazaar uses something called weaves to store revisions.» is that still true? Wasn't weaves the name of an old format?18:05
abentleyThat is very out of date.18:05
tcahttp://bazaar-vcs.org/BzrDevelopment links to http://bazaar-vcs.org/ReleaseRoadmap and say the latter is to be updated. Should I update the table listing releases? Or are there other plans for the page?18:10
gioeleanother question about revisions: «Revisions are stored in one of two places: either branches or repositories.» I read branches as .bzr/branch and repositories as .bzr/repository, am I right?18:11
fullermdI think a lot of that glossary is wildly out of date...18:14
fullermdI don't think it's been comprehensively examined since jblack put it together way back when.18:15
gioelefullermd: good, I spent last day going through it and trying to make sense of it :)18:18
=== kiko-fud is now known as kiko
=== mw is now known as mw|food
rodgehi, is there any way to push code to a branch you checked out from, and have the working tree updated without having to log into that machine and doing an update?19:03
datorodge: if bzr is installed on the remote end, the push-and-update plugin19:12
rodgeand that's the only way?19:12
rodgei'll take that as a yes since i have to go now :) thanks, i'll try that19:13
beunorodge, yeap, or mount the remote location locally19:13
rodgemmk19:14
rodgethanks19:14
beunowith samba/nfs/etc19:14
beunonp19:14
ubotuNew bug: #206728 in bzr-svn ""'NoneType' object has no attribute 'splitlines'" crash in checkout" [Undecided,New] https://launchpad.net/bugs/20672819:26
gioeleif the location a branch is pushed to is local (file://) it will rebuild the working tree, won't it?19:33
datogioele: yes19:37
gioeleok19:37
=== mw|food is now known as mw
oskudehi, im going through this http://doc.bazaar-vcs.org/bzr.dev/en/mini-tutorial/index.html (under ubuntu) but after "bzr push sftp://and.so.on" it only uploads the .bzr dir, not the files im writing... what could i check ?21:23
oskude(and .bzr dirs content)21:23
datooskude: that's expected21:24
oskudehuh? what did i miss ?21:24
bob2oskude: push only updates the working copy if it's a file:/// url (ie a local directory)21:24
oskudeoh...21:25
bob2oskude: if you want to update remote working copies, https://launchpad.net/bzr-push-and-update or 'ssh remotehost bzr update /path'21:25
oskudehmm, so if my server only has ftp for upload, i cant upload my code to it with bzr ? (sorry, i just started with version control:)21:27
bob2not with bzr21:27
oskude:(21:28
datonor with any other vcs afaik21:29
oskudedato, thanks, was just gonna ask that :)21:29
datobasically creating a remote tree requires you to have the $vcs binary on the server21:31
bob2maybe using a local branch + 'mirrordir' would work for you21:31
oskudedato, youre good!, that was going to be my second question :))21:32
oskudebob2, hmm, would that have the possibility to just to upload the "last changes" ? (or is that exactly what the $VCS on the server would do?)21:33
bob2afaict it would only upload changed files (but the whole content of them)21:34
bob2and that is what a vcs would do, yes21:34
oskudebob2, i assume with "mirrordir" you mean a tool outside bzr ?21:36
datooskude: you said you pushed with sftp. when you have sftp, you normally have shell access, though.21:37
=== asak_ is now known as asak
oskudedato, thought so too, but logging with ssh gives "Allowed commands: sftp Connection to osku.de closed." (my server is the cheapes i could find ;)21:39
datook21:39
datocheap always comes at a price :)21:39
oskudedefinetly! its like 0.25 cent per month :)21:40
oskudeis ftp capable to only upload changed files ? (if it even can recursive)21:41
datoI don't know mirror tool, but I guess it'll recurse the tree, asking the server for the mtime, and uploading that stuff whose mtime is newer in your machine21:42
oskuderoger, thanks. ill check to that. back to explore bzr :)21:43
bob2oskude: 'mirrordir' is a specific tool (that I found with apt-cache search) that seems to do precisely that21:45
oskudebob2, ah, thanks!21:47
bob2(I think:)21:47
oskudebob2, description sounds good, ill test later21:47
oskudedo you also need bzr on the server to get a "real working" branch ?21:53
oskudei mean would my "mirrordir"ed branch dir work when i "bzr branch" it from other machine ?21:54
bob2how do you mean?  people can bzr branch from the one you're pushing, yes.21:54
oskudewould this work ? : i start my code at home, "bzr it", and upload the branch dir with mirrordir to my ftp server. then at work i get that branch with "bzr branch http:/myserver/branch, "code some more", and then upload again the branch dir with mirrordir ?21:57
datooskude: I recomend that you use mirrordir for the working dir only (ie., *not* .bzr), and bzr push to push .bzr21:58
datoI'm sure mirrordir has some --exclude option21:58
datoor so21:58
oskudedato, ok, thanks. has someone done this or do all use bzr with real bzr server ?21:59
datoI'd say most people just push .bzr21:59
datoand those that need a working tree, have ssh access to the machine21:59
datothough I'm also sure there's more people in your situation I never heard about :)22:00
oskudeok, now i get it22:00
oskudeso the "real coders" are allowed to upload code and the "others" can only upload changes to existing code ?22:01
bob2I don't think many people care about having working trees with their remote branches22:02
datooskude: uh, no, not sure where you got that idea from or what you mean by it22:02
datooskude: people push to share; pushing .bzr is enough to bzr get it, so enough to share.22:02
bob2oskude: you don't need working copies to use bzr branches - people can checkout, branch, merge, etc, without it22:02
oskudei mean in this examle "real coders" would be "ssh+bzr server" and "others" would be "ftp server"22:02
bob2oskude: anyone with write access via ftp could commit code to that branch22:03
oskudebob2, ok, then i was lost. sorry.22:03
bob2oskude: nothing to be sorry for, it is all a bit confusing22:03
oskudeso why didnt this upload my code ? bzr push --create-prefix sftp://your.name@example.com/~/public_html/myproject22:03
oskude(of course with my servers attributes)22:04
bob2oskude: unless you really need to have the files checked out (e.g. people need to be able to browse the files using a web browser), you can skip all this and just use bzr22:04
bob2oskude: that should work fine, maybe sftp's weird quoting rules broke it - try sftp://blah@blah/home/blah/myproject, maybe22:05
oskudebob2, the branch dir and .bzr dir are boh created ok, and the .bzr dir content too. but the files i wrote are not uploaded, so the URI should be ok, no ?22:07
datooskude: if you bzr get http://example.com/~your.name/myproject, people will get the files22:08
datooskude: I thought bob2 and me had tried to make that clear22:08
oskudedato, didnt test that yet as i dont see the files on my server... you say they are in the .bzr dir on server ?22:09
datoyes22:09
oskudeargh...22:10
datotry wget http://example.com/~your.name/myproject/.bzr/branch-format22:10
oskudewell, i had the "crazy idea" to use bzr also to control the html files...22:10
datothen use mirrordir, as we already explained22:11
datodinner time, bbl22:11
oskudedato, yup, thanks for the help! and good infos!22:11
oskudeok, do i get this right: all my code is in the .bzr dir ? on the server (after push) and on my machine ?22:23
igcmorning22:44
james_whi igc22:45
oskudeARGH! now i got it, theres no reason to have the "actual" code file if you have all changes in VCS... how stupid from me...22:46
igchi james_w22:47
james_wigc: I've got a plan to fix the file-ids problem with the bzr.dev round trip.22:52
igcjames_w: great to hear22:52
igcis it a good one?22:52
igc:-) :-)22:53
james_wmmm, I don't know yet.22:53
james_wWe keep a file_id cache for each root node in the import, and then when we ask for a file-id from the cache we pass a list of roots that we are descendants of, and we get given the first cache hit for that list.22:54
james_wthat means that you don't get the file id of a file in another branch22:55
james_wand that we favour the left hand ancestory, which I think is right.22:55
LaserJockis there anything faster for getting a branch than a bzr checkout --lightweight ?22:59
james_wLaserJock: probably not, as that will only get the working tree.23:01
james_wwhat are you pulling?23:01
LaserJockubuntu-docs23:01
LaserJockit's always a beast but I was hoping things had improved since last time I tried23:02
LaserJockI just wanted a tmp branch23:03
bob2what is it that makes ubuntu-docs so big?  lots of images?23:03
LaserJocknot too many images I don't think23:03
LaserJocklong history, lots of files23:03
warrenWhat are the benefits of rich-root?23:04
warrenpack-0.92 seems to be the default, so wondering if I should use rich-root23:04
bob2atm, mostly "lets you use bzr-svn"23:04
warrenwhat are tree-roots?23:05
LaserJockbob2: my edubuntu-docs branch is 217MB with 211MB being .bzr/23:05
bob2tree-root = the root of the branch23:06
bob2LaserJock: wow23:06
LaserJockwe're thinking of starting our bzr branches over again23:09
LaserJockit just takes forever to branch/checkout23:09
bob2is it packed?23:09
LaserJockbut then we loose history23:09
LaserJockthat I don't know23:09
LaserJockit's imported from svn about 6 months ago or so23:09
james_wwarren: it is anticipated to make a transition to rich-root at some point, so by choosing it now you lessen the impact of that transition.23:11
LaserJockbzr info gives: Standalone tree (format: dirstate-with-subtree)23:12
bob2can you, e.g., branch bzr.dev into a rich-root repository yet?23:12
LaserJockthat's not the "latest and greatest" format is it?23:12
bob2LaserJock: no23:12
lifelessLaserJock: I would suggest not starting over; we'll have shallow branches soon23:15
LaserJockhow easy is it to upgrade formats, and would that help?23:15
LaserJocklifeless: what does "shallow" mean?23:15
lifelessLaserJock: checkout --lightweight is probably slower than 'checkout' today; because 'checkout' will stream all the data, but '--lightweight' will do many round trips23:15
lifelessLaserJock: deep history will be left on the server23:16
warrenjames_w, bzr-1.0 is good enough for that?23:16
LaserJockoh, well that's good to know :/23:16
lifelessLaserJock: checkout --lightweight on a lan, or local disk is good23:16
warrenjames_w, any performance/storage benefits of rich-root over pack-0.92?23:16
LaserJocklifeless: k23:17
LaserJocklifeless: how much slower do you think it'd be going from LP?23:17
LaserJockI could restart my checkout but not sure if it'd actually help me out23:18
LaserJockyikes, I just killed it and the dir is only 1.2 MB :/23:19
james_wwarren: 1.0 is sufficient, and I don't think there are any benefits.23:21
james_wI think there will be a few more bytes stored, but only a few.23:22
warrenI'll use pack-0.92 for now since it is the default...23:22
lifelessjames_w: I wouldn't recommend people use non default unless they have a specific reason23:22
lifelessjames_w: it won't lessen the transition as rich-roots is not what we will transition too23:23
lifelessjames_w: we'll transition to a new format that is very similar to rich roots but not the same,.23:23
james_wah, ok, sorry then.23:23
warrenlifeless, thanks23:24
lifelessjames_w: so tell me about file ids and fast import23:25
lifelessjames_w: I'm really concerned, not having read the fast import or export code, that you and Ian are smoking huge piles of toenails23:26
james_w:-)23:26
james_wit's a little dodgy (well wrong) at the moment, as it uses a global path->file-id cache, which leads to things like the concrete problem I was describing23:27
james_wthat can be solved by splitting the cache so that there is one per branch.23:27
lifelessuhm23:27
lifelesswe normally call that cache 'the basis tree inventory'23:27
james_wyeah, I'm not sure why we don't just use that.23:28
lifelessand if you have issues turning up with this; I am amazed you don't have corrupt per file graphs23:28
abentleyBecause the toenails are so flammable?23:28
james_wigc: did you decide to implement the cache rather than use the parent inventories?23:28
james_w...for a reason?23:28
lifelessback shortly23:29
james_wthe more general problem I was hinting at is that using file-ids means that we are attempting to track the user's picture of the file identities in the branch, and as the stream format doesn't provide that information we can't do that.23:30
james_wWhich means that our current code neither allows us to track the user's ideas (due to the limitations of the stream format), or help them after then fact with rename detection and the like.23:31
* LaserJock wonders what lifeless was smokin' when he told me --lightweight is probably slower ;-)23:31
LaserJockat least if these progress bars are anywhere close to comparable23:31
james_wLaserJock: do you already have a branch locally?23:31
abentleyLaserJock: What format is the branch in?23:32
LaserJockjames_w: no, that's what I'm trying to get23:32
LaserJockabentley:  bzr info gives: Standalone tree (format: dirstate-with-subtree)23:32
james_w(the less charitable interpretation of the second case would be "by training the users not to think  about file identities")23:32
abentleyLaserJock: So you're pulling from a format that's inefficient to pull from.23:33
LaserJockabentley: lucky  me :-)23:33
abentleyIf you were pulling from a more efficient format, I'd expect what he said to be true.23:34
LaserJockso, how hard is it to switch formats?23:34
abentleybzr upgrade LOCATION23:34
igcjames_w: I spoke to abentley in London about removing the need altogether for inventory caching23:34
james_wigc: inventory caching, or file-id caching?23:35
LaserJockabentley: is that something Launchpad people could do?23:35
igcjames_w: the file-id caching is there mainly because we don't want to create new file-ids for existing files ...23:35
igcit does need to be per branch though ...23:35
igcnot global as it currently is23:36
abentleyLaserJock: In theory, maybe.  But we don't want to be hostile to people using old clients, and we don't want to do it piecemeal.  (I am a Launchpad people)23:36
LaserJockabentley: I see23:36
james_wigc: yes, but couldn't you just take the file id from the parent inventory (cached or not), rather than a separate cache.23:36
LaserJockI thought maybe we could just offer like weekly tarballs of the branches23:37
james_wYou would lose identity between paths in two revisions if the path isn't present in an intermediate revision, but I don't know if that is a desirable property or not.23:37
abentleyLaserJock: have you tried the packs format yet?23:37
LaserJockabentley: no, apparently not23:38
abentleyIt's a lot more like weekly tarballs.23:38
LaserJockI'm just trying to do an initial checkout so I can do a trivial diff of a directory23:38
abentleyi.e. all the changes in a certain number of commits.23:38
bob2I think LaserJock just wants branching/checkout from lp to be faster23:38
abentleyBunched together.23:38
igcjames_w: getting the file-id from the parent inventory sounds better to me23:38
LaserJockso something that used to take me maybe 5 min is taking me a couple hours23:38
bob2the doc team could run a pack-0.92 mirror somewhere and see if that helps23:38
igcjames_w: there's no reason I know for not oding that23:39
igcs/oding/doing/23:39
james_wigc: cool, that's a much easier solution as well.23:39
abentleyLaserJock: Even if you're not using packs, are you using bzr+ssh?23:39
LaserJockabentley: I'm doing bzr checkout http://bazaar.launchpad.net/~ubuntu-core-doc/ubuntu-doc/ubuntu-hardy23:40
LaserJockI tried --lightweight before but gave up to try a regular checkout23:40
LaserJockbut well, that doesn't seem faster so I guess I'll just stick with it23:40
abentleyLaserJock: Try bzr checkout bzr+ssh://bazaar.launchpad.net/~ubuntu-core-doc/ubuntu-doc/ubuntu-hardy23:41
LaserJockok, so after 21 min. it had 39M done on the checkout23:42
LaserJockstarting over with bzr+ssh23:42
abentleyalso, what version of Bazaar do you have?23:42
LaserJockwhatever's on Hardy23:43
LaserJock1.2-1~bazaar1~hardy423:43
LaserJockI guess I'm using the PPA23:43
abentleyThat should be good, then.23:43
LaserJockI get an error23:44
LaserJockbzr: ERROR: Repository KnitPackRepository('<local dir>') is not compatible with repository  is not compatible with repository RemoteRepository (<remote URL>)23:44
LaserJocksorry, that wasn't pasted all that well23:45
LaserJockabentley: did I do something wrong?23:47
abentleyJust trying it here.23:47
LaserJockk23:47
abentleyDid the progress bar show at all for you?23:48
LaserJockno23:48
LaserJockit didn't do anything, just immediately errored out23:48
abentleyIt's going for me.23:48
LaserJockweird23:49
abentleySo you're checking out into a shared repo?23:50
LaserJockwhat do you mean by that?23:50
LaserJocknot sure exactly what that is23:50
abentleyA shared repository is a storage location for all your revisions.23:51
LaserJockI just want to get a little directory of the branch actually so I can diff it against a branch I have23:51
LaserJockbut that seems to be a big task today :-)23:51
abentleyThe problem is that you've got two incompatible formats.23:52
LaserJockbut how is that if I don't have *any* branch of it yet?23:52
abentleyI would assume it's because you have a shared repository.23:52
LaserJockI don't think I do23:52
abentleyDid the directory exist when you started checking it out?23:53
LaserJockno23:53
LaserJockI rm -rf it every time I try23:53
spiv"bzr info" should be able to tell you if there's a shared repo for the directory you're in.23:53
LaserJockbzr: ERROR: Not a branch23:54
spivI guess that's a "no", then :)23:54
LaserJockthat was my guess ;-)23:54
LaserJockhmm, so anything else I could have screwed up?23:55
abentleyWell, the problem is that this branch you're trying to check out is in the experimental 'dirstate-with-subtree' format.23:56
LaserJockexperimental?23:56
LaserJockinteresting23:56
abentleyYes.23:57
abentleyBut your local bazaar is using the default version.23:57
LaserJockit was made like 6 months ago23:57
LaserJockI wouldn't have thought it would have been experimental still :-)23:57
abentleyIt's not supposed to do that; it's supposed to imitate the remote branch's format.23:57
abentleyLaserJock: It's been experimental for about a year now.23:58
LaserJockah23:58
abentleyAnd using it is strongly discouraged.23:58
LaserJockwell, it wasn't us23:58
spivIt was a bzr-svn import, I think?  Probably it can be converted to just rich-root.23:58
LaserJockLP guys set it up23:58
LaserJockyeah, it was an svn import23:59
LaserJockI can't remember if mdke actually did the import or not23:59
LaserJockbut I remember it took around 5 days to push it23:59
spivPacks make that much better :)23:59

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