Camelia, the Perl 6 bug

IRC log for #darcs, 2010-11-16

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

All times shown according to UTC.

Time Nick Message
00:04 copumpkin joined #darcs
00:05 zooko left #darcs
00:14 gal_bolle left #darcs
00:20 secorp joined #darcs
00:34 gh_ left #darcs
00:36 sm Igloo: hurrah, congrats on the ghc release
00:36 Igloo thanks  :-)
00:40 twb joined #darcs
00:41 copumpkin left #darcs
01:05 lispy1 joined #darcs
01:05 lispy1 hrm.  Darcs 2.5 doesn't build with ghc 7
01:06 Igloo Heffalump was looking at that, but I don't know how far he got. Some deps may also still need minor updates.
01:08 lispy1 Igloo: Yeah, I'm not too worried if 2.5 doesn't build, so now I'm trying with HEAD
01:08 lispy1 This is mainly out of curiosity
01:10 Igloo Oh, my brain didn't even register that you were talking about a release
01:10 lispy1 Shellish.hs:187:19: Not in scope: data constructor `Permissions'
01:24 knewt2 left #darcs
01:31 lispy1 left #darcs
01:31 lispy1 joined #darcs
01:36 lispy1 Getting darcs to build cleaning on GHC 7 is going to take a fair bit of work, mostly due to recursively changing dependencies
01:36 lispy1 For example, cmdlib's dependencies have compiler errors on ghc7
01:40 Igloo But work for other people, presumably (cmdlib being an exception, IIRC)
01:41 lispy1 Igloo: IIRC, cmdlib is the Neil version
01:42 Igloo Ah, could well be
02:00 ManateeLazyCat joined #darcs
02:10 knewt2 joined #darcs
02:16 lispy1 left #darcs
02:16 lispy1 joined #darcs
02:31 sm I thought darcs didn't use cmdlib
02:46 lispy1 left #darcs
02:46 lispy1 joined #darcs
03:07 zooko joined #darcs
03:13 copumpkin joined #darcs
03:46 ManateeLazyCat left #darcs
03:57 intripoon_ joined #darcs
04:00 intripoon left #darcs
04:01 lispy1 left #darcs
04:01 lispy1 joined #darcs
04:13 zooko left #darcs
04:17 ManateeLazyCat joined #darcs
04:31 lispy1 left #darcs
04:31 lispy1 joined #darcs
04:34 zooko joined #darcs
05:23 darcscommitbot left #darcs
05:30 copumpkin is now known as opumpkin
05:32 Heffalump lispy1: I have patches for 2.5 on GHC 7. Need to have a discussion about whether to use -XNoMonoLocalBinds or not (without that, we need about 30 or 40 type signatures)
05:33 Heffalump I haven't even tried HEAD.
05:35 sm left #darcs
05:49 zooko left #darcs
05:49 zooko joined #darcs
05:59 twb left #darcs
06:01 twb joined #darcs
06:05 lispy1 left #darcs
06:10 opumpkin is now known as copumpkin
06:31 copumpkin left #darcs
06:36 ManateeLazyCat left #darcs
06:44 secorp left #darcs
07:05 secorp joined #darcs
07:05 secorp left #darcs
07:06 secorp joined #darcs
07:14 balor joined #darcs
07:31 balor left #darcs
07:55 zooko left #darcs
08:02 darcswikibot left #darcs
08:02 darcscommitbot joined #darcs
08:03 darcswikibot joined #darcs
08:05 darcsohlohcommit left #darcs
08:06 darcsohlohcommit joined #darcs
08:58 lispy left #darcs
09:33 kowey joined #darcs
09:34 kowey heh, more "lack of history is a shortcoming" - http://codicesoftware.blogspot.com/2​010/11/version-control-timeline.html
09:53 gal_bolle joined #darcs
09:58 gal_bolle hi all
10:00 kowey (hi) - and http://typewith.me/nAck2qqe5o
10:01 kowey (50% failure to suppress the urge to respond, 50% honing my ability to respond in a clear, concise, stay-on-message fashion)
10:01 gal_bolle do we have a trace of the patch meta data discussion somewhere on the wiki?
10:02 kowey you mean from GSoC?
10:02 kowey did we have one?
10:03 gal_bolle i think the idea floated around at some point
10:03 gal_bolle when no history is a failure last came up
10:03 gal_bolle (that'd put us last month ;-( )
10:04 kowey hmm, I don't see anything in http://wiki.darcs.net/Ideas/
10:04 kowey Ideas/ is a handy place to snapshot discussions like this -- big future ideas
10:05 gal_bolle thanks, that's what I was looking for
10:06 mornfall It's bloody wrong.
10:06 mornfall (The timeline.)
10:07 gal_bolle given that the boxes all have the same size, i have no idea how to read them
10:07 mornfall It's also quite stupid.
10:07 gal_bolle (other than X is more or less contemporary to Y)
10:07 gal_bolle or Z is way older than both
10:10 kowey it can be a bit superficial in its outlook
10:11 gal_bolle is there a way to inline the list of ideas in http://wiki.darcs.net/Ideas/ ?
10:11 gal_bolle it's one click too much
10:11 kowey I always appreciate the effort to survey, though
10:12 kowey inline them?
10:13 gal_bolle have the list of ideas appear of the Ideas page
10:13 gal_bolle rather than a _link_ to the directory listing
10:14 kowey the implicit argument that "older is worse", even made in a jokey fashion, is somewhat silly (though the mobile phone pictures are cute)
10:14 kowey oh yeah, I see what you mean.  Not that I'm aware of
10:18 gal_bolle ok, doing it by hand
10:28 gh_ joined #darcs
10:40 balor joined #darcs
10:41 gh_ gal_bolle, there was such a list on the page http://wiki.darcs.net/Ideas. It was outdated.
10:41 gh_ so if you put it back and want it to be up to date, this is extra effort
10:44 raichoo joined #darcs
10:51 kowey that typewith.me is morphing into http://wiki.darcs.net/Mission
10:51 kowey which needs re-orienting and refinement
10:56 gal_bolle gh_: yes, but it allows to categorize ideas
11:02 gal_bolle how do i push patches to the wiki?
11:03 kowey hmm, this may need to be documented
11:03 kowey gitit@darcs.net:DarcsWiki
11:04 gal_bolle thanks
11:05 gal_bolle except it hasn't got my ssh key
11:06 kowey how about now?
11:06 kowey oh wait, I already added that one
11:07 gal_bolle nope
11:08 kowey now?
11:09 gal_bolle it works, thanks
12:07 ManateeLazyCat joined #darcs
12:14 copumpkin joined #darcs
12:18 rks joined #darcs
12:43 copumpkin left #darcs
12:50 raichoo left #darcs
12:56 gh_ I've made available the patches that remove "get/put/init --old" that I mentioned yesterday at this branch http://www.loria.fr/~hoffmang/darcs/
12:57 ManateeLazyCat left #darcs
13:13 twb left #darcs
13:34 zooko joined #darcs
13:42 gal_bolle i don't undersand the new partitionFL. What does "middle" mean?
13:50 copumpkin joined #darcs
13:51 copumpkin left #darcs
13:51 copumpkin joined #darcs
13:53 kowey hmm, uh-oh, that reminds me that http://darcs.net/api-doc/ is mysteriously empty, so I'll have to look at a local copy to remind myself
13:54 gal_bolle yes, haddock fails
13:54 gal_bolle because of stuff in Braced.hs
13:54 kowey is there a patch to fix there somewhere on the tracker?
13:55 gal_bolle i don't think so
13:56 kowey the http://bugs.darcs.net/patch273 review may help
13:56 gal_bolle i don't understand what fails, but it might have to do with cpp
13:56 gal_bolle yes, thanks
13:56 gal_bolle parse error on input `-- ^ A single patch, not wrapped in braces'
13:58 kowey does haddock not like GADT-style?
13:58 gal_bolle i have no idea
14:02 gal_bolle haddock seems to choke erratically
14:06 kowey http://trac.haskell.org/haddock/ticket/43
14:08 kowey pushing haddock fixes now...
14:08 gal_bolle ok
14:09 sm joined #darcs
14:14 gbeshers left #darcs
14:17 raichoo joined #darcs
14:32 gh_ The ratio between the amount of text written in the discussions of late august about OF support and the adventure branch, and the actual changes that happened to darcs HEAD is a little sad. It is only now that I am reading those mails because I found them too big back then...
14:49 kowey patch374 has most of the progress
14:49 kowey the code, that is
14:50 kowey if you're interested in OF removal, it might be good to look there
14:52 gh_ yes, I partially duplicated that work. patch374 contains new features, so it's a little frightening.
14:52 gh_ and still we don't know what is goign to happen with this patch
14:59 gh_ I wish patch374 was more separated in several bundles that could have been reviewed one by one. It does not have to be the case that the same bunle contains OF removal patches and new features. But back then I did not have time to contribute to the discussion, that's why I'm waking up now...
15:04 zooko left #darcs
15:04 gal_bolle gh_: you can split it yourself
15:05 gal_bolle it's ok to cherry-pick what you review and apply
15:05 Igloo That may be no easier then starting from scratch, though
15:05 gal_bolle (as long as what you apply is coherent)
15:05 gh_ as Igloo said.
15:05 gh_ but yes, cherry picking is also a solution
15:06 gh_ I wrote my patches to have fun also :-)
15:06 gh_ and understand what parts of the code are affected by the changes
15:08 kowey SIGMOD? http://www.sigmod.org/
15:09 kowey wikipedia clicking lead me to http://www.sigmod.org/dblp/db/conf/scm/scm97.html
15:09 kowey http://www.informatik.uni-​trier.de/~ley/db/conf/scm/
15:40 Iago_ joined #darcs
15:45 raichoo left #darcs
15:45 balor left #darcs
15:47 amgarching joined #darcs
15:50 amgarching Hi, is it a problem (may it become a problem) if a repo contains patches creating and then deleting "./darcs_testing_for_nfs/" directory in the repo root? I assume darcs uses this directory internally for detecting NFS filesystems, right?
15:51 amgarching The versions of darcs operating on these repos are >= 2.02
16:00 kowey the code that created these directories went away in darcs 2.4 (?) (darcs devs: with the removal of slurpies)
16:01 kowey there used to be a module that would create that directory, do something and then remove it
16:02 kowey so I think you can safely ignore/remove such repositories when darcs is not working
16:03 kowey oh, I see what it was doing...
16:03 sm certainly if everybody's using darcs >= 2.4, there shouldn't be any problem
16:03 kowey it's just a check that darcs does to see if it's allowed to use mmap
16:03 kowey or I guess safe
16:03 kowey it checks to see whether the underlying filesystem will let you remove open files and directories holding open files
16:04 kowey heh, that's what you get for function names like can_I_remove_directories_holding_open_files
16:04 kowey and if you can do both, then green light on using mmap
16:06 sm_ joined #darcs
16:06 Sembiance left #darcs
16:08 secorp left #darcs
16:09 sm left #darcs
16:09 sm_ is now known as sm
16:12 sm I have a question.. I amended a patch I had pushed upstream and now have two patches with the same name, one mostly duplicating the other
16:12 sm how do I obliterate or rollback the earlier one ?
16:13 * sm receives the brilliant flash of answer-to-just-asked-question insight
16:13 sm select it interactively, doh
16:14 sm it's been out there a little while, so I guess it's a rollback. Bummer
16:14 copumpkin left #darcs
16:14 copumpkin joined #darcs
16:16 sm haha, it's not so simple.. selecting only one of the two, darcs thinks no changes were selected
16:19 gal_bolle what operation are you selecting it for?
16:22 kowey it may help to use --match 'log <salt>' to match on the ignore-this salt
16:22 kowey darcs changes --xml will probably show the salty log
16:23 amgarching sm: unpull both, then pull the newer version. Repeat that in all repos worldwide. Or dont "amend" patches that are already published.
16:25 sm gal_bolle: I was doing rollback. It does it if I select both of them
16:25 gbeshers joined #darcs
16:25 sm kowey: nice, I'll try that
16:25 kowey changes -i and hitting 'v' shows you the salt too
16:26 gal_bolle the problem i think is that the second patch is a noop for rollback (it does not contain any primitive patches) because of darcs-2 duplicate semantics
16:27 kowey tricky
16:27 sm kowey: are you talking about the Ignore-this field ?
16:27 kowey for the salt, yeah
16:27 sm I detest that thing :)
16:28 kowey http://wiki.darcs.net/ (http://wiki.darcs.net/Hashes )
16:28 kowey oops
16:28 kowey that hashes link explains the salt, necessary evil until darcs 3
16:28 kowey I wish it wasn't random, but hey, who's going to code a context-based salt?
16:29 sm I don't know how to match on the salt, but I can match on the hash
16:29 kowey the salt is just part of the patch log
16:29 sm ok, but -p didn't match it
16:29 kowey in fact, if you type a line with "Ignore-this: " darcs will hide it
16:29 kowey which is a sort of hidden feature you could use
16:30 kowey the long message; I think -p must match on the short one
16:30 sm ah
16:30 kowey but the problem gal_bolle pointed out may still get you
16:30 kowey unless you're really just meaning to rollback the non-dupey bits
16:30 sm well rollback --match 'hash ...' matches just the one patch, but after y darcs still says no changes selected :/
16:30 gal_bolle is that patch included in the other one?
16:31 kowey hash matches the patchinfo hash (see that wiki page)
16:31 kowey oh wait, sorry
16:31 sm gal_bolle: yes, the second one just has an extra hunk (I forgot to edit the cabal file)
16:31 gal_bolle then it's all made of dups
16:32 gal_bolle in a sense, it's already rolled back by the second one
16:32 kowey so nothing to actually do?
16:32 gal_bolle no, but you keep a dirty history forever
16:32 kowey the dupe should just be silently absorbed
16:32 amgarching cd
16:32 kowey and you'll have a messy history
16:32 kowey just don't unpull one of these later on
16:33 kowey especially not if something depends on one of them
16:33 sm yeah the repo is fine right now, but I don't like having a confusing duplicate in there
16:33 gal_bolle it's going to be impossible as soon as something starts depending on either
16:33 kowey or you could unpull that newest one real quick before anybody notices
16:33 kowey patch? what patch?
16:33 kowey (assuming there isn't already stuff on top of it which may depend on either one)
16:34 gal_bolle given the dup semantics, it should not be such a big deal if someone accidentally keeps it
16:34 sm ah, that's usually my preferred solution :) I figured folks may have pulled this one. But I guess it's either that, or... roll back both and start over, preferably not reusing the same name
16:34 kowey unpulling is safe in the technical safe
16:35 kowey it's only unsafe socially, as in potential confusion "err, why does this patch keep popping up?"
16:36 kowey an example of unpull whackamole is what happens when a spammer pushes to wiki.darcs.net
16:36 kowey and when other people have already pulled the spammy patch before I obliterate it from wiki.darcs.net
16:36 sm right
16:36 kowey took a big old motd and maybe some personal "please don't push that back"
16:37 sm that's what I wanted smarter prehooks for, remember
16:37 sm to reject patches matching a blacklist
16:37 sm (I've since wondered if you could do that by abusing the test pref)
16:40 sm right, obliterated. Thanks, all
16:47 Iago_ left #darcs
16:50 Iago_ joined #darcs
16:54 Iago_ is now known as IagoA
17:18 IagoA left #darcs
17:25 ManateeLazyCat joined #darcs
17:28 IagoA joined #darcs
17:34 lelit left #darcs
17:47 IagoA left #darcs
18:06 ManateeLazyCat left #darcs
18:08 kowey left #darcs
18:12 lispy joined #darcs
18:21 secorp joined #darcs
18:21 gh_ left #darcs
18:21 lispy left #darcs
18:21 lispy joined #darcs
18:31 lispy Heffalump: it sounds like we should not use -XNoMonoLocalBinds
18:31 lispy "The -XGADTs or -XTypeFamilies pragmas switch on MonoLocalBinds but, if you want, you can override it with -XNoMonoLocalBinds (or the equivalent LANGUAGE pragma). The type checker will then do its best to generalise local bindings, and your program will almost certainly work. However, I don't know how to guarantee any good properties of the type inference algorithm. So I think this is ok as as short term fix, but I'd like to encourage you to add that
18:31 lispy Heffalump: So it sounds like adding the 30-40 type signatures is the right way
18:32 lispy Heffalump: it goes on to explain: Compile with -XNoMonoLocalBinds -fwarn-missing-local-sigs. The first flag makes it compile, and the second shows you the types.
18:32 lispy Heffalump: that way you can figure out the missing types and add them
18:40 secorp left #darcs
18:42 raichoo joined #darcs
19:21 secorp joined #darcs
19:23 dancor left #darcs
19:25 gh_ joined #darcs
19:26 zooko joined #darcs
19:38 lispy Oh, cmdlib isn't the neil library it's mornfall's
19:49 gal_bolle left #darcs
19:49 gal_bolle joined #darcs
19:50 sm cmdlib is neil's but darcs is currently using mornfall's (shellish ?)
19:50 sm last I checked, anyway
19:50 sm g'day lispy
19:51 lispy sm: hey
19:51 lispy sm: Well, the repo for cmdlib is hosted at mornfall's server
19:51 sm I must be confused :/
19:51 gh_ there is cmdargs and cmdlib
19:52 gh_ and cmdargs is neil's
19:52 sm saved by gh_. Thank you
20:09 balor joined #darcs
20:29 Heffalump lispy: I have read all that.
20:29 Heffalump and I did add the types.
20:29 Heffalump but read the discussion I had with SPJ on ghc-users
20:29 Heffalump (which is what I need to explain to darcs-users before we decide)
20:35 zooko left #darcs
20:37 dancor joined #darcs
20:40 gh_ left #darcs
21:11 slyfox joined #darcs
21:12 slyfox hia! i have problems with darcs tests on alpha: tests/emailformat.sh requires working ghci (which is not the case)
21:13 slyfox seems it's alone test requiring it. what do you think of converting it to ghc --make call?
21:13 Heffalump fine with me (though that's slower)
21:13 mornfall I would tend to agree (we use ghc --make elsewhere in tests already).
21:14 lispy Heffalump: I'm not on ghc-users, do you have a link handy?
21:22 gh_ joined #darcs
21:24 slyfox http://paste.pocoo.org/show/292265/ <- what about something like this?
21:25 mornfall src\Darcs\Compat.hs:10:21:
21:25 mornfall Module `Darcs.Utils' does not export `showHexLen'
21:26 mornfall ^^ someone broke darcs on windows, it seems
21:26 mornfall And indeed, the network tests seem to hang there too.
21:36 zooko joined #darcs
21:37 copumpkin left #darcs
21:38 copumpkin joined #darcs
21:38 copumpkin left #darcs
21:38 copumpkin joined #darcs
21:38 gbeshers left #darcs
21:40 sm btw while ohloh darcs support is stalled, I think we should all put #ohloh on auto-join periodically chirp about it
21:40 Heffalump lispy: no
21:41 sm Sembiance there is RobertSchultz, the blackduck guy who last replied on the forum
21:45 copumpkin left #darcs
21:45 pumpkin joined #darcs
21:50 lispy sm: FWIW, I ignore darcscommitbot, darcsohlohcommit, and darcswikibot as I find them very distracting.
21:52 zooko left #darcs
21:53 balor left #darcs
21:53 sm Sounds good. Though they've been out of action for months
21:55 sm oh except for darcsohlohcommit which was an attempt to drum up some help, and I'd forgotten
21:57 slyfox mornfall: ia64 seems to require 8-byte aligned stores/loads (it's the first arch i see warnings from hashed-storage-test, 0.4.13 version). It spits a lot of whines about unaligned access.
21:58 mornfall Hmm.
21:58 lispy sm: it just seems like those things work better as twitter/identica feeds so that people who actually care about them can listen on
21:58 mornfall Wait. That's nonsense.
21:58 mornfall You can't require 8-byte aligned access to a 4-byte value, riht.
21:58 mornfall right*
21:58 mornfall But I guess I pick out bigger than 4 byte values.
21:59 mornfall slyfox: Could you maybe try making the header 8 bytes intsead of 4?
21:59 mornfall Although.
21:59 mornfall I don't pad anything.
21:59 lispy sm: I realize there is a precedent for having those sorts of annoyances in channel, but I think with the advent of RSS and twitter they have a better home now :)
21:59 mornfall Maybe padding would improve performance, here. Hm.
22:00 slyfox mornfall: i can trackdown offending test piece and show you exact warning
22:00 mornfall Ok, thanks.
22:01 sm lispy: I don't agree with you, but we might as well avoid rehashing this argument until they become active again, if that ever happens
22:02 mornfall Oh. I do align stuff.
22:02 florent joined #darcs
22:02 gal_bolle left #darcs
22:02 mornfall But 4 bytes only.
22:03 mornfall slyfox: Could you maybe try making the magic 8 bytes (you need to change all HSI4 to HSI4____ or something, and size_magic to 8, and change all the align calls to 8 instead of 4?
22:03 mornfall (There should be 2.)
22:04 florent is now known as gal_bolle
22:04 slyfox i will (will take a while though)
22:04 iago joined #darcs
22:05 mornfall Thanks.
22:05 mornfall (I indeed pick out Int64 values, and maybe ia64 doesn't like them aligned to just 4 bytes...)
22:05 Heffalump mornfall: I forget - do you aim to make the same index file work across architectures?
22:06 mornfall slyfox: Also need to change     where magic = fromForeignPtr (castForeignPtr mmap_ptr) 0 8
22:06 mornfall slyfox: (The last number was 4 before.)
22:07 slyfox btw, amd64 also seems to like 8byte aligns for int64 too: http://software.intel.com/en-us/articles/data-alig​nment-when-migrating-to-64-bit-intel-architecture/
22:07 mornfall Heffalump: I do have xlate calls in there, so it *should* work in theory.
22:08 * mornfall changes the magic constant to size_magic in his source...
22:08 Heffalump so this'll require a breaking format change to fix for alpha?
22:08 Heffalump 8 byte alignment is quite common, IIRC ARM requires it too.
22:09 mornfall Heffalump: Yes, but I already broke the format 5 times.
22:09 mornfall (The current is HSI4, started at HSI0.)
22:09 mornfall It should "just work".
22:09 mornfall Well, 4. My arith sucks.
22:11 slyfox "The Itanium processor implementation supports arbitrary load and store accesses except for integer accesses that cross eight-byte boundaries and any accesses that cross 16-byte boundaries."
22:11 mornfall I see.
22:11 slyfox "It explains that data items can occur within an aligned window, which simply reiterates the requirement that boundaries not be crossed."
22:11 raichoo left #darcs
22:12 Heffalump so mod 8, you can access an int32 at offsets 0-4, and mod 16 you can access an int16 at offsets 0-14 and an int64 at offsets 0-8?
22:12 Heffalump that sounds like fun
22:12 mornfall Heffalump: int64 just at 0, because that's integer.
22:12 Heffalump ah. Yes.
22:13 Heffalump so int32 at 0-12 mod 16
22:13 mornfall 0-4 mod 8, actually
22:13 mornfall float32 0-12 mod 16
22:13 Heffalump oh, integer covers int32 and int64?
22:13 mornfall presumably
22:14 mornfall I guess it depends on the target register.
22:14 mornfall If it's a float register, use 16, if it's integer, use 8.
22:14 mornfall (That's what would make sense to me, anyway.)
22:15 mornfall The restriction likely exists, because the fetch mechanism will just grab the corresponding cell, and the load instruction is limited to a single fetch.
22:15 * Heffalump discovered an interesting bug in darcs today. If you have a Split patch in a darcs v2 repo, darcs send will generate a broken .dpatch for that.
22:15 Heffalump but it's fine in a darcs v1 repo
22:16 mornfall Great.
22:16 Heffalump the lack of squawking makes me think this is not common ;-)
22:16 mornfall But you can't "naturally" get a Split in a darcs2 repo, can you?
22:16 mornfall Maybe via convert?
22:16 Heffalump you can via convert from v1, AFAIK
22:16 mornfall That'd make sense.
22:17 mornfall But it only creates bad bundle if you send the split, right?
22:17 Heffalump correct
22:17 mornfall (Which is normally buried somewhere deep in the history, so doesn't get sent all that much...)
22:17 Heffalump (it puts the closing ')' on the last line of the patch text, instead of on a fresh line)
22:18 Heffalump in fact you definitely can get it via convert from v1, as that's how I got it
22:18 Heffalump (I manually created the v1 repo though)
22:18 mornfall I see.
22:19 mornfall slyfox: (You could also try grabbing http://repos.mornfall.net/fslib ... which is my experimental to-be hashed-storage v2 (hopefully without the second system effect!)...)
22:19 Heffalump I don't propose to fix it for 2.5, and in 2.8 it'll be impossible if my upcoming patches get in.
22:19 mornfall slyfox: I checked in the 8-byte alignment stuff.
22:20 mornfall (I'll also need to do a lot more tests, now that I don't have a darcs version anymore that'd build against that code...)
22:26 mornfall Shoot. Darcs optimize walks through all the cache.
22:26 mornfall That's why it always takes forever.
22:28 pumpkin left #darcs
22:33 lispy left #darcs
22:33 lispy joined #darcs
22:37 lispy left #darcs
22:48 iago Heffalump, one note about the link you give me that talks about add-add conflicts
22:48 iago ...
22:48 iago that is not a problem of commutation between sequences of patches ?
22:52 slyfox mornfall: i tried to agjust align calls to 8, size_magic to 8 and fromForeignPtr. got test failure: ERROR: user error (Length mismatch in unsafePokeBS: from = 6 /= to = 8)
22:52 slyfox (still 0.4.13)
22:52 mornfall slyfox: Have you changed the magic string?
22:53 slyfox yes
22:53 mornfall It needs to be 8 bytes long.
22:53 slyfox ah, the string itself?
22:53 mornfall Yes.
22:53 * slyfox adds more garbage to it
22:53 mornfall :)
22:53 copumpkin joined #darcs
22:53 copumpkin left #darcs
22:53 copumpkin joined #darcs
22:55 secorp left #darcs
23:00 slyfox mornfall: yeah. whith all those changes unaligned all accesses go away (at least in tests) and tests still don't fail
23:00 slyfox i'll try to build fslib and run tests on it tomorrow
23:02 mornfall Great.
23:02 mornfall slyfox: I just did the same changes there, so probably not required.
23:03 mornfall (It's using the same index code as recent hashed-storage does...)
23:03 slyfox ah, ok
23:04 gh_ left #darcs
23:05 mornfall Gah. Refactoring testsuites is boooring.
23:10 Heffalump I don't suppose you're doing the darcs patch test suite?
23:11 slyfox left #darcs
23:15 mornfall No, fslib/hashed-storage.
23:15 Heffalump I didn't think you were :-)
23:17 Heffalump iago: sorry, I don't follow
23:19 iago well, the example is that you have two repos
23:20 iago repo 1 -> move all to a/
23:20 iago repo 2 -> move all to b/
23:20 iago and now merge both
23:20 iago this causes problems due to conflicts if there is, for example, a Makefile in the root of both original repos
23:22 Heffalump yep
23:22 Heffalump mornfall: btw, what is fslib?
23:24 iago well, I think the problem is how commutation between sequences is defined
23:24 mornfall I am adding more filesystem-level APIs (threadsafe, etc.) to existing hashed-storage code, as I figured it would be a reasonable fit, cohesion-wise.
23:25 Heffalump iago: if you don't define it incrementally, how do you get the properties about a sequence being in any order giving the same result?
23:25 Heffalump mornfall: ah, I see
23:25 mornfall So I took hashed-storage almost-0.6 and am working on it further.
23:25 mornfall If I have lots of time, I'll throw in code for reading git trees.
23:26 iago Heffalump, well I don't know
23:26 mornfall Unfortunately, the gat code is GPL. I could try asking for a relicense...
23:26 iago but both repos, as sequences of patches are, in theory, commutable
23:27 Heffalump I think you mean mergeable.
23:27 iago and commutable...
23:27 Heffalump And then, what would it mean to take the merged repo, and unpull the patches that do the moves?
23:29 iago well, I don't know what unpull means in terms of patch theory
23:30 Heffalump commute to end and delete
23:33 gal_bolle left #darcs
23:33 iago well
23:34 iago that's a point
23:34 iago though the current view
23:34 iago have its own problems too
23:34 iago you have to resolve a conflict between the 2 Makefile
23:34 Heffalump yes, but it gives cherry picking
23:34 Heffalump and we do have a fix for the problem
23:34 iago which is a very strange conflict
23:35 iago not very user-friendly
23:35 Heffalump there are a lot of things about darcs (even in a perfect implementation) that are unfriendly; the most obvious one is that if X conflicts with Y, XX^ and Y also conflict
23:36 iago well, yeah, all is consequence of commute by pairs
23:36 Heffalump I think if you abandon that you basically have a tree-based system.
23:37 mornfall iago: It's a consequence of commute, pair-wise or other.
23:37 Heffalump mornfall: well, not necessarily; if you did a coalesce on lists first, you might get something different but still commute-y.
23:39 mornfall Not sure to follow.
23:39 mornfall You mean nuke non-canonic identities?
23:40 Heffalump and everything else coalesce does
23:40 Heffalump so add a ; mv a b becomes add b
23:40 mornfall What kind of list then? Coalesce is rather aggressive. And it certainly does not commute (mathematical sense) with commute (darcs one).
23:41 Heffalump if you are about to commute two lists, coalesce first.
23:41 Heffalump both sides
23:41 iago Heffalump, yep
23:41 Heffalump that, give or take, is what tree based systems do
23:41 iago something like "commute by effect"
23:42 mornfall Heffalump: Ah, I see what you mean.
23:42 mornfall Yes, that's just doing a 3-way.
23:42 mornfall covariance-adjusted or whatever they call it
23:42 Heffalump I know it's not true, at least with our current patch types etc, but it would be *very* nice if that was actually equivalent to doing the commute incrementally.
23:43 mornfall Heffalump: It could work for sets.
23:43 Heffalump yeah
23:43 Heffalump but if you consider fundamentally non-commuting patches, it can only work with a cleverer generic conflict handling algorithm.
23:43 mornfall But a set of (number, line) is probably not going to do what you want. :)
23:45 mornfall (Which basically is a function from line numbers to contents, which probably can be merged no matter what, but probably not with desirable outcomes...)
23:45 mornfall Or maybe not.
23:50 Heffalump btw, on the subject of conflicts, in your idea of not representing them as patches directly, how would resolution patches work?
23:52 mornfall Heffalump: I have sketched some ideas at http://wiki.darcs.net/Ideas/NewRepositorySemantics
23:55 Heffalump how do you figure out what to enable when you unpull?
23:55 Heffalump or rather when you obliterate, in your terminology
23:55 mornfall Well, unpull probably wouldn't do be the opposite of pull anymore.
23:56 mornfall To get rid of a patch, you move it to D.
23:56 mornfall That's a "propagating" "unpull".
23:56 Heffalump I'm thinking of the simple case. x and y conflict, so are in D. You get rid of x somehow, does y go back into E automatically?
23:57 mornfall Not under this scheme. You need a command to promote things from D to E.
23:57 mornfall (In the "tracking" scheme, you also have a command to do that, although things are promoted automatically when applicable.)
23:58 iago mornfall, and what happens with the scenario that I have described
23:58 mornfall (Well, you actually have a command to do the opposite, and to cancel that later.)
23:58 mornfall iago: Which one would that be?
23:58 iago <iago> well, the example is that you have two repos
23:58 iago <iago> repo 1 -> move all to a/
23:58 iago <iago> repo 2 -> move all to b/
23:58 iago <iago> and now merge both
23:58 iago <iago> this causes problems due to conflicts if there is, for example, a Makefile in the root of both original repos
23:58 mornfall About the unrelated repo merge?
23:58 Heffalump I can't really see how this would work on large repos, but perhaps I just lack imagination :-)
23:58 iago both (full) repos will go into D ?
23:58 mornfall iago: That's orthogonal.
23:58 Heffalump IM how the UI would work in practice
23:58 mornfall iago: Well, yes of course. But you can actually solve that with UUIDs.
23:59 mornfall Heffalump: Hard to tell. :) The "simple" one has limitations very similar to current darcs.
23:59 mornfall Heffalump: And since current darcs "works", I imagine it *could*.
23:59 Heffalump plus it has no automatic-unconflicting

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