Camelia, the Perl 6 bug

IRC log for #darcs, 2012-12-18

| 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
00:49 mizu_no_oto joined #darcs
01:51 mizu_no_oto joined #darcs
02:14 mizu_no_oto joined #darcs
02:48 intripoon_ joined #darcs
03:42 stepcut joined #darcs
04:10 mizu_no_oto joined #darcs
08:38 donri joined #darcs
09:09 schlaftier joined #darcs
09:44 raichoo joined #darcs
10:14 lelit joined #darcs
10:16 * lelit discovers "annotate --machine-readable" and whispers
11:05 owst joined #darcs
11:58 * lelit reimplemented trac-darcs support for darcs annotate 2.8
11:59 lelit yeah
12:04 owst cool! :-)
12:04 owst sorry I forgot about the lack of machine-readable
12:05 lelit np, I found it browsing the darcs source, to see if the hack of reintroducing --xml-output was simple enough for me :)
14:16 awagner joined #darcs
14:20 mizu_no_oto joined #darcs
14:27 iago joined #darcs
15:14 mizu_no_oto joined #darcs
16:43 mizu_no_oto joined #darcs
16:54 markstos joined #darcs
16:57 markstos So I had a bad rebase experience today.  I was about to get upset with a co-developer, because I saw a patch that said "remove whitespace", but in fact it removed most of the file. Thankfully, I thought to compare the original patch to the rebased version. The original patch was as stated, but the rebased version had hundreds of lines added to it that were not related, and turned the patch name into a lie. We now have 50 patches that can't trust
16:57 markstos that the patch names actually match the contents.
16:57 markstos I suppose this means I should always be using "reify", not "unsuspend"?
16:57 markstos I have not used "reify" yet, but from the brief docs, it appears to work like "unsuspend", but leaves my existing patches alone, creating new fix-up patches instead.
16:58 markstos Frankly, that seems like a lot better default behavior.
16:58 markstos as there is no "data loss" as with unsuspend. If y ou "reify", can amend-record the fix-up patches to merge them with other patches,
16:59 markstos but if your patches are unsuspended and modified, there's no way to get back the original patches, without returning to a backup.
17:00 markstos I have had other surprising patch modifications before as well. (Including a patch that became the inverse of itself!), but I chalked it up to rebase in experience.
17:01 markstos While I understand that rebase is a poweful and dangerous feature, it stills seems worth erring on the side of safety.
17:02 markstos Considering the danger of these commands. They could all use some "long help" that expands on their short help.
17:13 markstos Thankfully in my case, I think I have the backup patches I need. I'm going to see if I have all the pieces to try again with reify instead of unsuspend.
17:19 Heffalump reify isn't really supposed to be exposed
17:19 Heffalump but as you've found it's useful which is why I have it at least for now
17:21 Heffalump (flaky internet, might randomly iddisappear)
17:29 markstos Heffalump: but it works as I suspect? (Like unsuspend, but with fix-ups in their own patches?)
17:44 Heffalump markstos: yes
17:44 Heffalump the basic problem of unsuspend being permanent is a key one, but I don't have a good solution
17:44 Heffalump at least not one I can implement and get 2.10 out any time soon
17:50 amgarchIn9 joined #darcs
17:54 amgarchIn9 joined #darcs
18:20 markstos Thanks for the reply, Heffalump. I appreciate your work on darcs and look forward to 2.10.
18:35 markstos Heffalump: I've shared a patch to try to clarify the "rebase unsuspend" docs a bit: http://hub.darcs.net/markstos/darcs-​screened/patch/20121218183311-20bb4
18:41 raichoo joined #darcs
18:58 markstos Heffalump, I just found a case where "rebase unsuspend" had prefectly inverted a patch. I didn't notice right away, so I ended up recreating the patch exactly again on top of that (essentially the process had created a rollback patch, and I had created an un-rollback patch). Had "reify" been used instead,  darcs would have created a new inverse patch initially that was obviously spotted and reverted, rather than the difficult-to-spot inversion-b
18:58 markstos y-amendment.
19:00 schlaftier joined #darcs
19:06 markstos Heffalump: Here's a clue on how recreate one of the confusing inverted-by-rebase patches:  I had patches A and B which conflicted, and C which resolved the conflict. Using rebase, I oblit'ed B. The patch C became inverted. I see now this happened twice in my current project. In both cases, I would have wanted "C" oblited instead. Maybe this is generally true?: When a patch is oblited by rebased, a conflict resolution that depends on it should be
19:06 markstos oblited too? Doesn't this have the same result as inverting the conflict resolution?
19:07 markstos Or perhaps this is true: Anytime rebase would "fix" a patch by inverting it, it would be better to offer to oblit it (or create a rollback patch). In any case,  inverting patch contents while keeping the patch name the same seems like a  case to avoid.
19:34 amgarchIn9 Hi, what is this rebase thing everybody is taking about lately?
19:34 markstos "darcs rebase" ... in the latest dev releases, not yet in a stable release.
19:35 markstos If you are familiar with "git rebase", it's a similar concept, applied to darcs.
19:35 markstos amgarchIn9: If you search for "rebase" on http://wiki.darcs.net you'll find a couple patches about it.
19:35 markstos It's still under-documented.
19:36 markstos And it's still a good way to accidently rewrite your project history if you aren't careful!
19:38 mizu_no_oto joined #darcs
19:51 markstos darcs record UI issue: In the final prompt, it asks "Do you want to record these changes?" If I try "n" for "No", it says simply "Invalid response, try again!". Apparently, I can have to answer "q" for "No", but I can answer "y", "d" or "a" for "yes", "done" or "all".
20:05 Heffalump markstos: oh, I sort of understand what happened there.
20:05 Heffalump (with the inverted thing)
20:05 Heffalump not sure it's trivial to actually detect the scenario though
20:06 markstos Because there's a not a marker that declares a patch is a conflict resolution patch?
20:07 Heffalump in part, and also because a patch can contain lots of things, only some of which might be the resolution
20:07 markstos true. Good point.
20:16 sm__ joined #darcs
20:17 Heffalump markstos: in the scenario above, did you suspend C, obliterate B, then unsuspend C? When I do that I get a conflict.
20:17 Heffalump if I use reify on C, then I get a fixup that's inverted-B
20:18 Heffalump at least I expect I would
20:19 markstos Heffalump: Yes, I suspended both A and C, oblited B, then unsuspended A and C.
20:19 markstos Did you suspend A, too?
20:19 Heffalump no - I'll try that
20:21 Heffalump same result
20:22 Heffalump A looks fine, unsuspending C  causes a conflict
20:22 markstos hmm, then I'm not sure how my case is different then.
20:23 Heffalump I can generally understand what might lead up to this
20:23 Heffalump if you have A;B with B conflicting with A (A earlier in history)
20:24 Heffalump then the "effect" B has on the repo is to invert A
20:24 Heffalump and C (which resolves the A/B conflict) starts out from the context before A
20:25 Heffalump this rather counter-intuitive behaviour is necessary for symmetry
20:25 markstos BTW, I bought the "Learn You a Haskell" ebook and have been reading it as I have time. I attempted this before, but I think I'm retaining more this time.
20:25 Heffalump anyway, when you obliterate B, the fixup becomes the flat patch that inverts A
20:27 markstos I think my take-away is that next time I should try reify instead.  It turns out this time I didn' t have the backup I thought I did, so I can't practice reify on my project now. Instead, I've been going through my unsuspended patches to manually spot ones with unwanted amendments, and fixing them like that. Hopefully done soon. But for now, a brief tea break.
20:27 Heffalump I guess I would always recommend having a backup before doing significant rebasing
20:27 iago joined #darcs
20:38 markstos Heffalump: point taken. I thought I had a backup, but it wasn't a complete enough patch set. I'll plan accordingly next time.
20:41 markstos One strange thing I'm seeing is that parts of the patches I oblit'ed hung around as silent amendments to patches that where suspended/unsuspended.
20:42 markstos I more fully understand the challenges now of yanking a sizable project out of the patch history. :)
20:47 favonia joined #darcs
20:51 Heffalump I've had quite a lot of practice doing that myself :-)
21:11 gpiero joined #darcs
21:20 markstos Heffalump: good news, bad news.
21:21 markstos bad news first: I got my repo stuck in the the "rebase suspend" state again with zero patches suspended, and I don't know how to get it out of it. (And this time, I need to).
21:21 markstos Good news: I think I know what triggered it this time.
21:22 markstos I had done "darcs rebase suspend -p '...', and then canceled instead of proceeding. I think that was the trigger.
21:23 markstos Since I understand the trigger, I would love some confirmation before I manually revert _darcs/format, but I would love some confirmation first that this should be safe to do?
21:26 Heffalump yes, that's safe
21:26 Heffalump btw, sorry, I know about that bug (and also the pull one) just hadn't got round to recording them properly
21:27 markstos It's like you're volunteering for this job.
21:27 Heffalump I was distracted for several months trying to introduce the darcs monad (work now on hold) but am focusing on rebase/getting 2.10 out now
21:28 Heffalump actually, hangon
21:29 Heffalump I'm not 100% certain that just reverting _darcs/format is enough - there might still be an empty rebase patch
21:29 Heffalump the best fix is to make a dummy patch, suspend that, then obliterate it
21:29 markstos I've modified _darcs/format by hand now. How can I test if things are OK?
21:30 Heffalump darcs check
21:36 carter_ joined #darcs
21:42 mizu_no_oto joined #darcs
21:44 raichoo Hi, can I make darcs changes use the pager?
21:44 Heffalump apart from | less, presumably?
21:44 raichoo yup
21:45 Heffalump I don't think you can, sorry
21:45 Heffalump only darcs help will use it
21:46 raichoo Hm, too bad. Ok, thanks.
21:49 raichoo Ok, had to turn DARCS_ALWAYS_COLOR off to make it work with | less. That's better than nothing ^^
21:50 markstos raichoo: did you try "less -R" to get it to display the colors?
21:51 raichoo uh, got to give that a try
21:53 markstos raichoo: any luck?
21:53 raichoo hm no colors, but at least I don't see the escape codes anymore.
21:54 markstos raichoo: what do you see for: env | grep TERM
21:55 raichoo TERM=rxvt-unicode-256color
21:55 markstos Certainly appears to have color support there. :)
21:55 raichoo yep ^^
21:55 raichoo I do have on all the other commands as well.
21:56 raichoo however "changes" seems to be a bit picky here
21:56 raichoo there is also no color when issuing it in the terminal
21:56 markstos try "less -r"
21:56 raichoo nope
21:57 markstos dang
21:57 raichoo Tue Dec 18 22:50:43 CET 2012  raichoo@googlemail.comESC[00m * blESC[00m
21:57 raichoo that does not look to colorful tbh ^^
21:57 raichoo ESC[00m that is
22:00 raichoo I always thought that "changes" does not have a colored output.
22:04 markstos Heffalump: You were right about the _darcs/format hack not working, there are still fake rebase patches in the repo. I'll put the line back and do a no-op suspend, unsuspend as you advise.
22:33 sm__ joined #darcs
22:34 sm__ joined #darcs
23:41 mizu_no_oto joined #darcs
23:58 gpiero left #darcs

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