Camelia, the Perl 6 bug

IRC log for #darcs, 2012-12-27

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

All times shown according to UTC.

Time Nick Message
02:38 intripoon joined #darcs
10:51 raichoo joined #darcs
13:55 schlaftier joined #darcs
14:08 koninkje_away joined #darcs
14:16 donri joined #darcs
14:18 iago joined #darcs
14:28 favonia joined #darcs
15:09 mizu_no_oto joined #darcs
15:51 sm__ joined #darcs
16:13 sm__ joined #darcs
16:30 sm joined #darcs
17:01 mizu_no_oto joined #darcs
17:09 gh_ joined #darcs
17:44 markstos joined #darcs
17:45 markstos I thought of any interesting report to generate for a project. It's no so interesting that I'm volunteering to code, but seems interesting enough to throw out there.  Here goes:
17:45 markstos We have "darcs show authors", which shows the accumulated patch counts over time,
17:46 markstos but I think it would also be interesting to see who's responsible for the current "surface area" of the code base.
17:47 markstos Think of running "darcs annotate" over every file in the project and sum'ing the the lines associated with each "author".
17:48 markstos Over the project history, someone may be past contributor of a large number of patches, so they would be ranked highly in "darcs show authors". However, someone else may have since rewritten much of their code, perhaps with far fewer commits. So, the newer developer rank highly in the "surface area" report.
17:48 owst joined #darcs
17:49 markstos owst, I was just thinking out loud about a "fun" repo querying feature: http://irclog.perlgeek.de/darcs/2012-12-27
17:51 markstos For example, I still rank as a "top ten" darcs developer according to "darcs show authors", based some documentation and test suite updates I did some years ago. I bet by now much of my contributions have been retouched, so I would rank lower in a "surface area" report.
17:52 owst Interesting
17:52 owst Although I would likely be top 5, since I did a load of tidy-up/re-style type changes
17:52 owst So perhaps not so handy
17:52 markstos There are likely some interesting ways to visualize the surface report. For example, think of a tree structure that shows that one developer is very active in the "tests" directory, but contributors little in the "src" directory.
17:53 markstos owst: It appears you are #6 and I'm #8 currently, with 20 patches separating us.
17:54 markstos Lots of my patches have been small and easy. It's much master to create a line of docs than a line of Haskell, I think.
17:54 bleutyler joined #darcs
17:54 markstos I contributed a number of tests as perl scripts, which have since been all converted to shell scripts.
17:56 bleutyler I have a quick question about how darcs is marking my conflicts, I am presented with 3 options, when I would expect only 2 ( what my working copy is vs. what I just pulled)
17:56 * owst keeps meaning to investigate ways to speed up the shell tests
17:56 owst they are *slow*
17:56 Heffalump bleutyler: the top one is the base of the conflict
17:56 Heffalump i.e. the nearest ancestor of the working copy and what you just pulled
17:57 markstos I've found the conflict formatting confusing before, too.
17:57 markstos I've wondered why they couldn't be labeled:
17:57 owst Heffalump: and the other two aren't ordered in any sane way, right?
17:57 markstos ================ nearest ancester =====
17:57 markstos >>>>>>>>>>>> RT#1234 Patch A
17:58 markstos >>>>>>>>>>>>>>>>>> RT#1234 Patch B
17:58 markstos etc ?
17:58 owst markstos: you don't know which named patch they come from
17:58 owst the conflicts are on a different layer
17:58 markstos You mean, darcs doesn't know either.
17:58 Heffalump owst: correct
17:58 owst (prims vs named patches, essentially, I think)
17:58 Heffalump markstos: yeah. Well, it can infer it, but it's an expensive operation.
17:58 owst Heffalump: what causes the ordering?
17:58 markstos I figured there was a good reason.
17:59 Heffalump owst: the ordering is just sorting the hunks, I think - just to make it deterministic
17:59 owst Ah, ok
17:59 markstos like, alphabetical?
17:59 Heffalump something like that :-)
17:59 markstos Do we know which hunk is "older" and "newer" ?
17:59 Heffalump we need a repo format change to annotate conflicts with their sources
17:59 Heffalump markstos: no
17:59 owst I donubt it
18:00 owst Heffalump: and we need to design the repo format before we can change it ;-)
18:00 markstos Still, I think labelling the "nearest ancestor" patch could be helpful... at least we know that. Am I right that the "nearest ancestor" is a somewhat new addition to this UI? I thought I remember it being 2 parts in the past, not 3.
18:00 bleutyler So just so I understand, this is how the conflicts are labelled:
18:00 bleutyler v v v v v v v
18:00 bleutyler base of the conflict
18:00 bleutyler =============
18:00 bleutyler what was just pulled
18:00 bleutyler *************
18:00 bleutyler working copy version
18:00 bleutyler ^ ^ ^ ^ ^ ^ ^
18:01 owst bleutyler: the working/what was pulled can be in either order
18:01 owst all you know is the base
18:01 owst you have to try and work out which is which for the other two (sucky!)
18:01 markstos The base belongs to darcs.
18:01 owst :-)
18:01 bleutyler owst: thank you for clearing that up
18:02 owst markstos: indeed it did used to be just the conflicts, no base
18:02 owst I think Heffalump implemented that change, somewhat recently
18:03 markstos I think I eventually guessed why their where 3 parts, but I had not intuition about which was which.
18:03 owst I have to look it up, every so often
18:05 bleutyler Does the darcs.net wiki accept mediawiki formatting?
18:06 owst I think it's markdown-based
18:06 markstos left #darcs
18:06 markstos joined #darcs
18:06 bleutyler owst: thank you
18:07 markstos The wiki could also use some built-in docs about the expected formatting. I've been confused on that point myself before.
18:08 bleutyler so the darcs wiki can use a FAQ section about how to format your edits :)
18:08 markstos better would be a note write on the "page edit" screen.
18:10 Heffalump markstos: I keep thinking that, but keep failing to do something about it :-)
18:11 Heffalump and yes, the base is new. Any thoughts on how we should change the markers to indicate that?
18:12 markstos Heffalump: stick "nearest ancestor" in the top marker line?  (Unless there is a more standard term for that)
18:12 Heffalump I think "base" is fairly standard
18:12 bleutyler joined #darcs
18:12 Heffalump but I dunno how well-known it would be
18:13 markstos Heffalump: "base" is OK with me. I know "git" uses the same concept as well, but I'm not recalling what it's commonly refered in git-land.
18:13 owst Heffalump: how do you find the base?
18:13 owst markstos: infimum :-)
18:14 owst (greatest common ancestor, I expect)
18:16 Heffalump owst: I think it's just in the conflict representation
18:16 Heffalump "nearest" ancestor is a bit of a fib if the conflict is complicated
18:16 owst Ah, right, I wondered if you did some sort of commuting of the conflict, or somesuch
18:16 * owst hasn't really looked at the mark-conflicts code
18:18 Heffalump I just looked at it and the precise details aren't immediately obvious to me
18:18 owst heh
18:18 owst I've got no chance then
18:18 Heffalump I don't think it's complicated, just not completely trivial
18:19 * owst also started looking at extending HSE with support for GADT records and bangs
18:19 owst parser baptism-of-fire! :-)
18:20 Heffalump ooh, cool
18:20 owst I use GADT records in my project at work and it was annoying. Also darcs
18:21 owst I've found SPJ's commit to add similar support to GHC, so hopefully that'll be useful. It seems that HSE is based on GHC's parser code
18:34 sm__ joined #darcs
18:38 amgarchIn9 joined #darcs
18:44 sm g'day all
18:44 sm +1 markstos, that report would be very useful
18:44 sm I haven't noticed it in any other VCS either
18:45 markstos I haven't either.
18:45 markstos Github has a few graphs, but none of them report on "surface-area-per-developer": https://github.com/marksto​s/CGI--Application/graphs
18:47 sm I guess it'd be a matter of adding an api to the annotate code, and then just brute-force running that for each currently-existing file
18:47 mizu_no_oto joined #darcs
18:48 Heffalump IMO it'd be too misleading for the reasons owst mentions
18:49 Heffalump now, if we added support for cleverer patches, and inferred that for our historic changes...
18:50 sm it's a simplistic report, but I'd still find it useful
18:51 sm I guess the way to start is just script it
18:51 markstos sm: It could be mocked-up with a shell script driving the current annotate.
18:52 * sm nods
18:52 markstos :)
18:52 * sm high-fives markstos
18:52 * markstos smack!
18:52 markstos Now someone just needs to write the script. :)
18:53 Heffalump darcs show manifest, darcs annotate, job nearly done :-)
18:53 markstos parsing the annotate output to count lines per developer will be the only challenge.
18:54 sm show manifest is an alias for show files ?
18:54 Heffalump yes
18:55 Heffalump actually, probably easier to do in code given what markstos said and also the need to manage .authorspellings
19:02 epta joined #darcs
19:02 epta Is there some convertion table from git commands to darcs commands? Or something like darcs tutorial for git-user?
19:03 markstos Heffalump, owst: It would be nice to produce an intermediate format, which lists a breakdown of lines-per-developer for each file. This could be the basis of a graphs showing contribution by file type or directory for the current surface area.
19:04 markstos epta: Yes. Let me look it up.
19:05 markstos epta: Sorry, I was thinking of the reverse. Is there a particular command you looking for an equivalent to?
19:05 epta markstos: no, just a whole flow
19:06 sm http://darcs.net/RosettaStone
19:06 epta sm: great
19:07 markstos Darcs has made of point of making transition easy. So, in some cases, we support hidden aliases so that you can use a git subcommand in darcs. For example, darcs uses "darcs changes", but if you use "darcs log", it will print a the change history.
19:07 markstos Thanks, sm. Bookmarking.
19:08 epta Btw, as a git user I prefer ncurses frontend to git named tig. Is there something like tig for darcs?
19:09 markstos epta: I don't know tig, but much of the darcs UI is interactive by default, making it easy to learn and use.
19:09 markstos epta: Have you tried your first "darcs record" yet?
19:09 epta No
19:10 markstos I think you'll find darcs needs no additional layer to be user-friendly. It is by default.
19:11 sm http://www.megacz.com/though​ts/git.for.darcs.users.html and http://darcs.net/DifferencesFromGit may also be of interest
19:12 sm there's no curses ui for darcs, but are are two emacs-based ui's if you partake of that
19:35 raichoo joined #darcs
20:01 sm__1 joined #darcs
20:02 sm__2 joined #darcs
20:58 mizu_no_oto joined #darcs
23:30 Heffalump http://hub.darcs.net/ganesh/annotate-all - also need http://hub.darcs.net/ganesh/hack-for-annotate-all
23:30 Heffalump (that was more interesting than trying to figure out encoding problems this evening ;-)
23:30 sm__ joined #darcs
23:31 Heffalump sm__: http://hub.darcs.net/ganesh/annotate-all - also need http://hub.darcs.net/ganesh/hack-for-annotate-all
23:31 Heffalump oh, and it blows up on things the size of darcs, I need to get the strictness right
23:32 * Heffalump goes to bed
23:32 Heffalump tell markstos about it if he pops back
23:32 owst Heffalump: cool!
23:32 owst hacks seem to be exposing more stuff?
23:32 owst *just exposing
23:37 owst Heffalump: http://hub.darcs.net/ganesh/a​nnotate-all/browse/Main.hs#91 isn't that a broken layout? The S of Sealed is one more indented than the l of let?
23:40 sm Heffalump: nifty!

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