Perl 6 - the future is here, just unevenly distributed

IRC log for #darcs, 2015-05-08

| Channels | #darcs index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:59 Riastradh joined #darcs
01:47 ilbot3 joined #darcs
01:47 Topic for #darcs is now http://darcs.net/ | logs: http://irclog.perlgeek.de/darcs/ | darcs 2.10.0 is out http://darcs.net/Releases/2.10
02:07 mizu_no_oto joined #darcs
05:09 Heffalump sm: political excitement = the UK election
05:12 Heffalump sm: I never finished debugging the second segfault you reported a few weeks ago, so I guess issue #3 is still that :-( I'll take a look it at it as soon as I have time.
05:25 byorgey joined #darcs
07:22 amgarchIn9 joined #darcs
08:58 fr33domlover joined #darcs
09:18 notdan Heffalump: how did the elections go? are you pleased with the preliminary results?
09:59 amgarchIn9 joined #darcs
10:15 maerwald joined #darcs
10:26 maerwald so, when do we implement patch signing (repo-side) :D
10:55 amgarchIn9 joined #darcs
11:13 mizu_no_oto joined #darcs
11:27 Heffalump maerwald: for darcsden or for darcs?
11:28 maerwald Heffalump: darcs
11:29 maerwald Heffalump: afaiu I can sign a patch, but it's not signed in the repo
11:29 maerwald or did I misunderstand something
11:29 Heffalump notdan: I support the Lib Dems and would have preferred another Conservative/Lib Dem coalition, so I'm unhappy the Lib Dems have been wiped out, but a Conservative government is probably marginally better than a Labour one or an unstable mess, as long as we don't end up leaving the EU
11:30 maerwald I've added an nginx sample config http://hub.darcs.net/maerwald/darcsden/patch/20150508112407-0bd70
12:52 c74d joined #darcs
13:43 mizu_no_oto joined #darcs
14:35 Riastradh joined #darcs
14:43 mizu_no_oto joined #darcs
14:51 maerwald sm: there's no haddock documentation on the hackage page for darcsden, but most of the code is documented...
15:04 sm g'day maerwald, all
15:06 sm maerwald: comments need to become haddock comments ?
15:06 maerwald sm: most of them are afais
15:06 sm hm
15:07 sm ah haddock chokes on hs2hsx
15:07 sm we'll have to figure that out, good idea
15:07 maerwald not only that, I think ghc_mod chokes on it too
15:14 pointfree-w530 joined #darcs
15:17 sm notdan: crazy stuff.. http://org-trello.github.io/
16:03 maerwald sm: I tried to improve the register/login behavior http://hub.darcs.net/maerwald/darcsden/patch/20150508160128-0bd70
16:04 notdan sm: crazy indeed! :)
16:04 notdan Heffalump: well, as long you don't have Farage as a PM .. :)
16:05 maerwald sm: with that we can actually turn the handler off completely
16:08 maerwald you could consider the <null/> thing inside ifDDXML a hack, but using mzero causes runtime error when it's trying to construct the site
16:11 sm maerwald: nice! testing
16:11 sm <null/> doesn't seem like a valid thing
16:11 sm ?
16:12 maerwald sm: read it on stackoverflow somewhere :P I'm not very familiar with html at all
16:12 maerwald but it works for me
16:12 maerwald I first tried mzero, but it caused error
16:13 maerwald because that's what I actually want, an empty DDXML
16:14 notdan what if you use `when' instead of an if?
16:14 notdan uh well no that wouldn't work
16:14 notdan nvm
16:15 maerwald it's a nasty monad burrito anyway, I'm not sure what all those instances are
16:15 sm maerwald: hub-dev log in form doesn't show google button now, but I do have the google env vars defined
16:16 maerwald sm: it's controlled via githubOAuth and googleOAuth now, not via the env variables alone
16:17 sm oh I see
16:17 maerwald sm: I accidentially set googleeOAuth to False by default
16:17 maerwald it should be True, indeed
16:17 notdan I can only guess that it drags the MonadZero instance from IO
16:18 maerwald hmm
16:19 notdan maerwald: can't you do something like this: http://hub.darcs.net/maerwald/darcsden/browse/src/DarcsDen/Pages/UserPages.hs#48 ?
16:19 maerwald I guess
16:19 maerwald it should be a utility function anyway
16:20 maerwald so we can remove a bit of code duplication
16:21 sm so.. should I wait on merging ?
16:21 maerwald sm: yes
16:21 sm ok
16:21 maerwald can someone tell me the type of <% foo %>? ghc-mod is unable to determine
16:21 maerwald is it just DDXML?
16:22 sm those types are maddening
16:22 maerwald I don't like too much subtyping either, but you can't escape it in haskell
16:22 sm I would guess it's something with a typeclass that lets hsx  render it as text
16:23 maerwald unfortunately the types are already so complex, that ghc cannot infer them
16:24 sm it's not only that they're complex but they're underdocumented
16:24 sm but if you can avoid looking under the covers and learn the idioms I must say that hsx stuff works rather well
16:25 maerwald I hope the trend goes more into that direction, focussing on idioms. A lot of people are scared of things like Lens for good reason. But I don't want to start OT :P
16:29 maerwald oh, ghc was able to infer it: ifDDXML :: forall (m :: * -> *) c. (EmbedAsChild m [Char], EmbedAsChild m c) => Bool -> c -> GenChildList m
16:29 maerwald whatever that means
16:32 sm ghc's inferred types are sometimes less clear than the ones you figure out from haddocks of course
16:33 sm m is the monad the hsx templates are evaluated in - probably Snap in this case
16:34 sm child is a child html (xml?) element
16:34 sm I know this does not help much :)
16:36 sm I sometimes grep code to find/recall hsx idioms
17:01 maerwald sm: pushed two more patches
17:07 sm maerwald: ifDDXML is something you added ? maybe there's another name more like "when" which it resembles
17:07 maerwald sm: yes I added it
17:07 maerwald whenDDXML?
17:08 maerwald I think it should be clear that it's used for DDXML type
17:08 maerwald especially since the type signature now is useless
17:08 sm and possible not including the type name, which we might improve
17:08 sm ok then
17:09 maerwald sm: do you want me to fix that? I'm ingame now. So it might take a while.
17:32 sm maerwald: no hurry
17:33 sm if anyone thinks of a better short type alias than DDXML (for a hsx XML fragment that runs in a darcsden handler context) let me know
17:38 sm how about just whenXML instead of whenDDXML
17:48 maerwald sm: yeah, might make sense
17:58 * Heffalump wonders if any of the work on darcsden currently being discussed is testable
18:01 sm oh yeah, there are tests for the github/google stuff which may need updating
18:02 sm also still a webdriver install problem to be worked out
18:03 Heffalump good point, those tests don't run automatically so I haven't been checking on them myself :-/
18:03 Heffalump what's the webdriver problem?
18:03 sm https://github.com/kallisti-dev/hs-webdriver/issues/71
18:05 Heffalump ah, just a GHC 7.10 thing, ok
18:05 Heffalump have you moved hub to GHC 7.10 then?
18:06 sm I have! except for ssh
18:07 Heffalump you're running a darcsden-ssh binary from GHC 7.8 and the rest from 7.10??
18:07 sm yes, except darcsden-ssh is built with GHC 7.6
18:07 Heffalump wow
18:08 sm they're separate processes, no problem
18:08 Heffalump isn't it rather a pain to rebuild?
18:08 sm well! yes it was, but things are fine for now. I have everything building with 7.6, 7.8 or 7.10
18:10 Heffalump fair enough :-)
18:10 sm I'm just rebuilding the web app at the moment
18:12 Heffalump is the segfault the thing blocking 7.10 for darcsden-ssh?
18:12 sm yes
18:13 sm it builds fine, just doesn't work too well
18:13 Heffalump :-)
18:13 sm and the "data roaming not allowed" error I mentioned might be a red herring
18:13 Heffalump I'm not sure I remember the details of that one
18:14 Heffalump oh "Roaming not allowed by server" above?
18:14 Heffalump what ssh client were you using to trigger that?
18:14 sm it's in the log on that ssh#3 I posted, I thought it was the problem before I realized it was segfaulting
18:14 Heffalump http://superuser.com/questions/825634/what-could-roaming-not-allowed-by-server-of-ssh-client-mean
18:15 sm I fixed some file permissions, but no help
18:15 sm also explicitly disabled roaming in the client config
18:15 Heffalump anyway yes, the segfault is the key problem, let's see what's left after that
18:16 Heffalump still need to finish sorting out a server for darcs-1 repos too
18:16 sm sorry yes "Roaming not allowed by server"
18:16 sm yeah I'm still not too keen on operating that one myself
18:17 sm why do you need it, I forgot
18:18 Heffalump so that people who don't want to darcs convert old repos to darcs-2 (including myself) can move away from code.haskell.org
18:18 Heffalump it would be a lot more efficient use of our collective time if you would operate it :-)
18:19 sm in the long run ? not so sure
18:19 Heffalump (train arriving, back later)
18:19 sm ok, see you! we'll chat more
18:19 sm there's time savings in killing off an old format vs supporting it for ever
18:22 sm maybe offering to migrate anyone's repos from c.h.o to h.d.n (with format conversion), is another option
18:23 sm but at least in your case it's not the migration hassle, right
18:23 * sm stops talking
18:36 Heffalump I personally plan to support it somehow at least until I can honestly offer a better alternative
18:39 _loic_ joined #darcs
18:52 maerwald sm: I have renamed it... do you want me to squash the patches?
18:58 maerwald I think I will do that
19:08 maerwald done
19:10 maerwald er, googleOAuth is still False, have to redo :o
19:14 maerwald sm: I think the pages are mergable now
19:14 maerwald s/pages/patches/
19:45 amgarchIn9 joined #darcs
19:48 mizu_no__ joined #darcs
20:01 karlpinc joined #darcs
20:02 karlpinc I'm doing a pull -a and it's taking forever.  Any way to either make it faster or tell how long it's going to take?  I've merged 5 branches and merging the last so I can upgrade the repo to darcs2 is what's slow.
20:06 Heffalump it's probably the merge problems that darcs1 has then
20:07 karlpinc Heffalump: If I told you how many patches were in the repo, or how many are "after" the point where there's a difference in the branches could you give me a clue?
20:08 karlpinc Would it be faster to merge the troublesome branch early, or last, or optimize the repo first or something?
20:09 Heffalump optimizing won't make any difference. Would be interesting to know how many are after the intersection.
20:10 Heffalump also, the dire warnings that darcs convert gives aside, it is generally possible to convert branches independently with some care
20:10 Heffalump so I can walk you through that
20:14 karlpinc Probably no more than 689.
20:14 karlpinc Heffalump: Would be nice if you would.  But I'm happy to wait (a couple of days even) if necessary.
20:15 Heffalump You could wait, but the blowup is exponential in the number of conflicting patches so it could be infeasible. I think the end result would be better if you converted independently.
20:16 Heffalump if you're down to just two branches to convert, then it should be fairly simple.
20:16 karlpinc Heffalump: I'm happy to go down that road.
20:16 karlpinc Heffalump: I've 5 or 6 branches.  But there's only one that has issues.  The others can be merged and then split back.
20:16 Heffalump make a repo that contains the intersection of the two branches - one way to do that is to darcs init --darcs-1 then darcs pull --intersection
20:17 Heffalump then, make two copies of that repo and pull from one branch into each copy
20:17 Heffalump so now you have the two branches in repos, but with the "common prefix" in exactly the same order and at the start of each repo
20:18 karlpinc I'm following.  (Though not in real-time obviously)
20:18 Heffalump then, convert each one separately. The end results should be compatible.
20:18 sm maerwald: nice! merged, thank you
20:18 karlpinc Heffalump: Is there a way to test if they are not compatible?
20:18 maerwald sm: I'm looking at parseNameAndEmail in Util.hs and it looks like it should be done properly with a parser
20:19 maerwald there's also email-validate on hackage
20:19 Heffalump karlpinc: was just thinking about that. You can try to pull between them and make sure the common patches aren't offered.
20:20 karlpinc Heffalump: I think I'd be happy with a single patch that was from the intersection point forward to the tip of the troubled branch.  That might be easiest.  I'm going to play around with that for a few minutes.
20:21 Heffalump that might well merge in a reasonable time
20:21 karlpinc Heffalump: I can always convert and _then_ apply that patch.
20:21 Heffalump true, then you're definitely safe :-)
20:22 Heffalump were there lots of conflicts in the merges you already did?
20:23 karlpinc Heffalump: None.  The branches are mostly the same thing in different placeds.
20:23 karlpinc Heffalump: Sometimes I make a diagram on a box with a screen and push the patch back to the server.  Stuff like that.
20:23 Heffalump I guess the last merge must have been developing conflicts, otherwise it wouldn't take a long time
20:24 Heffalump unless something unexpected is going on with the (apparent) hang
20:24 karlpinc Heffalump: I tried converting without merging and I get 2 messages about things being "hard", except in the trouble branch which has many.  I don't know why because they all do the right thing.
20:24 maerwald sm: or do we want to allow invalid emails? then it can still be done with a parser
20:24 maerwald the functions doesn't read nicely
20:25 sm maerwald: encouraging valid emails is good, if perhaps not the most urgent problem
20:25 Heffalump was it something about a lossy conversion of a complicated conflict?
20:25 sm ideally it'd verify them before signup
20:25 karlpinc Heffalump: And somehow the stuff that's "hard" in the troubled branch is part of what's been pulled into the main branch.
20:25 karlpinc Heffalump: yes, that's it.
20:26 karlpinc Heffalump: It was done by a novice developer who made and remade various of the same changes.
20:28 sm that's darcs's kryptonite :)
20:28 karlpinc Heffalump: Maybe when I pulled into the main branch I first found a single patch that encompassed all the changes, applied that to main, then pulled the development branch to merge.  Or something wonky like that.
20:28 Heffalump loss conversion of a complicated conflict means you'll lose some information about the changes in the conflict, so in the converted repo you won't be able to "unmerge" the conflicting patches
20:29 amgarchIn9 joined #darcs
20:29 karlpinc (Forcing valid emails seems rude.  When the point of a valid email is to have a unique identifier it _could_ be arbitrary.  Just my 2 cents.  Don't really know what the context is.)
20:30 sm karlpinc: hub.darcs.net accounts. Is it rude ? I needed them recently to send a security alert, folks without a valid email didn't get it
20:30 Heffalump I think hub.darcs.net should be sending email notifications automatically, too. I never know when anyone updates issues on my repos.
20:31 karlpinc Heffalump: I don't think I want to.  I really want a single "pretty" patch in the main repo, and let the developer carry a lot of cruft if he wants to.
20:31 Heffalump but that doesn't necessarily *require* a valid email
20:31 sm sure, that's a hot wishlist item
20:31 karlpinc sm: Nah.  Not rude.  Your site, your rules.  :)
20:31 Heffalump karlpinc: ok, then just make sure when you convert that the patches you care about more are before the ones you don't care about
20:32 Heffalump then if there are conflicts the ones you don't care about will be the ones to lose info
20:32 sm requiring a real email is another way to reduce spammers & abuse, I assume
20:32 Heffalump your problems couldn't have come at a worse time for my discussion with sm about darcs-1 format :-)
20:32 * sm listens to the interesting conversion chat
20:32 sm Heffalump: I was going to say, I think this is really helping me decide :)
20:33 Heffalump of course on the flip side he only encountered them at all when trying to convert (maybe?)
20:33 karlpinc I did have one "lossy" conversion patch that was due to a (stupid) merge conflict that had to be resolved manually.
20:34 Heffalump the "lossy conversion of complicated conflict" thing is a great reason for not forcing conversion on people, though
20:34 Heffalump it actually means people are losing data
20:34 Heffalump it's the same way that the git export code loses data when there's a conflict
20:34 karlpinc The merge conflict data I could lose. (in this case)
20:35 karlpinc Heffalump: Yes, only when trying to convert.
20:36 karlpinc Heffalump: When you say make sure that patches I care about more are before the ones I don't, you mean among those patches that make up the "lossy" part, right?
20:36 Heffalump right
20:36 karlpinc Heffalump: What consitutes "before"?
20:37 Heffalump patches in a repo are stored in some order, even though darcs can generally freely reorder them when it needs to
20:37 karlpinc (B
20:37 Heffalump you can look at the order with darcs changes (that'll show you reverse order)
20:37 Heffalump and you can enforce an order by pulling into a clean repo in the forwards order you want
20:38 karlpinc (BTW.  The one change I'd make to darcs if I ever get around to figuring out haskell and sending in a patch, is to record, along with the commit date, a pull date or some other date recording when the patch got into the repo.  Not that this really bothers me, but some people don't like not knowing.)
20:39 karlpinc Got it.  Thanks for all the help.
20:39 Heffalump this actually came up a while ago, Sebastian Fischer was interested in doing something like this for a company whose name has escaped me temporarily
20:40 karlpinc Heffalump: The pointy-haired bosses want to know!
20:40 Heffalump Factis
20:40 _loic_ left #darcs
20:40 Heffalump https://trello.com/c/DEKgtTp9/6-track-which-patch-was-added-when-and-by-whom
20:41 sm oh yeah, what happened all that work
20:42 Heffalump what he did was merged
20:42 Heffalump what he did for darcs itself that is
20:42 sm oh, yay
20:42 Heffalump at least I think it was, I don't remember failing to merge it :-)
20:42 sm do we have "Different defaults for pulling and pushing" now ?
20:43 Heffalump hmm, good question...
20:43 karlpinc I'd think you'd want 2 dates, the original date and a "this repo" date.
20:43 sm I wanted that yesterday.. will try
20:43 karlpinc (The link comes up blank.  Maybe cookies have to be on.)
20:44 Heffalump karlpinc: the core point is that darcs will never change the actual patch, so you can't store the "pull" date in the patch
20:44 Heffalump what you can do is add a tag or some other record of the pull date
20:44 Heffalump I can't remember exactly what Seb/Factis ended up with there
20:45 sm more info: http://www.informatik.uni-kiel.de/~sebf/darcs/darcs-history/README.html
20:45 karlpinc Yeah. Cookies.  The popup looks featureful.
20:46 karlpinc Heffalump: Makes sense.
20:49 karlpinc Raises the issue of how you know any sort of date is valid and not the result of some wonky clock or a deliberate attempt to jigger the legal system or something.
20:51 karlpinc So is the history feature in mainline?
20:53 Heffalump the darcs-history link sm gave is an external tool
20:53 Heffalump that we don't maintain or support (looks nice though)
20:53 Heffalump the changes that were needed to darcs to make it work are in mainline (and thus in the 2.10 release) as far as I know
20:54 sm it needs more publicity, so folks will actually try it
20:55 karlpinc Yeah.  Be nice if the distro's packaged it.
20:55 karlpinc s/'//
20:55 sm if it gets good reports, it might make sense to bundle
20:56 sm I'd add it to my todo list, except I'm not sure what I need it for
20:58 karlpinc sm: Well, it could be used for the master darcs repo to keep track of what went live when....
21:06 amgarchIn9 joined #darcs
22:06 karlpinc I'm using, I'm sure, anchient vesions of darcs, but I find that if I make exactly the same change in two places pulling causes a conflict.  Makes sense, but would also be nice to be able to automatically resolve such conflicts.
22:16 Heffalump darcs-2 format treats them as duplicates and silently resolves them, but it causes various problems
22:19 maerwald I forgot how tedious and inferior linear parsers are
22:20 maerwald and that it's basically impossible to define a "nameParser" that does not consume a random mail addres without resorting to isAlpha_ascii which then would probably break chinese and whatnot

| Channels | #darcs index | Today | | Search | Google Search | Plain-Text | summary