[core-workflow] My initial thoughts on the steps/blockers of the transition
Berker Peksağ
berker.peksag at gmail.com
Tue Jan 5 16:28:18 EST 2016
On Tue, Jan 5, 2016 at 8:13 PM, Brett Cannon <brett at python.org> wrote:
> Day 1 summary
> ============
>
> Decisions made
> -----------------------
> - We will create a python-dev team in the python org and add that team to
> all of the relevant repos that get migrated
> - We will add a GitHub field to Roundup and then write/get a CLA bot that
> will query Roundup to check if someone has (not) signed the CLA
> - For ancillary repos, the merge-of-least-resistance workflow is fine, so no
> need to worry about maintaining a linear history
> - We are going to keep all of the cpython history in a single repo
> - We will have PRs go against master and then we will cherry pick into
> bugfix branches
> - Misc/ACKS will be kept and we will write code to update it on occasion --
> probably at release time -- based on git commit data
> - Seems like our current commit ID -> URL service can be updated to handle
> our transition
>
>
> Open issues
> -------------------
> - What tools and commands will we use to convert the repos?
> - How do we want to handle Misc/NEWS?
> - What are the exact commands we are going to expect core devs to run (which
> will be documented in the devguide)?
I use the following commands for python.org:
$ git pr NNN
"git pr" is an alias and an equivalent of
$ git fetch upstream pull/NNN/head:pr/NNN
$ git checkout pr/NNN
For example, if I want to review
https://github.com/python/pythondotorg/pull/859, I use "git pr 859".
Run tests, tweak commit message, code style, and commit
$ git commit -m "Update foo bar"
Squash commits
$ git rebase -i HEAD~2
And merge
$ git checkout master
$ git merge --ff-only pr/NNN
(--ff-only can be added to .gitconfig)
Backport to 3.5 (the branch name is "release" for python.org)
$ git checkout 3.5
$ git cherry-pick `git rev-parse master`
And push to upstream
$ git push --all upstream
We probably should mention the -u option (or create a new section for
Git configuration and best practices) in the devguide.
> - Who to use for CI (although Donald is the only one to speak up and likes
> Travis as do I, so this might be decided)?
+1 to use Travis as a pre-merge CI. I'd vote for keeping Travis
configuration simple (e.g. use only Linux and GCC, run rstlint in
Doc/)
--Berker
More information about the core-workflow
mailing list