On 10/10/2017 07:16 AM, Bryan Richter wrote:
> Hi all,
> Here's another long email! (When I said my emails would become more
> irregular, I guess that could mean *more* frequent...)
> This email is about what to do now that I've reset the code base
> and starting doing deploys again. In short, let's continue making a
> world where more people support FLO software (and other goods). More
> specifically, some of you will need to reset your code repository, and
> there is plenty of directions for current work. I'll highlight a few
> of them, including the valuable task of reincorporating a lot of the
> hard work that went into the pre-reset branch.
> First, the nitty-gritty. For all three of you so affected, the reset
> will probably require a manual reset on your end, too. Make sure you
> don't have *anything* you want saved, in particular unrecorded files,
> and then run the following set of commands.
>     git status
>     # ^ Double check that there are no unsaved changes or files
>     git checkout master
>     git fetch origin
>     git reset --hard origin/master
> So, what about new development? Let me start by demonstrating how to
> see what, exactly, got left out in the reset.
> Current master—the new master—has about half of the "abandoned"
> commits from the old master. You can see which ones got cherry-picked
> in with the following arcane whispers:
>     git cherry master master-pre-reset -v | grep ^-
> To see which commits have *not* been included, use the following,
> almost identical incantation:
>     git cherry master master-pre-reset -v | grep ^+
> You can use that last command for a rough approximation of what got
> left out. I don't think we should do any more cherry picking, but we
> can use these lists as guides.
> One obvious thing left out is Sass. I *think* we can safely add it
> back. But I'm not sure. And I want to proceed much more delicately.
> For instance, the very first thing that should be done with it is to
> rewrite an existing Cassius file as Sass. No improvements, no Susy,
> just a rewrite. Don't change defaultLayout, either. At most, create a
> sibling function for the page being rewritten.
> Another little chunk to bite off is the navigation panel. Start
> with: What is its purpose? What user stories do we want to satisfy
> with it?
> As for me: My current inability to build for production makes it
> apparent that we should bake that functionality into our ops stack. I
> will start by reading up on Docker+tools and NixOps, which are the top
> two contenders in my mind for taming deployment. I know Salt is using
> docker-compose for some things, which is why I say 'Docker+tools'.
> Also, I gave up on one approach to testing the website without
> actually talking to stripe.com, but there are two others to try. I'd
> like to use Haskell's new 'backpack' system, so I will read up on
> that.
> I want to say something about what happened to the pre-reset master.
> It was a systematic mistake. We bit off too much both in formulating
> governance, formulating development policy, and (re)formulating
> software architecture. Some people worked very hard on some of those
> things, and got burned. For my part of the failure, I apologize.
> But I think the organization is stronger for it. I absolutely cherish
> the real-world experience I get in collaborating with all of the
> highly-skilled, passionate volunteers in this project. I hope that
> being part of this project continues to reward all of us in that way.
> Peace,
> -Bryan
> aka chreekat
> p.s. Please pretend I didn't say anything about replacing Yesod in my
> previous email. :) I may harbor dreams of such a thing, but I don't
> think it is realistic in any short time frame.

Thanks Bryan!

I was able to get the cherry commands to work after running this extra
command to get the master-pre-reset tag:

    git fetch --tags

Perhaps someone can make a working doc that lists the output with some
notes and details so we can make a plan for the merging.

Anyway, I think the new specs/stories approach is going to be massively
helpful. To make it work best, we should have tests that correspond to
specs whenever appropriate.

Overall, I agree that there's nothing like real-world mistakes and
failures to be a good learning experience if we take full advantage of
it and can afford the mistakes. I think we're on a better track going
forward, but it's got some challenges just ahead, so we'll want to be
careful in really getting steady from here.

Attachment: signature.asc
Description: OpenPGP digital signature

Dev mailing list

Reply via email to