[Geany-Devel] [RFC]: No force push policy on Github PRs

Matthew Brush mbrush at xxxxx
Tue Jul 7 00:13:39 UTC 2015


Hi All,

As anyone trying to follow Pull Requests on Github has probably noticed, 
when you force push to your PR branch, Github deletes various comments 
related to the PR, depending on what got clobbered (it seems).

This makes it extremely difficult to keep track of and finally merge PRs 
because issues that may have been raised are gone and it leaves holes in 
the comments which are a useful way to make sure any issues, notes, 
ideas, etc. have been dealt with before merging.

In addition to the dropped comments, it makes it harder to follow the 
changes made since it clobbers the Git history too, so you have to 
basically review the entire changset by looking at the whole diff of all 
files affected by the PR at once.

Another reason to avoid is because it makes it harder to test a PR if 
the repos history keeps getting munged, it breaks your previous pulls.

I propose that we disallow force pushing, rebasing, squashing, etc. on 
any PR until it is fully ready for final merging. We could probably use 
a label or milestone or something to signify that a PR has been fully 
reviewed and is ready for merging. At that point it _might_ make sense 
to fudge history and get rid of some noisy "fixup" commits[0].

Thoughts, opinions?

If it sounds like a good idea, I could probably try and update any 
relevant documentation (HACKING comes to mind) to make a note of this[1].

Cheers,
Matthew Brush

[0]: I personally don't think it's a big deal leaving the history to 
match real life, but I can see how "Fix some typo" type of commits 
aren't very useful to keep around.

[1]: Although force pushing is generally considered bad-practice on 
public branches, so I doubt too many people would do it without being asked.


More information about the Devel mailing list