Perl 6 - the future is here, just unevenly distributed

IRC log for #darcs, 2015-07-23

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

All times shown according to UTC.

Time Nick Message
00:11 mizu_no_oto joined #darcs
00:41 mizu_no_oto joined #darcs
01:32 mizu_no_oto joined #darcs
05:42 Heffalump notdan: where's the latest version of the CLI tool?
06:28 sprang_ joined #darcs
06:48 alexei_ joined #darcs
07:47 Pastaf joined #darcs
08:44 lelit joined #darcs
10:05 alexei_ joined #darcs
11:05 mizu_no_oto joined #darcs
11:28 notdan Heffalump: http://hub.darcs.net/co-dan/darcsden-cli
11:28 notdan Heffalump: i want to merge it after we finish merging the local backend
14:30 Meeh joined #darcs
16:04 Riastradh joined #darcs
16:16 alexei_ joined #darcs
16:44 alexei_ joined #darcs
17:12 Heffalump notdan: thanks - I'd been trying that but had screwed up the version of darcsden I was building against, so thought it wasn't working.
17:12 Heffalump But now I've tried again more carefully naand it works :-)
17:56 notdan Heffalump: on an unrelated note, can we move our meeting by 15-20 minutes?
18:07 alexei_ joined #darcs
18:08 Pastaf joined #darcs
18:36 alexei_ joined #darcs
18:55 Heffalump notdan: sure
18:55 Heffalump I had actually forgotten it until just now, 15-20 mins suits me too :-)
19:11 notdan Ok, I am back
19:12 notdan The record patch is available from http://darcs.updog.xyz/updog/darcsden-local
19:12 notdan there is no button yet so in order to do record just append /record to the repository URL
19:12 notdan the UI is very clunky for now, but the basic idea is that you select the changes from the list (hold down Ctrl to select multiple changes)
19:13 notdan then you press record and you get a full list of changes. you enter the message and press confirm
19:14 notdan The full list of changes can be obtained in two ways. One way (which is implemented now) is to interpret a selected change as a "definite yes". That means get that change and everything it depends on.
19:14 * Heffalump reappears too
19:14 notdan Another way would be to say non-included changes are "definite no"
19:15 Heffalump I got an error "Repository not found"
19:15 notdan drag & drop UI would probably have been nicer -- I will take a stab at that
19:15 notdan uggh
19:15 Heffalump I was looking at jquery when I was thinking about writing record myself a while ago
19:16 Heffalump but I'm sure there are plenty of alternatives, I don't know much about web programming at all
19:16 notdan Heffalump: wait did you try to append /record to the URL I gave you?
19:16 Heffalump yes
19:16 notdan oh sorry I wasnt clear
19:16 Heffalump oh, you haven't deployed it there, I see
19:17 notdan I meant that I've pushed a patch that allows that
19:17 Heffalump ok, so I need to build myself, fine
19:17 notdan yeah sorry
19:17 Heffalump I guess that brings me to my own trying with the cli:
19:17 notdan I didn't implement security for that yet
19:18 Heffalump I tried running it and first it reported a connection failure, which is understandable given the strategy we planned
19:18 Heffalump but it was a bit offputting so would be good to suppress that
19:18 notdan re: jquery; I did the UI in JQueryUI because we already use JQuery in darcsden
19:19 Heffalump then it tried to start darcsden, and finally it say "Press any key to exist..." without launching a web browser as far as I could tell
19:19 notdan Heffalump: just suppress the error outright or output something else?
19:19 Heffalump perhaps output "darcsden not running, starting it"
19:19 Heffalump so apart from the fact that I think do already exist ;-) I guess something went wrong with starting darcsden?
19:19 Heffalump the output I saw was the normal darcsden starting output
19:19 notdan Wait, that seems strange
19:20 Heffalump oh, in my OS the "could not connect" is actually a popup first - is it coming from the browser?
19:20 Heffalump my OS = Linux - NixOS
19:21 notdan Possibly?
19:21 notdan I don't think I ever had that message
19:22 notdan and there is an error handling code which should output "(Port/address busy, launching a browser anyway)" if something goes wrong
19:22 Heffalump how is the initial connection attempt made?
19:22 Heffalump by a standard HTTP client library?
19:23 notdan I think it's a misunderstanding that I have -- we don't have any connections?
19:23 notdan The strategy as I understood it is: try to start a webserver >> open a web browser. If the resource is already in use output a message and start the web browser anyway
19:24 Heffalump oh, I see
19:24 Heffalump that's probably ok
19:24 Heffalump maybe it's a timing thing then, I saw the message before the webserver seemed to have started
19:24 notdan But what would be the source of the message?
19:25 notdan I never seen a webbrowser displaying such a message in a popup
19:25 Heffalump I think the default browser I have is konqueror
19:26 Heffalump anyway, I think all is explained if there's a race here
19:30 Heffalump the other question is whether the darcsden that gets launched at this point is automatically configured to use the local backend
19:30 Heffalump re the record UI, drag and drop with dependencies automatically following would be nice
19:31 notdan You mean the one launched by darcsden-cli?
19:31 Heffalump yes, the darcsden launched by darcsden-cli
19:31 notdan Yeah it launches the local backend
19:31 notdan Heffalump: drag and drop with dependencies would be super-duper nice! That's what I want to aim at tbh
19:31 Heffalump hmm, something is happening thistime
19:32 Heffalump not quite sure what though..
19:32 notdan I don't know the situation in details, but IIRC it's not very easy to extract dependency data from patches and changes
19:32 notdan maybe it is easier to extract the dependencies from single patches tho
19:33 notdan Heffalump: what do you mean?
19:33 Heffalump I mean with darcsden-cli
19:33 Heffalump I think konqueror is confused. I should try changing browser.
19:35 Heffalump hmm, the problem is that the server isn't actually responding :-(
19:35 Heffalump well, never mind. I/we can debug that later.
19:36 Heffalump re dependencies, the simplest way to manage them is to try to commute
19:36 Heffalump but it depends if we want them to be handled on the server or client side
19:36 Heffalump if we want the client side, then we have to pre-send the dependency info
19:37 notdan Currently they are handled on the server side only. Would be nice to provide the client with the dependency information as well
19:39 Heffalump a starting point would be just to feed them back to the client after each patch is dragged from one side to the other
19:45 notdan Hm I think it actually would be easier to just do one request that would return a JSON with dependencies. IIRC doing a lot of requests on every action can hinder performance
19:45 notdan Uh javascript is so silly
19:45 Heffalump right, but calculating hte full matrix of dependencies up front might be complicated and time consuming too
19:45 Heffalump so it's a trade-off
19:45 Heffalump I guess for record it'll probably be quite small
19:47 notdan Ah, true
19:47 notdan in "real" record we don't pre-compute the dependencies
19:47 notdan I was under the impression that we do
19:48 notdan but that's not true
19:48 Heffalump dependencies are implicit in darcs really - they are expressed by commute failure
19:50 notdan yep. but sometimes it is handy to know them in advance, IMO
19:50 notdan of course, it's probably not feasible in general
19:51 Heffalump if we want to expose them to a pull UI then we'd have to think hard about caching/lazy loading
19:51 Heffalump for record we can probably just pre-compute them all
19:52 notdan but when I think about a darcs repository I almost never think of it as a _set_. I always picture it as an event structure or mazurkiewicz traces
19:52 notdan which is probably not very correct
19:52 Heffalump hmm, I hadn't come across the traces before, interesting
19:54 Heffalump a DAG is probably the best way to think of a repo, at least for this question
19:57 notdan Btw, I have a question -- why do we add dependencies during the record stage: http://hub.darcs.net/darcs/darcs-2.10/browse/src/Darcs/UI/Commands/Record.hs#317
19:58 notdan the code that I ended up for darcsden does not do that: http://darcs.updog.xyz/updog/darcsden-local/browse/src/DarcsDen/Handlers/RepoHandlerUtils/Changes.hs#286
19:58 notdan but it still kind works
19:58 notdan and least on the stuff that i've tested
20:01 Heffalump as well as the implicit dependencies, which come when the contents of a patch won't commute with the contents of another patch
20:01 Heffalump you can add explicit dependencies with record --ask-deps
20:01 Heffalump e.g. if you want to record that a semantic dependency exists that darcs won't find syntactically
20:02 notdan Ah
20:02 notdan I didn't even know about that feature!
20:02 notdan This is pretty cool
20:02 notdan I tried to read the code but there is a comment that says: -- FIXME: this code is completely unreadable
20:02 notdan :P
20:02 Heffalump :-)
20:05 Heffalump how is the merge going?
20:06 notdan Simon is reviewing the changes. I think it's going to be messy :(
20:06 notdan but there is no way around it
20:06 sm I'm sorry to be slow guys, trying to make some time
20:08 notdan What really didn't help is that there are some patches that I made at the beginning that are basically almost entierly void now -- the code is refactored and moved
20:08 Heffalump would it be better to redo the patches without the obsolete code?
20:08 Heffalump I can probably help you with rebase for that
20:10 notdan I tried to do that, but it's really immensely hard. It basically tried to forc me to redo all the patches. The thing is that code is not obsolete. In fact because the code is not obsolote all the other patches depend on those patches
20:11 sm grouping like https://privatepaste.com/3c69c9679c is good
20:12 Heffalump fair enough
20:12 sm in git we could pull out those sets into separate branches.. is that not doable with darcs rebase ?
20:12 notdan and it doesn't make much sense "semantically" to obliterate those patches. i might as well just end up with one or two huge patches
20:12 Heffalump you could only pull them out if there weren't any dependencies
20:12 sm we are supposed to be the masters of cherry picking after all
20:12 notdan sm: well I grouped them like that semantically, but there are interdependencies in that list
20:12 sm ok
20:13 sm given the patches as they are currently recorded, right. Or do you mean functional/semantic dependencies as well ?
20:14 notdan Because those are not really separate changes/features after all
20:14 notdan sm: I meant internally, but probably semantically as well
20:14 notdan let me check
20:14 sm they *sound* independent when I read your nice headings
20:15 * sm rereads
20:16 Heffalump of course, one use case for the local backend is a nicer UI for darcs rebase ;-)
20:16 notdan Well for example "Make the username/password for the local backend part of the LocalBP and read it from the configuration file." touches both the backend and the settings handling code
20:16 notdan Hm one thing I can do is actually try to separate test code from non-test code
20:17 notdan Although some test related patches depende on settings code and some settings related patches depend on backend
20:17 notdan argh :(
20:17 sm eg settings, presentation/integration and general/others - would it be hard to make these independent of the others ? I suppose the answer is yes
20:18 notdan Well I will try to do that -- separate tests from non-tests. If Simon thinks it will be beneficial?
20:19 sm I don't think I'd bother with that personally, it's nice to commit tests along with functional changes
20:19 Heffalump yeah, I agree tests should go with the things they test
20:21 sm it may be we can just plough through this mega branch and merge everything, with sufficient discussion. (Or, we'll get part way and then hit a roadblock and requiring some rework). I need to make time for this
20:21 sm maybe one patch a day :)
20:22 notdan I am up for doing rebase -- anything feasible that make sm's life easier. But I genuinely don't know what exactly to do to make it right
20:22 notdan sm: I vote for the part way solution
20:23 Heffalump do you have a vision of what a better logical sequence of patches woudl look like, if you could easily get there?
20:24 * sm imagines each of the groups in that paste being a separate branch. Would that make the overall merge effort less ? Not sure
20:24 notdan I am a bit skeptical about one patch a day tactic. I mean you might have some criticism about a patch that is actually addressed in another patch. Or some things are just modified later in history
20:24 sm notdan: it looks like hub-dev has currently got the first 3 patches from darcsden-local. What do we do about the problematic PatchFormat patch ?
20:25 sm yeah, I won't literally do that
20:25 notdan sm: oh crap, I forgot about that one
20:26 notdan I tried to obliterate it, but there is another patch that depends on it (which probably rolls back the change)
20:26 notdan let me do it right now actually
20:26 Heffalump you can handle that with rebase (but it'll change the identity of all patches that depend on it)
20:26 sm that should be fine, I haven't pulled the rest yet
20:27 sm anything we can do to simplify this history will make review & merge easier
20:27 Heffalump rebase suspend everything, rebase obliterate the bad patch and perhaps the one that rolls it back
20:27 Heffalump then unsuspend
20:30 notdan ok, got it
20:32 sm doh.. co-dan not notdan
20:32 * sm was wondering why compare showed no repos
20:32 notdan I also have a sequence of patches in one of which I use some stuff from darcs-screened, and in another one I copy the code from darcs, so that darcsden compiles with darcs-2.10
20:32 notdan should I obliterate the first patch as well?
20:33 sm huh ?
20:36 notdan Well for instance in this patch: <http://hub.darcs.net/co-dan/darcsden-local-take2/patch/20150715184942-21ae5#src/DarcsDen/Backend/Permanent/Local/Files.hs> I import some stuff from Darcs.Repository.Prefs (which is not available in 2.10)
20:37 notdan and later on I copy it to the .hs file so that darcsden compiles with 2.10: <http://hub.darcs.net/co-dan/darcsden-local-take2/patch/20150715201937-21ae5>
20:37 notdan should I get rid of those patches as well?
20:37 sm yes, if you can collapse those into a simpler "add darcs 2.10.1 compatibility" patch that would be great
20:39 Heffalump the composite wouldn't be "add darcs 2.10.1 compatibility", would it?
20:39 Heffalump the first one is a feature, the second one is the compatibility
20:40 notdan yeah, what Heffalump said
20:41 notdan Uh sorry, I've got to go.. will be back in a couple of minutes
20:42 sm ok
20:42 byorgey joined #darcs
20:42 sm I have to go too.. thanks, see you
20:43 sm ps now http://hub.darcs.net/simon/darcsden/patches -> simon's darcsden-dev shows difference between production and dev, and http://hub.darcs.net/simon/darcsden-dev/patches shows difference between dev and your branch
20:43 sm o/
20:52 c74d joined #darcs
21:10 notdan sm: oh great
21:11 notdan So what is the policy on the patches as in above? Heffalump ?
21:14 Heffalump policy in what sense?
21:14 notdan Well should I "squash" them together by moving the code from the second one to the first one
21:15 notdan or should I leave it intact?
21:15 gh_ joined #darcs
21:15 Heffalump well, up to sm and you really
21:16 Heffalump I think there are benefits either way - the history is perhaps clearer with the two patches
21:16 Heffalump and simpler with the one patch
21:16 Heffalump I think the main thing is to separate things out into logical clumps as much as possible
21:16 notdan True
21:16 Heffalump e.g. if you can get together a small sequence of patches that does something concrete and could be merged on its own, that'd probably really help
21:16 Heffalump if something only really makes sense with a later patch, that makes review harder
21:17 notdan hm OK i will try to rebase the patches tomorrow, squashing some stuff
21:18 notdan Heffalump: oh but you will always have that -- code changes overtime and old patches might easilly stop making much sense
21:18 Heffalump well, then the question is whether the old thing would have been acceptable on its own or not
21:19 Heffalump i.e. does it form a logical stopping place even if the new thing doesn't come along
21:19 notdan BTW, I drafted a post/tutorial about `darcs rebase`. Would you mind taking a look at it (tomorrow, after I proof read it again) to see if I didn't make any mistakes about the status/design of rebase?
21:19 Heffalump of course none of that is black and white, but it's worth thinking about
21:19 Heffalump sure
21:19 Heffalump that sounds great to have
21:20 notdan ok, cool
21:20 notdan shall we call it a day?
21:20 Heffalump yep
21:20 Heffalump I need to get the cli to work for me. I'll try to debug a bit more.
21:21 notdan Oh yeah that thing didn't work
21:21 notdan so you said the server was not responding?
21:21 Heffalump appeared not, but I don't know why or anything
21:21 notdan did it open the correct URL (i.e. did it use settings from ~/.darcsden.conf)?
21:22 Heffalump I don't have a ~/.darcsden.conf ...
21:22 Heffalump either it should have made one, or told me I needed one :-)
21:22 Heffalump and I noticed it tried to start in the current directory and log to a non-exist log directory in ./log/...
21:23 notdan Ah yes. If ~/.darcsden.conf is not present it uses the default settings (does not create the file tho)
21:24 notdan according to the default settings the log file is in ./log/
21:24 notdan i haven't thought of that before but darcsden-cli needs better defaults
21:25 Heffalump so what should I put in ~/.darcsden.conf ?
21:26 notdan the default settings are host=localhost port=8900 username/password=local
21:26 notdan this is what i have in .darcsden.conf https://privatepaste.com/06e8041443
21:30 notdan The ~/.darcsden.conf file is not really darcsden-cli configuration file per se, it's darcsden proper configuration file
21:30 notdan but the cli tool should work out of the box :|
21:31 Heffalump now I get "bad password" errors
21:31 Heffalump how does the password get passed?
21:38 notdan hm I don't know the term for that
21:39 notdan http://user:password@localhost:8900/
21:39 notdan just passed in the URL
21:43 notdan hm now that I think of it its probably better to base64 encode them
21:46 Heffalump it didn't seem to be trying to do that
21:46 Heffalump oh, I see what happened, the browser hid it
21:47 Heffalump ok, I tried adding /record to the end of a repo URL and got "Repository not found" again. I think I was running with your patch, but perhaps not..
21:48 Heffalump I think the key thing to fix is the race condition - it can try to visit the URL before the server has started
21:48 Heffalump ok, now I do see /record working
21:52 Heffalump but "Fetching the changes..." has hung. I wonder if it likes a repo with no changes at all?
21:52 Heffalump I haven't really been keeping an eye on tests btw, but do try to write them for any new functionality and also for specific problems that might come back
21:56 bfrank joined #darcs
21:56 bfrank hi, is there a way to keep darcs from doing the second confirmation at the end after selecting what to pull?
22:04 notdan Heffalump: ok, this is definitely a bug. if there are no changes it should present an empty list
22:05 notdan what happens when you go to /renderedunrecorded ?
22:05 Heffalump bfrank: the feature is called "last regrets". I'm digging through the history to see if there's a way to disable it but I can't spot one yet
22:05 bfrank cool, I hope so
22:06 Heffalump notdan: looks like a "repository not found error"
22:07 notdan dammit
22:07 notdan and other operations work fine?
22:07 Heffalump I think so..
22:08 Heffalump bfrank: I'm afraid I can't find any firm conclusions either way
22:08 Heffalump http://lists.osuosl.org/pipermail/darcs-users/2013-July/026896.html suggests we were going to add something
22:08 Heffalump but I can't find any record of doing so
22:09 bfrank I guess I can try to adapt and live with it, heh
22:10 bfrank you see this, https://common-lisp.net/project/cl-darcs/?
22:18 Heffalump I vaguely recall coming across it a long time ago
22:18 Heffalump it looks pretty dead/ancient though - I wonder if it can read recent repositories, for example
22:21 bfrank yeah
22:22 * Heffalump heads off
22:22 bfrank cya
23:02 mizu_no_oto joined #darcs
23:33 Igloo joined #darcs

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