hackoregon / backend-examplar-2018

an example dockerized geo-aware django backend
MIT License
4 stars 5 forks source link

Show differencs between neighborhoods repo and exemplar repo for discussion on what code should be ported to exemplar #92

Open AraOshin opened 6 years ago

AraOshin commented 6 years ago

please see issue for related discussion https://github.com/hackoregon/civic-devops/issues/216

I have pushed this branch in order to provide a starting place for porting in necessary (and maybe also helpful?) code updates. My working assumption was that some necessary code was added into the hack Oregon team backends without those same additions making it into the backend exemplar.

In this branch, I have replaced all files from the backend exemplar with the neighborhoods team repo. I then took a first pass at the differences and reverted any change that seemed to be clearly specific to neighborhoods and didn't have value for the backend exemplar.

I have created this PR so that everyone else can see the differences in one place. I tried not to make any decisions beyond reverting changes that seemed clear to me. Anything that seemed even slightly up to interpretation, I left changed so that others could view and decide if the original backend exemplar code should be returned to, use the newer code from the neighborhoods repo, or a merger of the two.

I would love to know if there is a better way of doing this. I recognize that if we pull the changes in this way, it will look like the code was contributed by me or who every ultimately merges a branch in this way. While the original authors were @MikeTheCanuck @DingoEatingFuzz @hassanshamim and maybe others.

znmeb commented 6 years ago

Is there some notion of "test-driven refactoring" for this effort? A test that the source repo (neighborhoods) passes that this one fails?

I don't know that it's necessary, given the small number of devs we have working on this, but I'd consider it a nice-to-have.

nam20485 commented 6 years ago

I would love to know if there is a better way of doing this. I recognize that if we pull the changes in this way, it will look like the code was contributed by me or who every ultimately merges a branch in this way. While the original authors were @MikeTheCanuck @DingoEatingFuzz @hassanshamim and maybe others.

@hassanshamim and I investigated finding a simple and straightforward method of merging changes wholesale into the backend-examplar from another repo and never did find anything easier than selecting and merging each change by hand ("cherry-picking") much like you are doing here. (Actually it was in pursuit of the same goal- merging changes made from a team repo into the backend-exemplar).

As far as authorship goes, Mike, Brian, Ed, and I have all contributed heavily to the code in this repo. I can speak for myself in saying that I am not worried about whose name is on the PR merge commit and would personally welcome your effort in contributing commits.

nam20485 commented 6 years ago

Is there some notion of "test-driven refactoring" for this effort? A test that the source repo (neighborhoods) passes that this one fails?

I don't know that it's necessary, given the small number of devs we have working on this, but I'd consider it a nice-to-have.

We could probably do this in a round-about way- once I add my working unit tests into the backend-examplar, which will succeed, then when @AraOshin clones the repo into her own, they will fail until she updates them to test her own endpoints.

MikeTheCanuck commented 6 years ago

As far as authorship goes, Mike, Brian, Ed, and I have all contributed heavily to the code in this repo. I can speak for myself in saying that I am not worried about whose name is on the PR merge commit and would personally welcome your effort in contributing commits.

+1 for me - I got the "Should Be Committed" award, I'd say plenty of room for others to take credit for their labours and ideas.

znmeb commented 6 years ago

There's a list of contributors at the bottom of the README https://github.com/hackoregon/backend-examplar-2018/blob/staging/README.md so if you're not there, add yourself!