Camelia, the Perl 6 bug

IRC log for #darcs, 2012-12-12

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

All times shown according to UTC.

Time Nick Message
00:01 gh_ joined #darcs
00:23 amgarchIn9 joined #darcs
00:29 idnar joined #darcs
01:28 favonia joined #darcs
01:36 mizu_no_oto joined #darcs
01:38 stepcut joined #darcs
02:55 intripoon_ joined #darcs
06:32 jeltsch joined #darcs
08:35 raichoo joined #darcs
10:04 kmels joined #darcs
10:26 owst joined #darcs
11:25 kmels_ joined #darcs
12:10 sm g'day all
14:06 mizu_no_oto joined #darcs
14:15 markstos joined #darcs
14:16 markstos I opened a couple more tickets to polish Rebase:  http://bugs.darcs.net/issue2277 http://bugs.darcs.net/issue2276
14:46 owst markstos: nice, they look sensible
14:58 mizu_no_oto joined #darcs
15:54 mizu_no_oto joined #darcs
16:14 mizu_no_oto joined #darcs
16:29 raichoo joined #darcs
16:41 mizu_no_oto joined #darcs
16:51 raichoo joined #darcs
16:58 raichoo joined #darcs
17:29 amgarchIn9 joined #darcs
17:34 donri joined #darcs
18:22 snorble_ left #darcs
18:24 snorble_ joined #darcs
18:30 favonia joined #darcs
18:38 lambdabot joined #darcs
18:41 mizu_no_oto joined #darcs
18:49 raichoo joined #darcs
18:57 markstos Which is the default for darcs rebase unsuspend: --keep-date or --no-keep-date?
18:57 markstos And is the default the same for darcs amend-record?
18:59 markstos The default is not documented in the manual or the online help. I tried to read the source code to check, but didn't see a default declared in the places where keepDate was mentioned.
18:59 markstos I'll open a ticket.
19:02 markstos Here's the new ticket for --keep-date default value: http://bugs.darcs.net/issue2278
19:09 mizu_no_oto joined #darcs
19:12 Heffalump it's --no-keep-date
19:12 Heffalump but good point
19:12 markstos Heffalump: should I just add [DEFAULT] to the string in src/Darcs/UI/Arguments.hs ?
19:16 markstos Since that seems correct me, I've created the patch and pushed it. It can be seen here:  http://hub.darcs.net/darcs/darcs-screened/patches
19:21 markstos I also just pushed a patch to fix some references to "darcs rebase start", which does not exist. I referenced "darcs rebase suspend" instead.
19:23 markstos I keep trying to use the rebase subcommands as top-level subcommands: darcs failed:  No such command 'suspend'
19:29 markstos I've become confused about the workflow I want to be using with "darcs rebase" for this case: I have a project of about 50 patches that I want to slice out of the project history and make available again on HEAD. It has dependencies and things depend on it as well. When I try "darcs rebase suspend -p foo", it wants to suspend several things I don't want to suspend. If I say "yes", and try to unspend evyerthing but those patches, darcs wants to b
19:29 markstos ring along the patches I don't want as dependencies. I'm sure I've got the wrong workflow at this point.
19:48 markstos I opened a "wishlist" issue to ask that "darcs rebase obliterate" support the same matching options as "darcs obliterate"
19:48 markstos http://bugs.darcs.net/issue2279
20:00 Heffalump markstos: that sounds right re [DEFAULT]
20:00 Heffalump markstos: do you think suspend and unsuspend should be top-level? I'm somewhat inclined against but it's worth discussing.
20:01 markstos Heffalump: I don't feel strongly about it, but my fingers keep expecting it.
20:01 Heffalump markstos: I'm not entirely clear what you want to achieve with the "slice out of the project history"
20:02 Heffalump do you want to move them so that they're at the "top" of the repo with nothing else depending on them?
20:02 markstos I understand that keeping them as sub-sub-commands keeps them in a logical group, which makes some sense.
20:02 markstos Heffalump: Yes.
20:03 Heffalump so you'd end up with new versions of those patches and of the things that depended on them?
20:05 markstos Right. I expect some conflicts to deal with.
20:05 markstos (And some fixing up of repos that have pulled the patches already).
20:06 Heffalump ok; so let's take a simple example; you have a repo with A;B with B depending on A. And you want B;A (where likely A will now depend on B)
20:06 Heffalump is that an appropriate simplification of your problem?
20:07 markstos Yes.
20:08 markstos Well, it's more like A;B;C, and I want B;A;C.
20:08 markstos I need to slice something out of a dependency chain and move it to the HEAD.
20:08 Heffalump does C depend on A or B? If it does it'll be edited too
20:08 markstos A bit.
20:08 markstos For the most pressing case, there are really only about 5 patches that are "in the way".
20:09 markstos Pre-rebase, we would unrecord until we'd removed all the patches that had dependency issues, and re-record as needed.
20:10 Heffalump ok: so one simple way is to suspend A, B, and C, then rebase obliterate A
20:10 markstos I could also evaluate the option to apply temporary rollback "masking" patches, but I thought I had walked to prime rebase territory, but I think I got confused about the workflow to pursue.
20:10 Heffalump then unsuspend B (resolve conflicts), pull in A from another copy of the repo (resolve the same conflicts again and curse), unsuspend C
20:11 Heffalump oh, and amend A after resolving the conflicts, if desired
20:11 markstos In your abstract patch history, "A" is at the head?
20:11 Heffalump sorry, no. Other way round.
20:11 Heffalump ok, so I understand your example better now: C is back in time and A and B are after it?
20:11 markstos So, "A" is on the bottom of the patch stack?
20:12 Heffalump yes
20:12 markstos Heffalump: right.
20:13 markstos That gives me some stuff to try.
20:13 markstos Thanks!
20:13 Heffalump no problem
20:13 Heffalump I think what you actually want is to be able to force the unsuspend of B.
20:14 Heffalump i.e. you have A;B;C suspended (A is the first offered as an unsuspend)
20:14 Heffalump and...I'm sure I wrote the code to allow that recently, because I needed it
20:14 Heffalump I'm just trying to track it down..
20:14 markstos What do you mean by "force" ?
20:15 markstos Also, are you able to approve my trivial doc patches posted here? http://hub.darcs.net/darcs/darcs-screened/patches
20:15 Heffalump so, another way you could achieve the result above is to unsuid having the long transactions?
20:15 Heffalump [16:58] <JaffaCake> what I have in mind is that you first shift messages from the inbox to the arrived queue, as you do now
20:15 Heffalump sorry
20:15 Heffalump suffering from toddler-who-should-be-sleeping-but-isn't
20:16 markstos Oh, I have that problem at times as well.
20:16 Heffalump I am currently trying to train said toddler to sleep without a dummy.
20:16 markstos It can be hard to sleep with a Heffalump so close by.
20:16 Heffalump and yes, I can deal with your patch
20:17 Heffalump let me finish my train of thought on unsuspend, then I'll do that
20:17 Heffalump so, with unsuspend as it currently is, in the example above, you can't unsuspend B before you unsuspend A.
20:18 Heffalump and you ought to be able to
20:23 markstos Heffalump: Great. Thanks for the feedback. I thought that was part of the point of Rebase.
20:23 markstos I've been pulled away to work on a high priority task, but we'll check-in here later.
20:23 Heffalump ok, cya
20:48 jeltsch joined #darcs
20:49 mizu_no_oto joined #darcs
20:52 raichoo joined #darcs
21:20 * markstos is back to working on his darcs slice and dice project
21:30 markstos The docs for "darcs rebase oblit" say "Obliterate a patch that is currently being rebased." Do they really mean "Obliterate a patch that is currently suspended" ? Or is every patch in the repo "being rebased" during a rebase?
21:31 rdesfo joined #darcs
21:31 Heffalump it means currently suspended
21:31 markstos OK if I update the docs as suggested then?
21:33 Heffalump sure
21:34 Heffalump I'm still trying to track down what happened to my attempt at forcing unsuspend. I vaguely recall realising it was actually harder than I thought, but I still can't find any of the residual code which is odd
21:34 markstos Done. Added to the queue here: http://hub.darcs.net/darcs/darcs-screened/patches
21:35 markstos :) I'm still working on my revised strategy for that repo fix-up.
21:35 markstos I keep getting side-tracked by improving the darcs docs. :)
21:35 Heffalump need to figure out the right workflow for picking up patches from hub. We definitely should do it (and in time actually migrate the patch tracker o hub)
21:35 markstos pull to your own repo,  pushed to screened, and then screened gets mirrored to the hub somehow?
21:36 markstos It would seem inefficient to create a "patch bug" each time I find a line of docs to update.
21:38 Heffalump for patches that are easy to accept straight away that's fine because I can also push them to reviewed
21:38 Heffalump otherwise they need to go in the review queue
21:39 markstos My own doc patches tend to be of the trivial variety.
21:39 markstos I find the darcs code base rather readable, but I don't have the Haskell chops to modify much else besides the docs now.
21:42 markstos Heffalump: Maybe this is the workflow I want?
21:42 markstos 1. Suspend A ( patches on top). This will bring along nothing extra,  since nothing depends on them.
21:42 markstos 2. Oblit B. This will work fine, because the patches that depend on this set have been suspended.
21:43 markstos 3. Unsuspend A. There will be conflicts because B is missing, which is be expected, which is fine.
21:43 markstos I can also add step 1.5, which is to "send -O" the files before I oblit them
21:43 markstos and then add step 4: re-apply bundle saved in step 1.5.
21:44 markstos Now the "B" patches should be on top, after resolving more conflicts.
21:46 markstos Oh, I think I'm remembering a flow I used before: I actually do this: "darcs rebase suspend -p B"... which will show me B, plus all patches that depend on B. I then suspend everything BUT the B patches.... exactly the set of patches I care about it.
21:46 markstos I'm trying this now, and will document it better this time if it works. :)
21:46 Heffalump ok. I'm not quite sure I understand the "everything BUT the B patches" bit. But the first thing you said sounds righ.
21:47 mizu_no_oto joined #darcs
21:47 markstos When I do "darcs suspend -p B", I get presented B, but also "A", the patches that depend on B".  when I said "Everything BUT the B patches", I mean the "A patches" that showed up as depending on B.
21:49 Heffalump oh, I see
21:49 Heffalump yes, that makes sense
21:53 markstos If darcs had a plugin system, I would create a plugin that aliases the rebase commands to the top level, to autocorrect my repeated typos. :)
21:53 markstos So far, so go, I was able to get just the patch set I wanted suspended this time.
21:54 markstos (so good)
21:55 Heffalump I strongly suspect you will end up resolving the same conflicts twice, btw. I'm not quite sure how to avoid this, but I would definitely like to find a way to.
22:10 gh_ joined #darcs
22:11 markstos A command to list the patches currently suspended would be nice: darcs rebase list or darcs rebase unsuspend --dry
22:11 markstos As a practical matter, I neeed a list of all the patches that are getting amended, so I can delete them in another repo.
22:12 markstos ( Maybe darcs rebase suspend --no-deps would have helped? I missed that option earlier)
22:13 markstos Does " don't automatically fulfill dependencies" mean "don't automatically select patches which depend on the selected patches" ?
22:14 markstos Also, is the language for "  --prompt-for-dependencies" correct or backwards? Seems backwards to me: "prompt about patches that are depended on by matched patches" ... it sounds like it's describing patches below the selected patches in the dependency chain, but I think it means patches above the selected patches.
22:15 markstos "prompt about patches that depend on matched patches"
22:15 mizu_no_oto joined #darcs
22:19 Heffalump markstos: yes, darcs rebase changes was what I w[4~as thinking for that
22:20 Heffalump markstos: yes, that's what "don't automatically fulfill dependencies" means
22:20 Heffalump markstos: what command is that in relation to? Which way "up" dependencies need to be followed can depend on what is happening at the time.
22:20 markstos Heffalump: may I revise it to say " "don't automatically select patches which depend on the matched patches" ?
22:20 Heffalump e.g. to pull A, you need to pull all the patches that A depends on. To unpull/obliterate A, you need to unpull all the patches that depend on A.
22:20 markstos Heffalump: darcs rebase suspend has options:  --(no)-prompt-for-dependencies. I'm wondering if the docs for it are correct.
22:20 markstos "prompt about patches that are depended on by matched patches"
22:20 Heffalump actually, I take back what I said about what "don't automatically fulfill dependencies" means - it's not unconditionally that, as I outlined immediately after
22:20 markstos should it be "prompt about patches that depend on matched patches" ?
22:20 Heffalump (just thinking about it)
22:20 markstos Heffalump: But is the same true for suspend?
22:20 markstos I mean "suspend --no-deps" ? I haven't tested it yet, but could easily make a new repo and compare with and without that option.
22:21 Heffalump suspend should behave like obliterate in how it handles dependencies, because it is also removing patches from a repo
22:21 Heffalump sorry, i should be precise - rebase suspend should behave like (normal) obliterate
22:22 markstos I see that "darcs obliterate"  has a --no-deps option, too. I haven't used it either.
22:23 markstos I found the docs for --no-deps: "you won't be asked about patches that can't be obliterated due to depending patches."
22:23 Heffalump ok. So specifically in reslation to rebase suspend, your original formulation of what "don't automatically fulfill dependencies" is indeed correct. I'm not entirely sure whether it should be replaced with something significantly longer, but the fact that you didn't understand it makes a significant case to do so.
22:26 Heffalump ok, and I think you're right about "prompt about patches that depend on matched patches"
22:30 markstos Heffalump: but my guess about the meaning of --no-deps turned out to be different from the manual. I guessed: ""don't automatically select patches which depend on the matched patches"  while the manual says " "you won't be asked about patches [...] to depending patches."
22:30 Heffalump which command?
22:31 Heffalump or is this something generic?
22:31 markstos Yes, '--no-deps' is a shared option,
22:31 markstos existing in Documents/UI/Arguments.hs
22:31 markstos There are some docs for it under Obliterate in the manual: http://darcs.net/manual/Darcs_comman​ds.html#SECTION00694000000000000000
22:32 markstos From:  if --no-deps is used selected patches with dependencies on not selected patches are excluded from the selection.
22:32 markstos From (http://darcs.net/manual/Dar​cs_commands.html#selecting)
22:32 markstos That's the clearest definition so far.
22:34 markstos My proposal: replace " don't automatically fulfill dependencies" with "skip patches depended upon by non-matched patches"
22:35 Heffalump I'm afraid I'm now confused about the difference between --no-deps and --dont-prompt-for-dependencies
22:35 Heffalump which makes me unqualified to comment on your proposal until I unconfuse myself
22:35 markstos You can read the source for "DontGrabDeps" vs "DontPromptForDependencies".
22:36 markstos (With more fluency that I could)
22:36 Heffalump yeah, I'm just grepping for them
22:37 Heffalump I think DontPrompt might mean "AlwaysGrab"
22:38 markstos It looks like the difference may be directional. --no-deps is for patches that depended on the matched patches, while --prompt-for-dependencies is for patches that the matched patches depend on.
22:38 markstos So instead of "don't ask about patches that are depended on by matched patches (with --match or --patch)",
22:39 Heffalump I think that's unlikely, firstly because I can't see why that would make sense from a UI perspective, and secondly because I don't think the code is doing that, though I could certainly be wrong.
22:39 markstos "Select all patches that are depended on by matched patches without prompting"
22:40 markstos Although, I think the directionality of the language may have been wrong in that text, as discussed earlier, so it would be:
22:41 markstos "Select all patches that  depend on by matched patches without prompting"
22:41 markstos Oops:  "Select all patches that depend on matched patches without prompting"
22:41 Heffalump my gut feeling is still that directionality is driven entirely by the command
22:41 Heffalump just trying some tests..
22:43 markstos If that's the case, then the docs can't be shared and be precise, too.
22:48 markstos My formal proposals to revise the short docs for dependency selection are here now:
22:48 markstos http://hub.darcs.net/darcs/darcs-screened/patches
22:48 markstos Heffalump: Your peer review by testing is very welcome there.
22:48 markstos I'll be heading home for  ~13 hours.
22:49 markstos My repo slicing so far has progressed according to plan. I'm now at the first stage of conflict resolution (about 30 files to address).
22:50 markstos However, I'm getting the sense now that it may be faster to finish the dang feature than to slice it out and shelve it for a while. :)
22:50 markstos I'll continue evaluating things tomorrow.
22:50 markstos Heffalump: thanks a bug for the help.
22:50 Heffalump no problem. Thanks for all the review/feedback/patches!
22:50 Heffalump I'm still playing with deps.
22:51 Heffalump ok, I'm now convinced I'm right about the directionality being driven by the command.
22:52 Heffalump I'm not sure I understand the point of --no-deps, as it means the matched patch will actually be ignored. I guess it might be for when there are multiple patches being matched and you only want the ones you can get without deps.
22:52 markstos OK, then some or all of  my last 3 patches are wrong. Now I need a remote "oblit" command for the Hub. :)
22:53 markstos Heffalump: Yeah, I never used it myself for last 5+ years (I started using darcs pre 1.0, whenever that was)
22:54 markstos Considering your finding, the code structure should perhaps be adjusted so that docs are no longer shared, so the two different directionality cases can each have accurate docs.
22:54 Heffalump hub does have a remote oblit command
22:54 Heffalump ssh hub.darcs.net obliterate reponame
22:54 markstos ... and I'll need to figure out if there's a why to oblit patches in my Hub repos.
22:55 Heffalump that will then give you darcs obliterate's interactive selection
22:57 markstos Oh sweet. I don't know how to do that Github.
22:57 markstos OK, heading home to see the kiddos now.
22:59 Heffalump I think in github you just rewind a branch poniter
22:59 Heffalump I bye
23:19 stepcut joined #darcs
23:29 schlaftier joined #darcs

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