/srv/irclogs.ubuntu.com/2011/05/12/#bzr.txt

=== Ursinha-afk is now known as Ursinha
=== cinerama_ is now known as cinerama
vilahello jelmer , hello all07:42
fullermdShoot, I'm demoted to 'all'?   :(07:47
vilahehe, you were part of all in 'hi all' already :) Since you ask me to introduce some variety I do my best at a time where my caffeine / blood ratio is still low...07:53
fullermdThere are many problems in the world caused by having too much blood in one's coffeestream...07:54
fullermdStill, it's not THAT hard to rig up an IV, really.07:55
vila4 ?07:55
fullermdAs in 'intravenous'.07:56
vilaha, IntraVenous ?07:56
vila:)07:56
jammorning vila07:56
vilahey jam !07:56
vilajam: so, about your config need,07:57
vilanothing forbids getting the option value once and pass it down to your objects07:57
jelmer_'morning vila :)07:57
vila(if you're still worried about accessing the *file*)07:58
jelmer_hi fullermd, Riddell_07:58
vilajelmer_: nice shot, the avatar (Ridell no _) died ;)07:59
jelmer_:)08:00
=== med_out is now known as medberry
jamvila: so I don't know if you noticed what I said, which is that one of the ways GroupCompress objects are created is from _LazyContentManager, which can be instantiated by a NetworkRecordStream. None of which is directly coupled to a Repository.08:03
jamanyway, I think I can make it work08:03
jamRight now, I'm working on actually implementing the functionality *based* on the config item, so I have some time to think about it still08:04
vilajam: there are two cases there I think08:04
vilaif it's connected to the repo, get it from there08:04
vilaif it's not there are again two cases :)08:04
vilaif it should end up in a repo, you probably know it ahead, so connect it08:04
vilaotherwise, either fallback to the global config or use a default value08:05
pooliehi everyone08:23
vilafullermd: he really meant fullermd *and* everyone ;)08:24
vilahey poolie08:24
=== rvba_ is now known as rvba
fullermdOh good.  My ego was in danger of shrinking for a minute there.  And then what would hold up the clouds?08:25
vilaHerakles ?08:26
fullermdPfft.  Pretender.08:27
jamvila: I'm pretty sure Atlas was the one holding up the world, Herakles was just a strong-man08:28
vilajam: indeed, but Atlas asked Herakles to replace him for a while (and went party-ing for an unreasonable period and then Herakles wasn't wery happy about that...)08:30
jamwas he a waskaly wabbit?08:30
jam:)08:30
fullermdWell, Atlas managed to get whole lines of gym equipment named after him, so by some measures he come out ahead, anyway...08:38
bignoseand some pretty awesome books.08:39
bignoseand a now-defunct rocket launcher program.08:40
fullermdYeah.  And what did Heracles get?  A crappy TV show...08:40
fullermdIt just doesn't pay to hold planets for your friends.08:40
bignosesage advice, I'm sure that will save people some time.08:41
fullermd's why I share my genius like this.  I'm a giver.08:41
vilayeah, once again competition is bitten by collaboration ;)08:42
fullermdGood choice for a Greek day, as I'm already sitting here listening to _Atalanta_   :p08:45
vila:)08:52
vilajam: quick check about our locking model:09:20
vilabranches/wt are write-locked for the duration of the whole operation but repos are only write-locked around the pack-names modifications09:21
vilacorrect ?09:21
vilaoperation == bzr command09:21
vilawell ~=, you see what I mean or feel free to be more precise ;)09:22
jamvila: physically locked, yes09:22
vilais there some hidden meaning to physically I may be missing ?09:22
jamso when you do Object.lock_write(), Branches and WT change the state on disk09:22
jamRepository does not09:22
vilayup09:22
jamRepository only holds the on-disk lock for the time to update pack-names09:23
vilamy question was: only one operation can get the lock09:23
jamvila: right. It doesn't make sense to allow 2 people to push to a branch concurrently, since both would want to change the branch poitner.09:23
vilasure09:23
jamarguably some branch operations could be done in parallel, but it was never worth doing09:24
jam(like setting a branch.conf entry vs updating branch's tip pointer)09:24
vilawhat I'm after is: can I rely on the object lock to assume that the corresponding config file doesn't need an additional lock09:24
vilathis works for branch/wt but is still unclear for repos09:24
jamvila: doesn't work for repos, but they don't currently have a config09:25
vilaindeed ;)09:25
jamalso, we don't *want* to block Repo for config settings (most likely)09:25
* vila nods09:25
jamwe *want* repo to be multi-writer as much as possible09:25
* vila nods09:25
jamso that you can have 100 branches that get updates without blocking the repository09:25
jamI don't know how that works with config09:25
vilawell09:25
vilathere is no repo option today09:26
vilaso there is no repo option that a bzr operation want to set09:26
vilabut we can imagine repo options that could be set directly via bzr config or by editing the file09:27
vilaso as long as the config file is never left in an inconsistent state by bzr itself, we always get a valid config file leaving only the issue that bzr can get an out-of-date option value (which is acceptable)09:28
vilaneglecting user errors while editing the file that is (which is addressed differently anyway)09:29
=== joey is now known as canonical
=== canonical is now known as joey
=== hunger_ is now known as hunger
jelmerspiv, hi10:44
spivjelmer: hola10:49
jelmerspiv: I'm looking at adding a limit argument to Branch.fetch but I'm wondering what the most appropriate way is to do so10:49
jelmerspiv, in particular, would it be better to pass the limit argument down as part of the fetch_spec or rather as a separate argument down to InterRepository.fetch() ?10:49
spivHmm, limit meaning what here?10:50
spivIf it means "no more than N ancestors of these tips", then I think that's a kind of fetch_spec.10:51
jelmeryep, just a rough way of limiting the data transferred10:51
jamhey spiv, on late?10:52
spiv(If you don't mind walking the history up front you can already do that via an appropriate SearchResult fetch_spec)10:52
spivjam: yeah, a bit.  V just went to bed.10:52
spivSnoring like a proverbial baby :)10:52
jelmer:)10:52
jelmerspiv, that makes sense, I'll add it to the fetch_spec. Thanks :)10:52
spivjelmer: so basically yes, I think this is something fetch_spec ought to do10:53
spivI have a ugly patch atm that adds a new fetch spec (to make "bzr branch --stacked" from remote when it's about to build a working tree) much better.10:54
spivTransfers 1/3 the bytes in 1/2 the round-trips.10:55
spivSo I'm definitely in favour of adding fetch_specs :)10:56
jelmerthat sounds nice :)10:56
spivBasically it's a fetch spec for "the whole revision, i.e. inventory and all referenced texts (and chks)", which is the data that has to be retrieved to build a working tree if you have no data to start with.10:57
spivWe really should make get_stream_for_missing_keys not need VFS calls though10:58
spiv(Possibly in part by sending more of those keys in the stream in the first place!)10:58
chriscauserHello everyone11:13
chriscauserI'm having a spot of bother with my bzr-svn11:13
chriscauserI'm 2.4 daily on ubuntu and when I push I get this11:13
chriscauserhttp://paste.ubuntu.com/606456/11:13
jelmerchriscauser, hi11:13
chriscauserIt worked yesterday so I suspect it may have something to do with the update I installed this morning11:14
jelmerchriscauser, what sort of bzr / bzr-svn are you running?11:15
chriscauserjelmer: Sorry, I thought it was in the crash report. bzr is 2.4.0dev311:16
chriscauserbzr-svn is 1.1.0~bzr3688~ppa376~lucid111:16
jelmerchriscauser, you need a newer version of bzr-svn too if you're running a bzr snapshot11:17
jelmerare you running both from the daily PPA?11:17
chriscauseryes11:17
chriscauserAs far as I'm aware, there's nothing out of the ordinary on this box11:18
chriscauser(other than a daily PPA ;) )11:18
jelmerlooks like the bzr-svn package in the PPA needs fixing11:20
chriscauserjelmer: Thanks11:21
jelmerchriscauser, should be fixed now, but it'll take up to 24 hours for the package to rebuilt11:27
jelmer*rebuild11:27
chriscauserjelmer: Thanks a lot. What would you recommend I do in the meantime (11:27
chriscauserpin the version or download the tar?)11:28
chriscauseror just sit and wait :)11:28
chriscauser?11:28
jelmerchriscauser: there is no tarball to download, as you're running a nightly build :)11:28
jelmerchriscauser: you can grab lp:bzr-svn though11:29
chriscauserjelmer: Duh, now why didn't I think of that!11:29
jelmerspiv: still there?11:30
jelmerspiv: I'm trying to figure out how to integrate this with SearchResult11:30
spivjelmer: I probably wouldn't change SearchResult.  This sounds like it'd be a new search or search result.11:31
jelmerspiv: Where would you put it instead, FetchSpecFactory.make_fetch_spec() ?11:34
jamjelmer: the other thing to consider between you and spiv, is how "wide" the result should be11:36
chriscauserjelmer: Thank you so much. The latest revision works absolutely fine now.11:36
jamspecifically, for "shallow" branches, you want to have all texts, even if they aren't part of the delta for a given rev11:37
jelmerchriscauser: np, thanks for making me aware it's broken11:37
jamhowever, for regular fetch + some ancestors, do you want all texts or not?11:37
jelmerjam: The use case for this is the incremental fetches that Launchpad does for imports (but would also apply for mirrors)11:37
jamjelmer: how is that different from just requesting a fetch at N and reporting back that you have N-1000 ?11:38
jam(though it sounds like you don't want the 'fully-wide' content)11:38
jelmerjam: we want more than just the mainline so N-1000 is too rough11:39
jamjelmer: but don't you have text discovery already?11:39
jelmerjam: also, it's imposibble to determine what N-1000 is for e.g. Git or Mercurial repositories11:39
jam_walk_to_to_common_revisions11:39
jamsort of thing11:39
jelmerjam: that's server driven11:40
jamjelmer: I don't understand why you want N - (100 old ancestors) without wanting evertyhing you don't have11:40
jelmerjam: I do want everything I don't have, I just don't want all of it now11:41
jamjelmer: but surely you want older stuff first11:41
jelmerjam: ah, yes11:41
jelmerjam: of course11:41
jamjelmer: the search you were proposing was "give me the newest 100 revisions" not "give me the oldest 100 revisions that I don't have"11:41
jamI understand why you want the latter, but that isn't easily constructed from a tip11:42
jamalso, how would you pass that to something like git ?11:42
jamI thought it could only fetch everything from the tips it has11:42
jam(it reports to you)11:42
spivjelmer: Perhaps make_fetch_spec() would sometimes use this new fetch spec, but that seems like a largely orthogonal issue11:42
jelmerjam: yes, it can only give you everything but bzr-git can limit the amount it fetches to the bzr repository11:43
jamjelmer: by staging it?11:43
jelmerjam: importing the git pack file to bzr is fairly slow (getting better, but not ideal yet)11:44
jelmerjam: refetching the pack each time at the moment11:44
jamjelmer: so it gets the full ancestry stream, and then strips it?11:44
jelmeryeah11:44
spivjelmer: AIUI the issue you're tackling is you have some code that would like to call "source.fetch(fetch_spec=<something>)", and needs to be able to have a <something> that means "limited to <some limit>"11:44
jelmerjam: It's not ideal, but this is what already happens on the Launchpad importds atm11:44
spivjelmer: so the questions are a) what object is <something>, and b) how do you make one?11:45
jamjelmer: what *I* would like to see, even for bzr-core, is the ability for a fetch stream to say "you should have a complete snapshot up to rev X, feel free to commit it"11:45
jamwe can already interleave Revisions then inventories, then texts, then send more revisions (IIRC)11:46
jamit would be nice to have revs, invs, texts, COMMIT, revs, invs, texts11:46
jamthat would also allow resumable "bzr branch"11:46
jelmerjam: that'd be nice11:46
jamand possibly make it cheaper to compute fetch streams11:47
spivjelmer: one approach is "class MostRecentNRevsNotAlreadyInTarget(AbstractSearch): def __init__(self, n, target_repo): …" that just does a regular breadth-first walk in its .execute() and so returns a regular SearchResult11:47
jamin that the streaming code could find what needs to be sent, but then break it up to commitable chunks11:47
jamand then it doesn't have to look at all 5Million chk pages across all 100k revisions11:47
jelmerjam: it's different from this though - the fetch limit goal is mainly there to avoid resource issues11:47
spivjelmer: another approach is define a new SearchResult (rather than a new Search), along the lines of PendingAncestryResult11:47
jamspiv: jelmer and I just realized that he wants OldestNRevsNotAlreadyInTarget()11:48
jamwhich is quite different11:48
jelmerspiv: Sorry for being vague - I'm after the oldest revs rather than the newest11:48
jelmeror what jam said :)11:48
spivjelmer: ah, interesting.11:48
spivI could imagine something like OldestNRevsOfPendingAncestryResult11:49
spivWhere you specify not just the heads you want, but the heads you've already got11:50
spivNormally we don't like calculating heads for the target because it's not cheap11:50
spivBut if you've just grabbed a OldestNRevsOfPendingAncestryResult stream you can keep track of the heads so far as you receive them.11:51
jelmerspiv, ah, hmm11:52
jamspiv: true, and you could also use an existing branch target as a Head to seed11:52
spivIt's a bit rough on the stream source (i.e. the server), it will have to keep walking back from the current tip all the way back to your heads each round.11:52
jamright now fetch is missing Branch <=> Branch info11:52
jamas it tends to just be done at the Repo level. I would *like* to at least hint at target heads.11:52
spivBut that's perhaps just the price someone has to pay for breaking the work up into chunks.11:52
jamThough we'de need to do something with that.11:52
spivYeah, having more info about the target heads available there would be good.11:53
jelmerlunchtime here, I'll have a closer look at it this afternoon11:55
mrevellHello/nick mrevell-lunch13:00
mrevellOops13:01
=== mrevell is now known as mrevell-lunch
=== mrevell-lunch is now known as mrevell
=== vila is now known as vila-afk
=== vila-afk is now known as vila
=== Ursinha is now known as Ursinha-afk
bugreporterhi everybody15:09
bugreporterany experts here ?15:10
bugreporterqor non-experts ?15:10
bugreporterwel ...15:11
bugreporteri'd like to know what "pending merge tips" are15:11
bugreporteri believe the reason why they are in my directory is that .......15:12
bugreporterthe directory is a checkout from a local branch which is a "branch" of a public branch15:13
bugreporterand i wanted to merge the branch updates with my local changes but accidentally did a pull15:13
bugreporternow my locally commited changes disappeared from the log but they are still in the files15:14
bugreporterbzr diff shows all of them in one diff ...15:15
bugreporter... bzr status -v shows all the commit messages15:15
bugreporternow another more important question:15:15
vila...15:21
vilahis commits are still there but he is not anymore so he can't know...15:21
vilabugreport: were you called bugreporter a few minutes ago15:24
vila?15:24
bugreport... all   ...    dädädä  ...15:24
bugreportyes15:24
bugreport.... merge tips15:24
bugreportsorry15:24
bugreportdo you know anything about merge tips, villa15:25
bugreport?15:25
vila(more personalized nicks are available and easier to recognize ;)15:25
vilayes15:25
vilawhen you do a merge, 'bzr status' reports the tip of the branch you merged so you can keep track of where you are15:26
vilayou triggered a merge when you did the pull in your checkout15:26
bugreport"the tip of the branch I merged " ... yes ...15:26
bugreportwhat i fail to understand is why my commits are not in bzr log output15:27
vilaso your previous commits were merged, you still need to commit to finish the merge15:27
vilabecause they are pending15:27
bugreportaaaah ... ok ... but ...15:28
vilathey will appear after you commit15:28
vilawell,15:28
bugreportnow when i do a merge, they will be "condensed" ...15:28
vilano15:28
vilaor15:28
bugreportno ? .....15:28
vilawell, really no15:28
vilabut by default bzr log will only report the merge15:28
vilado 'bzr log --include-merges' to see them15:29
bugreportand where will the commit message of the merge commit show up and where the others ...15:29
bugreportthanks15:29
bugreportok ... think i just got the answer from you15:29
vilathere all there, one level down15:29
vilathey are all...15:29
bugreporthave to read about include-merges ...15:30
vilayeah, try 'bzr log --help'15:30
bugreport~ shows all revisions, also those not in the mainline ...15:31
bugreportwhich means bzr pull also made the "remote" the mainline ...15:31
bugreportsort of15:31
bugreportcan i make my local changes "mainline" again ?15:31
bugreport(and how ?)15:32
vilaif you're sharing the remote branch with others, you don't want to do that15:32
bugreporti don't have  write access to remote15:32
vilawell, unless you can convince them that's you're the boss and they just have to listen ;)15:32
bugreportam just trying to get my local branch ready to publish on launchpad15:33
bugreportremote is on savannah.gnu.org15:33
bugreporti think i could publish my stuff on launchpad ... ? can i ?15:33
vilasure15:33
bugreport:-) you have any suggestions on how i should proceed with that from here ...15:34
vilahmm15:35
bugreporti would finally do something like "bzr push lp:~bugreport-mailinator/grub/sector-ranges" ... or can i just publish to "+junk" ??15:35
vilabetter to publish in the project namespace15:35
vilaif only because you will be able to do a merge proposal against the project trunk15:36
vilahmm15:36
bugreportdo have write access there (default / without any further actions ...15:36
vilaas long as savannah and lp agree about what the trunk is15:36
bugreporti thought it's savannah but am not sure ...15:36
bugreportthey differ quiet a bit ... anyway ... in terms of bzr commands ... how to get my local changes branch to be "mainline" again here on my laptop ?15:37
vilahttps://code.launchpad.net/~vcs-imports/grub/main seems to say that it's a mirror from gnu.org so that should be in sync15:38
vilaback to your goal:15:38
vilayou can:15:38
bugreport(by "differ" i mean, there are commits inn launchpad/ubuntu which are not in the trunk on savannah )15:39
vilaif you commit now, that will create a revisions whose parents will be (savanah tip, your last commit)15:40
vilawhat you want is (your last commit, savannah tip)15:40
bugreportexactly ....  got me15:40
vilahmm,15:40
bugreport:-) difficult enough ?15:40
vilathe shortest way that comes to mind is to recreate a branch with a tip at your last commit15:41
vilaand merge savannah branch there, commit and you'll get the right pattern15:41
vilanow, to get back your tip...15:41
vilayou can just commit and see what revno you get there :)15:42
vilathere are other ways but this one is the simplest for you I think15:42
bugreporthmm...15:42
bugreportlets commit ...15:42
bugreportit's +1 from before ...15:43
bugreportso savannah-trunk+115:43
vilalook at 'bzr log --include-merges' now15:43
bugreport+10 from my old tip15:44
vilayup, commit always create a +1 revno by definition15:44
vilaforget about the numbering of your old tip, you broke it15:44
bugreportold tip commitsss all have the same revno15:44
bugreport:-)15:44
vilathey shouldn't, are you sure you used --include-merges ?15:45
vilaif in doubt, just pastebin the output15:45
vila!paste15:45
ubot5For posting multi-line texts into the channel, please use http://paste.ubuntu.com | To post !screenshots use http://imagebin.org/?page=add | !pastebinit to paste directly from command line | Make sure you give us the URL for your paste - see also the channel topic.15:45
bugreportall right ... but i can switch branches and have the old commits seperate ... ? (if not it doesn matter much ... nothing interresting in the commit messages ... all just "wip" but out of interrest ...15:46
bugreporthttp://paste.ubuntu.com/606520/15:46
vilayes you can (unless I totally misunderstood what happened)15:47
vilaright, so they don't have the same revno: 3245.1.1 is different from 3245.1.215:47
bugreport:-) didn't read the output before ...15:47
vilato get back your old branch just do:15:47
vilabzr branch . -r3245.1.27 ../my-dear-old-branch15:48
vilaand, yeah, I'm sure the people you'll share this branch with will be more than happy to find commit messages providing a bit more info than wip ;-D15:49
bugreportcool ... wroked15:49
bugreporti have to write some ... and condense some commits ... make around 5-10 out of those ...15:50
bugreport:-) ... you helped me a lot already ! thank you! ..15:50
bugreport.. anyway if you know how to write nice commit messages onto those changes and reorganize them ... ??15:51
bugreport"git rebase -i" ...15:51
vilahaaaaa... that's why it's so popular !15:52
bugreportvery likely15:52
vilathere is 'bzr shelve --interactive' I think15:52
bugreportok ... sounds good15:53
bugreportnot in my version though ...15:53
bugreport(natty 2.3.1)15:54
vilabut shelve works for uncommitted changes, so you'll have to get them back first15:54
bugreport(at leas not in help output ...15:54
vilaerr, wth15:54
bugreport:-) pull ?15:54
vilahmm, no cherry pick instead probably15:56
vilai.e. start with a branch from savannah and there do:15:57
bugreportgoogling for "git rebase bzr" leads me to a plugin ... bzr-rewrite"15:57
vilayup, but I don't think there is an --interactive option there, does it ?15:57
bugreporthttp://marcin.juszkiewicz.com.pl/2010/10/06/bazaar-what-is-wrong-with-it/15:58
bugreportno idea ...15:58
jelmer--interactive is imho not really appropriate on the rebase command, as it's a general way to reshape the revision graph15:58
vilabzr merge ../my-dear-old-branch -r<first-rev>..<last-interesting-rev>15:58
bugreportgo ahead with the cherry-pick solution ... sounds reasonable15:58
jelmerI'm happy to have another command in bzr-rewrite that does a similar thing though15:58
vilajelmer: Did I dream the shelve --interactive ?15:59
awilkinsvila, shelve is interactive by default, no?15:59
vilabugreport: bzr diff will show your changes, bzr st will allow you to verify that there is no pending merges, you're just getting the changes without tracking the history16:00
vilaawilkins: dunno, I always use --all16:00
vilaawilkins: because I can't use the interactive mode under emacs (where I have alternative workflows that work better for me)16:00
vilabugreport: so once you have the uncommitted changes, try 'bzr shelve' and follow the prompts ;)16:01
jelmervila: there is a bzr-interactive plugin that allows interactive shelving I think16:02
bugreporti was about to check out ("merge") a fresh savannah trunk and the do "bzr merge ../my-dear-old-branch -r<first-rev>..<last-interesting-rev>" repetingly ... ??16:02
vilajelmer: haaaa, thanks, bugreport ^16:02
vilabugreport: you create a branch once, you repeat the merge ; hack;shelve;commit;unshelve;16:03
bugreportups --- i meant ("branch") of course ...16:03
jelmervila: it does a completely different thing from "git rebase -i" though16:05
vilabugreport: branch and checkout are two different things but if the checkout led you to the trap, you may prefer branch and come back to checkout later (bzr reconfigure can help switch from one to the other)16:07
bugreportwell ... i will approach the task later on  ....16:07
bugreporti branched / not chekout actually ...16:08
bugreporti was just not aware that pull would do a different kind of merge then merge ...16:08
vilabugreport: or you may just push your branch to lp, not everybody cares about the intermediate commits16:08
vilabugreport: pull should warn you to use merge if it can't pull in a branch16:09
bugreportyea ...16:09
vilabugreport: checkouts are different16:09
bugreportok - have to go - see you ...16:09
bugreportand thanks again16:09
vilabugreport: they are targeted at people used to the centralized workflow where the local changes don't show up on the mainline16:09
bugreporthmmmm ....16:10
bugreporti kind of dont like that "compatibility" in bzr16:10
vilabugreport: just use plain branches then16:10
* awilkins likes "lightweight" checkouts used to approximate gits co-located branches thing16:11
vilabugreport: I suspect you *did* use a checkout to end up in this "mess"16:11
vilaawilkins: please :) Don't add confusion ;)16:11
bugreportdistriibuted is a new paradigm which is not really hard to get and you should switch when using a dscm16:11
vilabugreport: not everybody has the luxury to do that16:12
vilabugreport: *I* never use checkouts, but I don't forbid others to ;)16:12
bugreporti have a shared repo on top and "savanna-trunk" and "my-branch" inside ...16:12
vilabugreport: perfect setup :016:12
bugreportshared repo created with "bzr init-something ..."16:12
vilainit-repo16:13
bugreport:-) good to know it's approved16:13
vilahehe16:13
bugreportcu then ... bye16:13
vilawe want to make it easier to get it as the default one16:13
vilacu16:13
chriscauser_Hello all again. Sorry to pester (and I hope this is a quick one) but I don't know how to use bzr+svn with keyring auth for http simple. Is there a verbose flag that would tell me what it's trying on the auth front?17:12
jelmerchriscauser_, hi17:13
jelmerchriscauser_, GNOME keyring?>17:13
chriscauser_jelmer: yes indeed.17:13
jelmerchriscauser_, bzr can only use existing keyring credentials, it won't add new credentials to keyrings at the moment17:14
chriscauser_jelmer: Ah, this might be it. It seems to checkout the repo just fine in svn though.17:15
chriscauser_(as in I have put the credentials in the keyring already by doing an svn checkout)17:15
jelmerchriscauser_: it should in any case prompt you, even if it can't already find the crednetials17:16
jelmeralso, I can't spell17:16
chriscauser_jelmer: don't worry. I'm explaining it very badly. My problem is more of an annoyance than anything else. Any remote  operation requires me to enter a password. svn checkout works fine because the pw is cached in the keyring. Is there a way of getting the same behaviour?17:18
chriscauser_jelmer: It used to work when I had the pw stored in plaintext in ~/.subversion (obviously not ideal)17:18
jelmerchriscauser_: I'm not sure17:19
jelmerchriscauser_: If you can use svn with the keyring credentials then that obviously means that the credentials are there and valid17:19
jelmerso I'm not sure why the keyring integration in bzr-gtk is not working properly17:19
chriscauser_jelmer: Is there a debug that I can run?17:20
jelmerchriscauser_, it's been a while since I've worked on the keyring stuff17:20
jelmerchriscauser_, I'd recommend adding some pdb statements in the code in bzr-gtk to see what entry it is looking at17:20
jelmerand then comparing that with what the gnome-keyring-manager thinks is present17:20
chriscauser_jelmer: OK. I'll get back to you on this.17:23
chriscauser_jelmer: I think I have it. svn seems to be storing the credentials in the keychain differently to how bzr-svn is expecting to read it.17:53
chriscauser_I have got it working, and can give you a patch if you want17:53
chriscauser_The only problem is I don't know if it is because subversion has changed the way it stores things (I'm on Lucid) so I may break things for other people17:53
Buttons840i have *.pyc in my ignore file, but pyc files still show in subdirectories?17:56
Buttons840do i do */*.pyc or something?17:56
jelmerchriscauser_: I don't think it has - a patch would be great :)17:57
Buttons840is bzr written entirely in python?17:58
chriscauser_jelmer: I'm forking bzr-svn and will create a merge proposal for you if that's OK with you.18:02
jelmerchriscauser_: You mean bzr-gtk?18:02
jelmerButtons840: Do you mean whether "bzr status" shows them?18:02
chriscauser_jelmer: Yes, you're clearly psychic because you understand what I mean, not what I write :)18:03
jelmerchriscauser_: :)18:04
=== deryck is now known as deryck[lunch]
Buttons840jelmer: yes, but i solved it, i put "**/*.pyc" in .bzrignore18:07
vilaButtons840: that;s weird because  I have '*.py[co]' in my ~/.bazaar/ignore and I *never* see any .pyc...18:15
chriscauser_Buttons840: I may be corrected on this but if these pyc files are already versioned, they will continue to be after the .bzrignore file has them included. Are these files versioned?18:16
jelmerchriscauser_: yeah, that's correct18:17
chriscauser_jelmer: I'm hitting a brick road with this patch. I think the problem is that the changes I make will stop auth for bzr over https. As I can tell, there is no way that bzr-gtk can see if the auth request is for an svn repo or a bzr one :$18:19
chriscauser_cd18:19
chriscauser_Duh, wrong window18:20
jelmerchriscauser_: should it have to know whether it is for a svn or a bzr repository?18:20
jelmerchriscauser_: Can you perhaps show the patch so far?18:20
chriscauser_jelmer: No, I think that's the problem. bzr (I assume because I have no way of testing it) stores creds in a particular format. svn stores it in another.18:21
jelmerchriscauser_: In what way are they different?18:22
jelmerI think it might be reasonable to adjust the way in which bzr-gtk retrieves the credentials if that matches something that is more commonly used18:22
jelmerI doubt there are a lot of people actually using it yet (since we don't actively store credentials), and the bug you've hit is something that more people have complained about18:22
chriscauser_lp:~chy-causer/bzr-gtk/fix-svn-keyring18:23
jelmerhmm, it stores domain as realm?18:25
jelmerthe other way around I mean18:26
chriscauser_indeed18:26
jelmerI wonder what things like epiphany use18:26
chriscauser_jelmer: That would be interesting.18:28
jelmerchriscauser_: http://live.gnome.org/GnomeKeyring/StoringPasswords18:29
jelmerchriscauser_: So, according to the documentation "domain" is actually the appropriate thing to use18:29
jelmerchriscauser_: So we should probably be setting that unconditionally, rather than special casing http/https18:30
chriscauser_jelmer: Very interesting!18:30
chriscauser_jelmer: So you would have to check if the scheme were http(s) though to remove the protocol and server attributes (which aren't in the keyring)18:32
chriscauser_jelmer: Hmm. grepping the codebase makes me think there is no way of setting keyring keys, so a merge proposal wouldn't be too disastrous18:35
chriscauser_jelmer: I've updated the code so now all requests will have the 'domain' key18:40
jelmerchriscauser_: cool, I'll have a look18:41
jelmerchriscauser_: Does it still work if you also set protocol and server?18:44
chriscauser_jelmer: Unfortunately not. I got a gnomekeyring.NoMatchError, because those keys aren't specified by svn18:44
jelmerHmm, that's a bit annoying18:44
chriscauser_This was what was making me uneasy: there's potential here to stomp all over people who are using bzr over http18:45
chriscauser_without svn18:45
jelmerchriscauser_, I don't think there are a lot of those to be honest18:45
jelmerchriscauser_: either way, perhaps we should consider trying multiple combinations18:45
chriscauser_jelmer: I think you may be right.18:46
chriscauser_jelmer: yes, I don't think this code is in any way thoroughly tested. The only problem is that my testbed is a little limited.18:46
chriscauser_jelmer: especially since almost everything I do uses ssh keys18:46
=== deryck[lunch] is now known as deryck
chriscauser_Right, I'm off now. jelmer: thank you for all your help.18:51
jelmerchriscauser_: Any chance you can create a MP for your branch?18:52
jelmerchriscauser_: Even if it's not perfect (yet), it should help us remember to get this code in.18:53
chriscauser_jelmer: Absolutely.18:53
jelmerchriscauser_: Thanks :)18:53
chriscauser_jelmer: https://code.launchpad.net/~chy-causer/bzr-gtk/fix-svn-keyring/+merge/6081718:57
chriscauser_jelmer: Well, anyway hope that helps. See you!19:03
screen-dsuchHm, whom to let know that http://wiki.bazaar.canonical.com/BzrPlugins links to http://doc.bazaar.canonical.com/plugins/en/rebase-plugin.html which 404s?19:10
=== Ursinha-afk is now known as Ursinha
screen-dsuchah alright http://wiki.bazaar.canonical.com/JelmerVernooij19:12
hfitzgeraldhey, sorry if this question has been asked to death. I've got a bunch of configuration files that I dont want to track the changes to, but that I do want to be included in checkouts/uploads. Whats the best way to accomplish this?19:25
jamhfitzgerald: the method I've seen work the best is to version a template version, and ignore the real version19:35
jamso foo.conf.template gets version controlled19:35
jamand people do cp foo.conf.template foo.conf to actually use it.19:35
=== medberry is now known as med_out
hfitzgeraldahhh19:39
hfitzgeraldthanks jam, that makes sense19:39
fullermd(and ignore foo.conf)19:39
fullermdA common setup in my projects is that my code tries to load something like foo.conf, and if it's not there, falls back to foo.conf.default.  Then I can version control .default, and most of the time that's fine.  But if I ever need local changes, I can make the foo.conf in that particular copy.19:40
idnarso I'm busy making some changes in a feature branch, and I decide that some changes I just made really belong in their own branch; what's the easiest way to "extract" them?19:43
idnarsomething with bzr shelve?19:43
fullermdJust made as in "haven't committed yet"?19:43
LeoNerdshelve is for saving-and-reverting changes, so they no longer appear for now.19:44
LeoNerdSo you can unshelve them again later19:44
idnarfullermd: I have committed them19:44
fullermdAh.  Well, I'd try cherrypicking the rev then.19:44
idnarthe branch hasn't been published anywhere, though, so I don't mind a solution that involves revision surgery or whatever19:44
fullermd(then either uncomitt'ing it away and merging the new 'authoritative' version in, or just ignoring it and letting the merge at the end deal with it)19:45
idnarwhat I was thinking of doing is branching a copy of the branch, uncommitting everything, shelving the changes I want, reverting the rest, unshelve/commit, and then replaying the original branch on top of the new one19:46
idnarer, I think I mean rebasing, not replaying19:47
fullermdIf you've got multiple revs on both sides, it may be worth investigating the rewrite plugin.19:47
* fullermd doesn't really know any details on that side of things.19:47
idnarbleh, shelve can't split hunks20:17
* vila split hunks in diff-mode20:21
fullermdWell, that doesn't mean you have to talk about it in public...   ew.20:22
vilabut I'm ~80% sure someone said it was able to split hunks with <insert the plugin I can't remember here>20:22
vilas/it was/*he* was/ grr20:22
vilafullermd: yeah, I almost used the . o O () syntax20:24
vilafullermd: I'm still allowed to *think* in public right ?20:24
fullermdI'm not sure you're even allowed to think in private   :p20:25
vilahmpf20:26
lifelessvila: vimdiff thingy20:31
vilaidnar: looks like I wasn't mad after all: https://code.launchpad.net/~abentley/bzr/shelve-editor/+merge/1381920:41
abentleyvila: that functionality's part of bzr nowadays.20:41
vilaabentley: exactly :)20:42
vilaabentley: how come it's not mentioned in the help ?20:42
idnarnot in the bzr I have here, apparently :/20:42
abentleyidnar: have you configured a change_editor?20:42
vilaabentley: and does it require a special setup to become apparent ?20:42
idnaroh, right; probably not20:43
abentleyvila: yes, it does.  'e' isn't provided if you haven't configured a change_editor.20:43
idnarbingo20:43
vilaabentley: thanks, I vaguely remembered something. Now I won't forget (hopefully).20:43
idnaroh, but that's rather confusing; if you push "?" at the interactive prompt, there's no mention of the e and f commands20:43
idnar*of the e command20:44
idnaranyhow, cool, that should do the trick20:44
idnarI see it's mentioned in the help for "bzr shelve", I guess I should pay more attention to what I'm reading20:44
vilaidnar: file a bug, this should at least be better documented20:44
vilaAAAARGH, I can't read !!!20:45
idnarheh heh20:45
idnarat least I'm not the only one ;)20:45
vilaI searched for it right there a couple of hours ago :-(20:46
abentleyvila, idnar: we could list 'e' all the time, and then error when no change_editor is configured.20:46
vilaabentley: that may have helped idnar , I can't be cured ;)20:48
idnaryeah, that would be nice20:48
idnarthe "?" display should also be fixed20:48
idnar(I would file a bug, but I'm currently on an extremely thin internet pipe)20:48
vilabug #78187120:51
ubot5Launchpad bug 781871 in Bazaar "change_editor for bzr shelve is still not documented enough" [Medium,Confirmed] https://launchpad.net/bugs/78187120:51
vilaArgh, test suite broken for 2.3.2 :-(20:53
vilaFAILED (errors=1093, skipped=2312, expected failures=35)20:53
vilapoolie: ping20:54
vilabug #760435 needs to be backported20:55
ubot5Launchpad bug 760435 in BzrTools "failUnless & co cause PendingDeprecationWarning" [Low,Fix committed] https://launchpad.net/bugs/76043520:55
vilato the 2.3 series20:55
abentleyidnar: You can file bugs by email: https://help.launchpad.net/Bugs/EmailInterface20:56
idnarabentley: gpg-signing mail from gmail is tedious :(20:57
idnar(and it's not an @gmail.com address, so DKIM doesn't work either)20:58
abentleyidnar: surprised gmail is tolerable over a thin pipe.20:58
vilagmail provides pop3/imap access and forwarding no ?20:59
idnarit's surprisingly workable as long as you don't have to actually load all the UI elements over the thin pipe, and I already had it open in my browser...20:59
idnarbut I'm mostly reading my email at the moment via the Android client, which is pretty light on bandwidth21:00
abentleyvila: why does that bug need to be backported?21:00
vilaabentley: our SRU process requires the test suite to succeed21:01
idnarvila: yeah, and SMTP, but I don't actually have any of that set up in a mail client21:01
abentleyvila: So you're saying that bzrtools 2.3 fails the test suite with bzr 2.3?21:01
vilaabentley: no idea, I'm cutting 2.3.2 and testing bzr only21:02
idnarvila: I'm currently limping along on the trickle of 3G/HSDPA bandwidth I can get on my phone, since my fixed-line connection is down, so this isn't the normal situation for me21:02
vilaidnar: np, I filed the bug already anyway ;)21:02
vilaabentley: and of course pqm happily succeeded since it's python2.6 there :-(21:03
idnarvila: :)21:04
vilaidnar: bug #78187121:04
ubot5Launchpad bug 781871 in Bazaar "change_editor for bzr shelve is still not documented enough" [Medium,Confirmed] https://launchpad.net/bugs/78187121:04
=== supton_ is now known as supton

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