Greets,
Our CONTRIBUTING file has been out of date, discouraging Github pull
requests against our mirrors because of difficulties closing them.
Thanks to Infra's hard work, that's no longer a problem: to close Github
pull requests, create a commit on `master` which contains the text `This
closes #NUM`, where "NUM" represents the pull request number.
I'd like to take this opportunity to suggest a change in our committer
workflow. In order to smoothe the Lucy community's transition from
Subversion to Git, we adopted a practice of rebasing everything before
committing to master -- preserving a linear history similar to svn's.
That practice has served its purpose; I think it's time that we started
using `git merge --no-ff` instead of rebasing.
To illustrate, Tim Wilkens has an open pull request against Lucy for
LUCY-265. To merge it, I would run the following sequence of commands:
git remote add timwilkens https://github.com/timwilkens/lucy.git
git fetch timwilkens
git merge --no-ff timwilkens/master
git push origin master
The commit message for the merge commit would include `This fixes #6.`,
causing the ASF github bot to close the pull request.
If this sounds good, I'll inaugurate the new workflow using Tim's
branch.
The reason we use `--no-ff` is to force a merge commit which contains
the magic phrase "This closes #NUM". If we were to perform a
fast-forward merge, then we'd have to add an empty commit with that
phrase using `git commit --allow-empty` in order to close the pull
request. (There are other arguments for using `--no-ff` consistently
for all feature branches, such as getting good summary output from
`git log --merges` but the priority is to start merging Github pull
requests this way.)
I've committed an update to CONTRIBUTING which updates our policy on
Github pull requests.
https://git-wip-us.apache.org/repos/asf?p=lucy.git;a=commitdiff;h=b678f50718f1796f2c4d08ae4c3478067b8b21b8
In a couple of days I'll claim lazy consensus and merge that change to
master, then make a similar change for lucy-clownfish.git.
Marvin Humphrey