Perl 6 - the future is here, just unevenly distributed

IRC log for #darcs, 2015-12-03

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

All times shown according to UTC.

Time Nick Message
00:00 kaol joined #darcs
01:04 maerwald so after an hour or so, it throws "Apply failed"
02:24 pointfree Chiming in on earlier AGPLv3 discussion. I would support using AGPLv3 and relicense any snippets of darcsden code I wrote to AGPLv3 if it's possible to make the switch. Looks like darcsden is licensed under GPLv3. I remember Bradley Kuhn telling me that GPLv3 is upwards compatible with AGPLv3.
02:41 mizu_no_oto joined #darcs
03:00 pointfree maerwald, sm: Fixed (un)subscribe button and link-button styling: http://hub.darcs.net/maerwald/darcsden-mail-notify/compare/pointfree/darcsden-mail-notify
03:02 pointfree Woops broke the greying out of the disabled button. One moment please...
03:24 Riastradh joined #darcs
03:29 pointfree done!
03:32 pointfree I the unsubscribe button icon needed to be a PNG because without multiple alpha levels I can't change the background color *and* have antialiased strokes. Maybe all of the icons should be converted to PNGs? PNGs also compress better than GIFs btw.
06:34 sm pointfree: sounds good to me
06:35 sm night all
11:03 bishboria joined #darcs
12:01 mizu_no_oto joined #darcs
12:11 bishboria left #darcs
12:37 maerwald pointfree: are you going to make icons/dropdown-menu for the tar/tar.gz/tar.xz thing too?
14:16 aristid joined #darcs
16:17 sm_ joined #darcs
17:42 Riastradh joined #darcs
19:15 pointfree maerwald, sm: Yep, I will have the download button that drops down for file extension and filename (e.g. TAG)... I've just started exploring the options for minimizing the storage used by multiple compression format options and multiple releases (TAGs). I'm looking into deltas, compressed pattern matching, selective caching etc etc. Maybe we could store darcsden repos in compressed format, similar to how manpages are gzip'd.
19:33 Heffalump most of _darcs is already gzipped
19:33 Heffalump does darcsden avoid working dirs? I can't remember.
19:44 pointfree Not sure what you mean, but while some of the _darcs/ directory may be compressed the repo working directory is not and there are no deltas/compression/anything between zip files or repo forks etc, afaik.
20:13 maerwald at least the tar/tar.xz/tar.gz mechanisms I implemented directly operate on the plain repository, without using _darcs
20:13 maerwald I don't think that's much different form the fastZip' mechanism
20:19 maerwald also, I'm not sure if storage is the biggest, concern, I'd rather be worried about the server load, as in CPU/memory
20:49 sm JamesJRH et al: lost my IRC backlog.. I'll review and respond to your license question soonish
20:52 maerwald it's just that there is a copyleft loophole for web applications in GPL-3, nothing more. That's why AGPL-3 was invented
20:52 sm I'm trying to clean maerwald's darcsden-mail-notify history. It now has 3 new patches, and 3 which conflict with something that just landed in trunk.
20:53 maerwald so if you don't care about copyleft, you won't care whether it's GPL-3 or AGPL-3... but then again, why is it GPL in the first place ;)
20:56 sm my licensing brain is swapped out just at the moment
20:58 maerwald you care about copyleft -> make darcsden AGPL-3
20:58 maerwald you don't care about copyleft -> make it BSD-2 or so
20:59 maerwald but GPL-3 is a weird choice in either case
20:59 dolio Presumably it can't be made BSD-2, because it's a fork of something that was originally GPL, and good luck finding everyone.
21:00 dolio Possibly before AGPL was around.
21:00 dolio Which might explain things. Maybe that's implausible, though.
21:00 maerwald yeah, so the easiest thing is just to upgrade to AGPL-3
21:01 Riastradh Isn't GPL3 incompatible with AGPL3?
21:02 maerwald they are compatible
21:03 maerwald with AGPL1 and AGPL2, it's a bit different
21:03 maerwald but we are not talking about those
21:06 sm shouldn't darcs have a command to squash two adjacent patches and preserve the author ?
21:07 sm is there a way do history rewrites without losing the original author, Heffalump  ?
21:07 sm to do
21:07 maerwald sm: want me to fix the conflict?
21:07 maerwald I need to exercise that anyway
21:08 sm maerwald: that's easy enough, really I was trying to see the procedure to squash your subscription fixup patch
21:08 sm so I could save you some time.. by all means have a go at it too
21:08 maerwald afaik you can also just append a compatibility fix patch on top of them and darcs will figure out the dependencies there
21:08 Heffalump sm: which author do you want to preserve?
21:08 sm the original patch recorder
21:08 Heffalump doesn't amend-record either do that by default, or let you do it?
21:09 sm yes, true
21:09 Heffalump I mean which of the two patch authors
21:09 sm um.. well.. I want to squash two patches by maerwald into one
21:10 sm I see amend has --select-author, if needed
21:11 sm or --author=EMAIL, I guess can do the same
21:11 Heffalump darcs amend preserves the existing author by default
21:11 sm of the earliest patch ?
21:12 sm never mind, I'm a bit confused
21:12 Heffalump well, that was why I asked about which author you cared about
21:12 Heffalump it's much easier to amend into the earlier patch than into the later patch
21:12 Heffalump (I don't know how to do it into the later patch at all, really)
21:12 Heffalump so if you want to preserve the author of the earlier patch, no problem. If they differ and you want the one for the later patch, not sure.
21:12 Heffalump short of re-entering it with --author, of course
21:13 Heffalump ..another good use case for a pointy-clicky web UI :-)
21:15 sm well darn, with the current tools I don't seem to be smart enough to clean up this history right now :-/
21:16 sm I used to say this about git :)
21:16 maerwald once you learn "git rebase -i" it becomes pretty easy
21:16 maerwald and that's already much more ui like
21:18 sm maybe I can talk through this here and get some ideas
21:19 sm I'd like to reorganise the lower-left 3 patches at http://hub.darcs.net/simon/darcsden/compare/maerwald/darcsden-mail-notify
21:19 sm as an exercise, at least
21:20 sm patch 3 ("Remove automatic repo owner subscription on issue level") reverses part of patch 1 ("Send email to repo owner on new issue "). I'd like to squash patch 3 into patch 1, making patch 3 unnecessary
21:20 Heffalump but 3 depends on 2, that's tricky
21:20 sm patches 4 5 6 are a distraction, to be worked around
21:21 sm and patch 7 (top right) conflicts with three of the ones on the left
21:21 maerwald now I understand why there are merge commits in git ;)
21:22 sm if these were my patches, I'd unrecord 123 and re-record clean patches. But they're not, and I'd like to keep maerwald's attribution
21:23 Heffalump you could just use --author to re-record
21:23 sm that sounds good
21:23 sm I'd lose the date, but so what
21:23 maerwald now imagine the patch was gpg signed (on repository level) :P
21:23 maerwald I guess that would almost break the darcs concept
21:24 Heffalump signing a patch and then commuting it is a tricky problem
21:24 Heffalump sm: so just rebase suspend 4,5,6, sort out 1,2,3, then rebase unsuspend --keep-date (if you want to keep the dates on 4,5,6)
21:25 maerwald git is just lucky, because it works relatively well with their chronological concept
21:25 sm Heffalump: nice, ok. What about resolving the conflict with 7 ?
21:25 maerwald and you can avoid rebasing by just doing explicit merges
21:25 maerwald which would be more difficult in darcs
21:25 Heffalump maerwald: you can avoid rebasing by just merging in darcs...
21:25 Heffalump unless the conflicts get out of control
21:26 Heffalump sm: pull it in, suspend the conflicting ones on the left, unsuspend them resolving the conflict as you go
21:26 Heffalump you can use rebase pull to do the pull and suspend in one
21:27 sm ok that makes sense. I did try rebase pull earlier, it's useful. Thanks for the advice
21:27 sm maerwald: going to try this now, unless you'd like to ?
21:27 maerwald I am doing something too
21:28 sm ok
21:29 Heffalump where patches are logically (and practically) independent, I would aim to merge them separately if possible
21:29 Heffalump as it reduces the general confusion
21:31 sm if that was to me.. can you give an example from this situation ?
21:32 sm (should I be doing something different here ?)
21:32 Heffalump looking at the dependencies, I don't think there are any independent ones
21:32 Heffalump sorry for the noise. I thought some of the stuff about buttons was independent of the other stuff, but the arrows suggest it's not.
21:46 maerwald sm: should be fixed now
21:46 maerwald dependencies look good
21:49 maerwald I want to reword the patch description though
21:51 sm oh, I thought you were doing something else. Let's see..
21:52 maerwald wait
21:52 maerwald I am repushing now
21:52 sm I got about this far too. Ok..
21:53 maerwald now
21:53 maerwald also verified that it compiles
21:54 sm that looks much better
21:56 sm two things next: perhaps you can "darcs rebase pull" from trunk, let it suspend stuff, and then unsuspend them resolving the conflict(s)
21:56 sm maybe get rid of pointfree's patches and deal with those later
21:56 sm second, now I can see more, is the subscription status changed by a GET request or am I misreading
21:57 maerwald I don't understand
21:57 maerwald there is nothing to pull from your repository
21:59 sm hmm, do you already have "urlEncodeStr for any url components that could contain spaces, pluses etc. Skip slashes." ?
21:59 maerwald yes, see the repository
21:59 sm oh you already did it. great
22:00 sm so what about GET
22:03 maerwald it probably is GET, the same for issue subscription
22:04 sm isn't that a problem ? GETs should be idempotent
22:05 maerwald I don't know
22:06 sm it probably should be a POST, like posting a comment etc.
22:06 maerwald wait, no, it's post since it's a button
22:06 sm a bot can just get the route, right
22:07 maerwald I don't know
22:07 sm do the un/subscribe routes require authentication ?
22:08 maerwald you most be logged in to subscribe
22:08 sm ok good
22:09 sm I'd much prefer sub/unsubscription to be a POST, even so
22:09 maerwald is it not?
22:09 sm I don't know
22:09 sm :)
22:09 maerwald <form class="add-sub" action=(pack unsub) method="post">
22:09 sm the method name is get*, so..
22:10 * sm stares at the code
22:10 sm s/method/function/
22:11 sm I think if it starts with validate, it's a form handler, and the function name should start with post
22:12 sm for clarity
22:12 sm would you agree ? I see a few older violations too
22:12 maerwald you can probably fix it then
22:13 sm ok will do
22:15 maerwald however, it should also work with GET, since we want to be able to just click the full url to subscribe/unsubscribe
22:16 maerwald so you probably want a redirect to the POST page then
22:17 sm won't you always un/subscribe by clicking a button ?
22:17 maerwald no
22:17 sm following a link shouldn't do it
22:17 maerwald yes it should and it's part of the notification mails
22:18 maerwald I don't think it makes sense to tell people what they should click, like microsoft windows tutorials
22:18 maerwald instead we provide a link
22:18 maerwald left #darcs
22:18 maerwald joined #darcs
22:19 sm I agree that's a nice user experience; I don't know how it's normally achieved, AFAIK changing state via GET has been considered bad practice for quite a while
22:20 maerwald yes, so you redirect to POST as it is done with the login
22:20 sm ah, ok
22:20 maerwald the only downside of that is that we lose the original referer, but that's a minor problem
22:22 maerwald (which is also the reason I couldn't figure out how to redirect to the original page after login)
22:23 maerwald GET /issue/4 -> GET /login -> POST /login
22:23 maerwald the referer from /issue/4 will be lost
22:23 sm I added the "get" prefix to some of these handlers in a 2013 rename. Damnit! :)
22:24 maerwald and adding url information to cookies/session didn't feel right either
22:24 sm if the snap routes config just mentions a handler without specifying GET or POST, and the handler begins with validate.. does it reject a GET ? maybe
22:25 sm yes tricky
22:25 sm well anyway I'm out of time. I'll deploy this to -dev
22:27 * sm notes those arrows on the compare view were helpful
22:30 sm oops.. darcsden-ssh build error
22:31 sm maerwald: from your patch
22:33 byorgey joined #darcs
22:33 byorgey joined #darcs
22:35 maerwald yeah, seems an argument is missing, but I don't understand why
22:36 maerwald that code wasn't touched
22:36 sm hmm
22:37 maerwald oh wait
22:37 maerwald http://hub.darcs.net/maerwald/darcsden-mail-notify/patch/65566bb6dff9a1a28872404d1972de266e665065#src/DarcsDen/State/Repo.hs
22:38 maerwald we messed with the Repo type indeed
22:38 maerwald I think I'll fix that along with the get/post thing
22:38 sm cool
22:43 maerwald a little bit confusing though
22:43 maerwald does it mean we can create a new repository just by ssh-ing into darcsden?
22:43 sm sure!
22:43 maerwald oh
22:43 sm ssh hub.darcs.net init NEWREPO I think
22:46 sm ..but that hangs, due to http://hub.darcs.net/simon/darcsden/issue/141
23:08 sm now fixed
23:08 maerwald I can't figure out how to redirect with POST request
23:09 maerwald there's not enough snap API exposed to do that
23:10 sm maerwald: maybe it's good enough for today
23:11 maerwald I'll re-push with the ssh fix
23:11 sm great. We can at least have it being tested on -dev
23:12 maerwald pushed
23:15 sm RepoPages is reeeally slow. Maybe that's a weakness of hsp
23:15 maerwald all that preprocessing stuff sucks anyway, it breaks ghc-mod and so on too
23:18 sm repo subscription (and pointfree's updates) deployed to hub-dev. Thank you!
23:23 sm testing, feedback welcome. To notify repo subscribers, issues must be created/updated on hub-dev
23:23 sm wish: don't let the pointer change to hand when mousing over the disabled un/subscribe button (pointfree)

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