I haven't done a bit piece of work in the ASF code repo since the migration to 
git; though I have done it in the svn era.


Currently with private git repos
-anyone gets SCM control of their source
-you can commit for your own reasons (about to make a change, want a private 
jenkins run, ...) and gain from having many small checkins. More succinctly: if 
you aren't checking in your work 2+ times a day —why not?
-rebasing a painful necessity on personal, private branches to keep the final 
patch to hadoop git a single diff

With the private git process that's the defacto standard, we lose history 
anyway. I know what I've done and somewhere there's a tag in my own github repo 
of my work to create a JIRA. But we don't always need that entire history of 
"trying to debug kerberos", "typo in exception", and other stuff that accrues 
during the work.

I think therefore that I'm in favour of big squash commits. What we could do is 
extend that with a policy of


  1.  tag the final commit used to make the patch, something like 
tag_HADOOP-8192. The tag ensures that the history isn't gc'd
  2.  Delete the branch (keeps the #of branches down)
  3.  In the JIRA, include the name of the tag and the git commit number in the 
comments. Someone curious can rebuild that history

Reply via email to