Thrift (a new Incubator project) has been using Git for some time as a medium for receiving code contributions. The basic workflow has been:

  1. A contributor requests and receives access to the shared repository.
  2. The contributor publishes work (sometimes many patches).
  3. The community reviews work via web interface.
  4. A committer downloads work directly from Git repo and commits to Subversion.

One problem with working this way in Apache is that it skips the step where the contributor checks the box that says "Grant license to ASF for inclusion in ASF works", so we would need some way for contributors to grant this license. Breaking the work into individual patches and uploading them all to JIRA is unwieldy. One idea that we came up with is based on Git's commit hashes.

Each commit in Git is identified by a globally-unique unforgable identifier (called a "commit hash") that represents not only the current state of the repository, but also the entire history leading up to that point. This means that the commit hash of a contributor's final patch represents all of the work they have done on that branch. What we would like would be for a contributor to be able to simply paste their commit hash into JIRA and check a box for that and have that be enough to consider all of the work included in that hash to be granted. Is this possible?