Camelia, the Perl 6 bug

IRC log for #darcs, 2013-01-30

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

All times shown according to UTC.

Time Nick Message
01:22 mizu_no_oto joined #darcs
01:40 mizu_no_oto joined #darcs
02:21 favonia joined #darcs
02:26 mizu_no_oto joined #darcs
03:43 stepcut joined #darcs
03:51 mizu_no_oto joined #darcs
04:11 preflex_ joined #darcs
05:19 mizu_no_oto joined #darcs
08:17 schlaftier joined #darcs
08:37 delamonpansie joined #darcs
09:00 donri joined #darcs
10:18 kmels_ joined #darcs
10:56 gal_bolle joined #darcs
11:28 nomeata joined #darcs
12:06 owst joined #darcs
12:23 gh_ joined #darcs
12:56 raichoo joined #darcs
13:28 dino- left #darcs
13:41 mizu_no_oto joined #darcs
13:47 iago joined #darcs
13:51 yitz joined #darcs
13:52 yitz hi darcs people
13:52 gh_ hi
13:52 yitz we have some old darcs repos on one of our servers
13:53 yitz how do we get our data out? we use mercurial, so converting to mercurial would be ideal
13:53 yitz but i've tried a lot of things and nothing seems to work
13:53 yitz the hg convert command, which used to work for darcs, fails on the repo i am trying to get
13:54 yitz so i tried building darcs-fastconvert to use that to convert to git
13:54 yitz but i can't get that to build. it fails on crazy cabal errors.
13:54 yitz i tried building in cabal-dev, yet it claims it will have to "reinstall" all kinds of basic packages
13:55 yitz the source of the problems seems to be that it wants darcs 2.5.2 at the latest, and that requires an early version of process that i can't get to build
13:56 yitz so i told our user to install darcs on her windows 7 box and at least get the repo and use it in darcs to get history info, etc.
13:57 yitz but darcs 8.1 doesn't work on her window 7 machine
13:57 yitz she gets an error about scp not working when she tries to get the remote repo
13:58 gh_ yitz, about darcs on windows, maybe there's a solution here http://darcs.net/Windows
13:58 yitz for now, my only solution for her it is to rsync the files, initialize a mercurial repo without any history, and ssh to the server to examine history in darcs there
13:59 yitz i cloned a copy of the repo in her home dir on the server.
13:59 yitz gh_: ok i'll look
13:59 yitz thanks
13:59 gh_ yitz, about migrating a repository from darcs to hg, there's a piece of code named darcs-bridge that you can get following these instructions: http://irclog.perlgeek.de/​darcs/2013-01-29#i_6388648
14:00 yitz yeah it may be using the wrong scp command
14:01 yitz i wish they had 'which' on windows :/
14:02 yitz when i run scp on her box it compains about "DNS not authoritative" or something like that.
14:02 gh_ I really have no idea of darcs on windows but maybe Heffalump knows more the details
14:08 yitz gh_: hmm. that wants darcs >= 2.9.5, but the latest on hackage is 2.8.3 !
14:09 yitz gh_: no you're right it's probably a PATH issue pointing her to some other program called scp
14:11 gh_ yitz, you have to obliterate all patches from "Update to Darcs HEAD"
14:11 gh_ yitz, then it will depend on darcs 2.8.3
14:12 yitz ahh i see. ok thanks.
14:14 yitz woah it's building. awesome! in a cabal-dev sandbox tho, so this will take a while.
14:14 yitz if this stuff exists, why doesn't someone upload some of it to hackage so that people can actually use it?
14:15 MasseR yitz: AFAIK it's not working properly
14:15 mizu_no_oto joined #darcs
14:15 MasseR The darcs -> other works, but other -> darcs is flaky
14:15 MasseR At least when 'other' = git
14:15 MasseR That's the explanation I was given
14:15 donri at least the bridging is incomplete and will get some love at a sprint soon
14:17 gh_ I think in the future we should provide basic export/import as part of darcs (as fossil does)
14:17 gh_ yitz, you could also use tailor http://darcs.net/RelatedSoftware/Tailor
14:18 yitz MasseR: that's a lot better than what's there now - which can't build at all on any recent haskell platform
14:18 yitz tailor? isn't that really old? it's still developed?
14:19 yitz donri: so upload and include a package comment that says what works and what's broken. that's a lot better than having the latest version be so old that it's totall bitrotten.
14:20 yitz hey that built! wow wow thanks. now let's see if i can convert this repo...
14:21 gh_ yitz, I don't know but it's available as package in my ubuntu distro
14:21 yitz people think that they should "wait for release quality" before uploading to hackage. that is not what hackage is about.
14:21 donri duno :) talk to owst and Heffalump about it i guess
14:22 yitz gh_: you mean darcs-fastconvert?
14:22 gh_ yitz, tailor
14:22 yitz gh_: which release?
14:22 yitz ah tailor
14:22 gh_ yitz, I agree we should do something. actually a few of us will meet for a hacking sprint in a couple of weeks, I hope we will upload some usable version somewhere.
14:23 qinglingquan joined #darcs
14:24 qinglingquan left #darcs
14:27 yitz it WORKED! hey hey! thanks gh_ and everyone
14:27 yitz gh_: ok great!
14:28 gh_ :-)
14:29 gh_ left #darcs
14:29 gh_ joined #darcs
14:47 gh_ ok, sent an copy-paste announcement from 2 years ago for the next hacking sprint to haskell-cafe :-)
14:49 gh_ joined #darcs
14:57 mizu_no_oto joined #darcs
15:06 owst The problem with darcs-bridge is that I haven't sorted out a fundamental problem, and I don't really want people relying on a broken attempt that will use a different internal data representation
15:14 owst But I'd say definitely we'll have a released tool that can export darcs repos to the de-facto standard fast-import format, which builds on current released darcs, after the sprint
16:29 gh_ joined #darcs
17:06 mizu_no_oto joined #darcs
17:29 raichoo joined #darcs
17:44 sm morning all
17:44 sm +1 <gh_> I think in the future we should provide basic export/import as part of darcs
17:45 owst export is easy, import less so (what should we do if darcs is given import data containing branches?)
17:49 sm "please provide fastimport data containing only one branch"
17:49 owst I would doubt that data coming from any other VCS would ever be totally linear
17:52 sm that's not totally clear to me.. does a fastimport-format export always include all branches ? eg from a svn repo ?
17:52 donri is linearity problematic for one-shot conversions as well?
17:52 sm in any case, that can be out of scope for basic import/export built in to darcs
17:53 owst donri: Well, what do you expect darcs to do on import of a non-linear history?
17:54 sm Darcs repos are linear, every darcs user understands this
17:54 sm that's part of the appeal
17:54 donri wait, are they really?
17:54 sm it would make sense to me that I can't import a multi-branch dump from some other vcs
17:54 donri partially ordered doesn't sound linear to me
17:55 donri sm: owst is talking about graph linearity here, not specifically branches in git terms, i think
17:55 owst sm: sure, but that's very much limiting what the importer would handle!
17:56 sm the user's conceptual model is that a (particular) darcs repo is a single set of patches, in some order (shown by darcs changes)
17:56 sm ie a single "branch"
17:56 owst exactly
17:57 owst linear in the sense of "history" (which darcs can change through commutation)
17:57 donri but i'm not sure why it couldn't, for one-shots, do the effect of checking out each revision and recording a patch
17:57 donri i understand it's not enough for bridging
17:57 owst donri: that doesn't make sense for a divergence though
17:59 owst donri: it'd be a lossy conversion
17:59 donri lossy is fine for one-shot, is my exact point
17:59 donri depending on what you mean with lossy though, i guess
17:59 owst Lossy and perhaps even confusing :-)
18:00 owst commits made on another branch would be given diffs relative to the state of the master branch
18:00 owst I can't think of an easy example off the top of my head right now
18:03 sm bottom line, I think almost any form of one-shot import/export is more valuable/urgent for darcs users than full-blown bridging
18:04 owst well that exists, in the form of darcs-fastconvert
18:04 sm any maintained & installable form
18:05 Heffalump strategically, I'm much more interested in bridging. It's the only way to stay relevant.
18:06 Heffalump or become relevant.
18:06 owst Indeed
18:06 sm though I see yitz just managed to build and use it. So that's good. But built in to darcs takes away the danger of lock in.
18:09 Heffalump I'd rather have a close cousin that we maintain, like darcsden. But perhaps the two should both be integrated.
18:12 sm Heffalump: I think in that first option you mean provide import/export functionality in a separate tool such as darcsden ? and in the second option, provide something like darcsden as another executable in the darcs package ?
18:13 stepcut joined #darcs
18:27 amgarchIn9 joined #darcs
18:33 Heffalump I mean that darcs-bridge and darcsden are both currently external tools, which the darcs team ought to at least be closely involved with maintaining, if not responsible for
18:33 Heffalump but an alternate model would be to bring them within the darcs tree itself
18:35 sm or at least, release them together as a group
18:38 yitz sm: i used darcs-fastconvert to port an old darcs repo to mercurial. not bridging.
18:39 yitz Heffalump: do you know if win7 comes with a built-in scp that interferes with using pscp for darcs?
18:40 Heffalump yitz: not that I know of
18:40 owst yitz: darcs-fastconvert from hackage?
18:41 yitz Heffalump: hmm ok so there must be something else installed there that was getting in the way
18:41 yitz owst: no way. doesn't build with anything outside of a museum.
18:41 owst we refer to the codebase I worked on as darcs-bridge, even though the package/executable are still called darcs-fastconvert. Confusing, that.
18:41 yitz owst: gh_ pointed me to your posts in the channel log
18:41 owst Ah, ok
18:43 yitz owst: if the hackage package by that name is abandonned, it should be deprecated. so people like me don't keep losing hours of time trying to figure out how to build the package from there.
18:44 yitz owst: so - thanks!
18:44 yitz (for your great instructions)
18:44 * owst should find out how to deprecate packages on hackage
18:45 yitz owst: you upload a new version with some field set in the cabal file.
18:45 owst Right
18:48 yitz owst: hmm maybe not. here is an example: http://hackage.haskell.org/package/xml-enumerator
18:48 yitz owst: i don't see anything obvious in the cabal file there
18:49 owst The synopsis contains '(deprecated)' I wonder if that's enough :-s
18:49 markstos joined #darcs
18:50 yitz owst: maybe. but that text carries through as part of the actual synopsis. then there is text automatically added to the package description which say which package to use instead. where does hackage get that from?
18:50 markstos I'm interested to use a "record pre-hook" to fixup whitespace issues in files that have been worked on. I ran into the issue that prehook runs so early, that DARCS_FILES is not available.  Anyone here have a way that they are doing automated source code formatting with darcs?
18:51 owst yitz: good point.
18:52 Heffalump you want DARCS_FILES to contain the list of filse that will be offered in interactive selection?
18:53 * markstos thinks. I guess I want all the files in the *final* selection... so I guess it's not exactly a prehook, more of a middle-hook. :)
18:53 Heffalump what if the user only selects some changes?
18:53 markstos Then I only want the selected changes considered.
18:53 Heffalump inside a single file, that is
18:54 markstos Then the whole file should still be consdiered.
18:54 Heffalump but what would your formatter do, and what should darcs do with the end result?
18:54 markstos For now, it's going to convert tabs to spaces, remove end-of-line whitespace, and remove space-before-trailing semicolon.
18:54 markstos Later, more kinds of code format standardization.
18:55 Heffalump let's walk through the flow of data here - I think there's a basic problem with doing it at the stage you want
18:55 Heffalump (I'm on an intermittent internet connection so might disappear randomly)
18:55 markstos I'm starting to see that there is. :)
18:55 Heffalump I guess we should assume that the file starts out in a "tidy" state.
18:56 Heffalump if it doesn't then things get even more complex
18:56 Heffalump anyway, so user edits file, runs darcs record, chooses some of the changes
18:56 markstos Right now, I expect none of our files start out tidy, but we could consider a "tidy everything" patch.
18:56 Heffalump and now the pre-hook runs. Does it tidy the entire file in the workign dir?
18:56 MasseR Is there a .gitignore equivalent with darcs?
18:56 owst MasseR: yes, a "boringfile"
18:56 markstos MasseR: Yes: _darcs/prefs/boring
18:57 MasseR Same syntax?
18:57 owst Or `darcs set-pref boringfile path/inside/repo`
18:57 owst if you want to version your boringfile
18:57 owst err `darcs setpref`
18:57 markstos MasseR: Look at your existing default _darcs/prefs/boring for example syntax.
18:58 owst The syntax is POSIX regex I believe
18:58 markstos Heffalump: Yes, the entire file in the working dir.
18:58 sm owst: I don't know if this deprecated package follows best practice, but it seems to work: http://hackage.haskell.org/package/monad-bool
18:58 MasseR Oh wow, darcs provides good set of default inores
18:58 MasseR *ignores
19:00 Heffalump markstos: ok, so now darcs has (a) the original recorded file, (b) a set of changes the user selected to the file with reference to the untidied edited file and (c) a tidied working file that contains some changes that weren't selected
19:00 Heffalump now wha should it do?
19:00 Heffalump [a plausible alternative proposal is that the tidy script should actually be run on what will become the new recorded file]
19:01 markstos Heffalump: I see the issue. I've created a kind of loop or catch-22. I want the tidied file to be recorded, but I can't get the list of files to tidy, without first getting most of the way through recording....
19:02 markstos Which brings me back the original question: Is there a way that people are automating code formatting and also using darcs. ? :)
19:02 Heffalump well, or you could tidy all of working in a pre-hook
19:02 Heffalump or request a new feature in darcs to tidy the newly recorded files in a middle-hook
19:03 markstos Heffalump: true, I suppose if we had a tidy baseline and good discipline, then the only untidy files should be whatever was being actively worked on.
19:05 markstos Heffalump: nah, I think you've got more important darcs updates to be working on. I suppose I should evaluate if the discplined approach is feasible to get started with. I'm considered about making a mega-formatting-fix patch that nearly any work following it would depend on. Perhaps by breaking the baseline formatting work into several strategic patches, we can manage dependency issues.
19:05 markstos Heffalump: thanks for the feedback.
19:05 Heffalump actually, in theory you could hack up tidying the newly recorded files in a posthook: apply the new patch in a repo clone, tidy, amend-record, being careful not to make a loop
19:05 Heffalump but that's pretty ugly and pretty slow.
19:06 Heffalump hmm, or with the darcs API or something else with knowledge of patch internals you could tidy just the "+" lines in a new patch with the same amend-recording trickery
19:06 markstos Heffalump: I think it's a good idea, really.
19:07 markstos hmmm...interesting.
19:07 Heffalump which would get you the incremental improvement I thnk you really want
19:07 Heffalump it'd be kind of a darcs-tidy-patch command
19:07 markstos I think if the repo-clone step can be avoided, speed will be good enough.
19:07 owst What if the tidying tool needs more context than the lines in the patch?
19:07 Heffalump then you lose
19:07 owst heh
19:07 markstos Maybe we just should get away from in-place edits, and instead throw errors for the users to fix.
19:08 Heffalump if it edits more stuff than the lines in the patch, it's really hard to integrate what it does with user expectations from the interactive selection
19:08 Heffalump do you get handed the patch contents in a post hook?
19:08 markstos Maybe a record post-hook could print out a list of warnings... or even a "proposed fixed file" and advice the user to amend accordingly?
19:09 markstos Heffalump: according to the docs, no, the full patch details are not available.
19:09 markstos DARCS_PATCHES contains a human-readable summary of the patches being acted upon. The format is the same as "darcs changes". DARCS_PATCHES_XML Contains the same details, in the same XML format as "darcs changes". Finally, DARCS_FILES contains a list of the files affected, one file per line.
19:10 Heffalump ok, so I can see how darcs-tidy-patch could be implemented based on a haskell function of type String -> String that tidies an individual line.
19:11 owst Heffalump: Would you present the changes to the user? Or just blindly record whatever the tool does?
19:11 markstos Heffalump: later we want to get into dealing with "cuddled elses" and possibly other multi-line formatting.
19:12 markstos Maybe we should be doing this in Vim instead: http://stackoverflow.com/questions​/356126/how-can-you-automatically-​remove-trailing-whitespace-in-vim
19:12 markstos But I bet it would be hard to everything we want to do in vim.
19:12 owst markstos: I use something very much like that
19:12 markstos ... and not everyone uses vim.
19:12 owst Only the best ;-)
19:12 Heffalump owst: blindly record
19:12 markstos owst: thanks for the vote.
19:12 Heffalump markstos: what if the multi-line stuff crosses the patch boundary?
19:13 markstos Heffalump: I'll want to amend the patch to include the extra lines.
19:14 Heffalump but you only want that if the tidyable stuff actually intersects with the patch at all? (otherwise you'd just tidy the whole file)
19:15 yitz owst: i'm beginning to think that the api deprecate a package is "email ross and ask him to deprecate it".
19:15 Heffalump yitz/owst: that would have been my guess
19:15 markstos I would be OK with tidying the whole file, if that's easier, but I see the appeal of tidying a minimal amount, to avoid conflicts as well. Actually that would probably be better for us (for conflict avoidance).
19:15 owst yitz: Yeah, that's what #haskell said :-)
19:15 yitz hrmph
19:16 Heffalump markstos: if indentation is in a bad state, a single tidy might itself be quite wide-ranging
19:17 markstos True. For now, we want to start small, and just fix some minimal things: no EoL whitespace, no tabs, and no space-before-trailing-semicolon.
19:18 markstos I'm starting to think we are not ready for full automation, but better off warning the user about potential problems, and let them create the appropriate amended patch.
19:18 markstos We could use a record post-hook for that, advising them to possibly amend.
19:19 kmels joined #darcs
19:20 Heffalump if the hook looks at the entire file (which it probably has to) then you risk encouraging them to manually amend the patch with unrelated changes
19:20 amgarchIn9 joined #darcs
19:21 markstos Heffalump: That's why I don't want the amend to be automated. Someone staring it will know what to do, I think.
19:21 markstos I think we also just need to get through the pain point of having a perfect baseline.
19:21 markstos Which will make everything easier from there.
19:21 Heffalump ok - though I think you have to be wary of what people will do when encouraged by automated warnings
19:22 Heffalump if you have a perfect baseline then a prehook could scan the entire tree and refuse to record if it's untidy
19:22 * markstos nods. Yes. Full automation would be better. Which seems feasible once we have a better baseline.
19:22 markstos Also, there are only 3 programmers on the project, and we all want to address the whitespace/formatting issues with automation.
19:23 kmels_ joined #darcs
19:25 * Heffalump disappears for a while
19:26 markstos (tunnel?)
19:38 byorgey sm: you around?
19:38 markstos left #darcs
19:39 sm markstos: how about starting with more visibility.. on from a commit (post ?) hook, and/or in irc or on an easy web page, report the current "tidiness index" and gains/losses
19:39 sm hi byorgey
19:39 byorgey sm: sorry, could you clear out the lock on my mathlesstraveled repo again?
19:40 sm sure..
19:40 byorgey thanks
19:40 byorgey and let me know if there's some way for me to do it myself
19:40 byorgey so I don't have to bother you about it
19:43 sm hmm there isn't.. I welcome you bothering me but we'll have to figure something out
19:43 sm currently cron removes 1-day old locks nightly
19:43 sm I guess removing 1-hour old locks hourly would be a help
19:43 byorgey yes =)
19:44 sm any better ideas ? it would be better to have it not leave them around
19:44 sm is that a darcs bug or a darcshub-ssh bug I wonder
19:45 byorgey patch-tag has a "fix it" button on each repo page that does various clean-up (like fix permissions, remove stale locks, etc.) which would be a more "proactive" possibility
19:45 byorgey but removing stale locks once an hour would be a lot better than having to wait two days
19:46 sm a fix it button is a good idea too, though it looks lame :)
19:46 byorgey true =)
19:46 byorgey you could make it all beveled and shiny and web-2.0-y with a little magic wand
19:46 byorgey ;-)
19:47 sm would anyone know how to find files by age on gnu/linux with less than day precision ?
19:49 sm I wonder if find -name lock -mtime +0.05 works
19:54 markstos joined #darcs
19:55 markstos Heffalump: I think I may have figured out a way to get the record pre-hook to work. It can call out to "darcs whatsnew" to get list of modified files. It may select "too many", but that's somewhat OK, as whatever has been changed should be tidied before the next patch is ready anyway.
20:04 Heffalump markstos: tunnels are quite short, this was "train arrives at home, next step is kids bedtime, back online once they're in bed" :-)
20:05 markstos Enjoy your family time.
20:07 Heffalump we're now at the "younger child screaming head off instead of going to sleep and older child chatting instead of going to sleep" stage.
20:08 markstos Mine are 2 and 5, I can relate.
20:09 markstos But at least they are cute: https://secure.flickr.com/photos/m​arkstos/8421336769/in/photostream
20:21 mizu_no_oto joined #darcs
20:30 kmels_ joined #darcs
21:04 nomeata joined #darcs
21:40 schlaftier joined #darcs
21:46 carter_ joined #darcs
22:09 schlaftier joined #darcs
22:48 favonia joined #darcs
23:21 schlaftier joined #darcs

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