Camelia, the Perl 6 bug

IRC log for #darcs, 2013-01-02

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

All times shown according to UTC.

Time Nick Message
00:23 mizu_no_oto joined #darcs
01:13 owst joined #darcs
02:31 intripoon joined #darcs
02:36 donri how does "get" behave if new patches has been pushed since last optimize --http? does it git the tarballs first and then the missing patches individually?
02:37 donri s/git/get/ (hah colemak typo)
02:41 donri ah yes it does (found the blog post)
02:42 donri sm: could it then make sense to have a cron job on the hub run optimize --http on repos?
03:19 favonia joined #darcs
03:27 mizu_no_oto joined #darcs
03:28 sm donri: sounds interesting, if you test get speed on some big repos I could optimize them and see what happens (http://hub.darcs.net/simon/ghc-old is the biggest afaik, but might be too big to optimize)
03:28 sm night all
03:30 donri sm: http://darcs.net/Internals/OptimizeHTTP#benchmarks
03:30 donri night
03:43 Igloo joined #darcs
03:43 mizu_no_oto joined #darcs
04:15 jyyou joined #darcs
04:46 kmels joined #darcs
10:12 mizu_no_oto joined #darcs
10:18 mizu_no_oto joined #darcs
10:56 owst joined #darcs
11:06 mizu_no_oto joined #darcs
11:06 amgarchIn9 joined #darcs
11:59 mizu_no_oto joined #darcs
13:31 favonia joined #darcs
14:27 amgarchIn9 joined #darcs
14:54 kerneis joined #darcs
15:01 mizu_no_oto joined #darcs
15:03 kerneis_ joined #darcs
15:30 drostie joined #darcs
15:55 rdesfo joined #darcs
16:20 mekeor joined #darcs
16:26 pabs3 joined #darcs
16:26 pabs3 is there a way to tell if a remote repository exists without downloading the whole repository?
16:43 sm__ joined #darcs
17:42 ManateeLazyCat joined #darcs
17:43 owst joined #darcs
17:47 owst pabs3: you could try `curl REPO_LOCATION/_darcs/hashed_inventory`
17:47 owst (if it's an old format repo (pre darcs 2), then that file won't exist, you'll need to try _darcs/inventory)
18:21 donri joined #darcs
18:22 sm__ joined #darcs
18:52 gbeshers joined #darcs
19:37 sm__ joined #darcs
19:56 drostie joined #darcs
20:35 mizu_no_oto joined #darcs
20:52 owst joined #darcs
21:16 rdesfo joined #darcs
22:22 Heffalump I've started hacking up a tool to make it easier to manually edit darcs repos - useful for making buggy test cases or for forensics: http://hub.darcs.net/ganesh/darcs-repo-internals
22:47 owst y u no use putStrLn? `when verboseDebug $ trace ("read " ++ show (length (terminatedLines uncompressedContents)) ++ " lines") $ return ()`
22:53 owst So it attempts to decode patches into plain text form, and update the inventories accordingly. Presumably, the use case is to wibble the patch contents by hand and re-encode, thereby not needing to manually change hashes.
22:54 Heffalump right
22:55 * owst always uses this trick :-) `parseInventory (str:rest) | verboseDebug && trace (show str) False = undefined`
22:55 Heffalump I know ! y I no use putStrLn
22:55 Heffalump I think it was because I'd already used trace in pure code (as per your paste) and therefore had it on the brain
22:56 Heffalump anyway, the hacking up took way longer than making the repo by hand some other way would have, but now I have the beginnings of a repo-hacking tool
23:05 owst `((str:) *** id)` == `first (str:)` I think
23:06 Heffalump agreed [I didn't write it to be pretty :-) I'm going through cleaning up the code now as it happens]
23:06 owst Otherwise: interesting
23:06 owst :-)
23:08 owst The first 2013 copyright I've seen
23:09 donri is this like git's "plumbing"? :p
23:13 Heffalump it's not intended for anyone other than developers and desperate users
23:13 owst heh, make that super-desperate ;-)
23:13 Heffalump I think the darcs library will evolve into plumbing
23:14 Heffalump I think it (darcs-repo-internals) will also be the basis for the repo obfuscator I've been promising markstos for a while
23:15 Heffalump re plubming: WTF at this random google result for it: http://www.trottercashion.com/2011/04/11/use-g​it-plumbing-for-more-awesome-github-pages.html
23:17 owst Woah.
23:18 * Heffalump hlints and wonders whether to listen to "redundant do" warnings
23:19 donri i find redundant do's useful because it's easier to add new statements later
23:20 Heffalump donri: yeah, that was what I was thinking
23:22 owst Heffalump: what's the plan of attack for obfuscating? I wonder what steps will be necessary to ensure the obfuscation doesn't prevent certain bugs from occuring
23:22 Heffalump well, it probably won't be perfect
23:22 Heffalump the first goal would be to preserve privacy, the second to if possible reproduce whatever problem the user has
23:23 Heffalump my basic plan is to do a one-way tranformation (need to research what - maybe hash with a random salt) on each line of text
23:23 owst So equal lines become distinct?
23:24 Heffalump that would work on working dir contents, hunk patches, and pristine contents, and should keep them all consistent
23:24 Heffalump no, random salt for the whole repo
23:24 owst Ah, right
23:24 owst Yeah, that's what came to mind for me
23:24 Heffalump replace patches are a particularly tricky problem
23:24 owst Hmm!
23:24 Heffalump and there's also patch names and filenames that ideally would be obfuscated
23:25 Heffalump my current idea for replace patches is to have a pre-pass that turns them into hunk patches (obviously this is one case where a bug may well be removed by the obfuscation)
23:25 Heffalump an alternative plan is a pre-pass that identifies them and uses them to break lines into multiple pieces for separate hashing, where a replace patch will eventually get in the way
23:26 owst the second option sounds ok, what do you mean "get in the way"
23:27 Heffalump if you have "wibble the wobbles" as a line, you can't transform the entire line if at some point it will be affected by a replace patch for "the"
23:28 owst Oh, yeah, I see
23:29 Heffalump a simple hack that comes to mind now would be to fail the obfuscation if a replace patch that can't be applied is encountered, but make a note that the specific line contents that were encountered must be transformed different on a restart
23:29 Heffalump (obviously it could all be programmatically managed)
23:30 owst Oh and what about a situation like: `replace foo bar; replace "bar baz" qux` if the foo->bar patch puts foo on a line on its own, the "bar baz" will presumably no longer match
23:30 owst not sure if such a replace patch is possible (for the "bar baz" containing a space)
23:32 Heffalump replace patches that introduce newlines are a particular problem, but also particularly rare I think
23:32 Heffalump I'm not sure if that was your example was about, but I can't see a fundamental problem apart from that.
23:33 Heffalump multiple replaces with different delimiter sets are also a general problem actually
23:33 owst it was a second replace patch that relied on the replacee of the first replace patch being on a line with another token
23:34 owst err, "replacee" doesn't really make sense :-)
23:34 Heffalump if the delimiters are the same,I don't see a problem; foo would be replaced by transform(foo)
23:34 Heffalump but actually in your example probably space isn't a delimiter in the second replace
23:36 owst Well, anyway, delimeters are potentially a bit tricky
23:38 Heffalump just turning replace into hunk patches seems simpler :-)
23:38 owst Yeah

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