External contribution integration: Difference between revisions

From Software Heritage Wiki
Jump to navigation Jump to search
mNo edit summary
m (Simplify not using footnotes as i did not find out fast enough)
Line 1: Line 1:
= How to integrate external contribution =
= How to integrate external contribution =
New external contributions are starting [1].  Here is the current team
New [https://forge.softwareheritage.org/D301 external contributions are starting].  Here is the current team
workflow defined.
workflow defined on how to integrate them:


We should:
* Review the diff and explain what's need adapting


* Review the diff and explain what's need adapting
* Accept the diff if ready. We should only be able to accept it if the contributor has already


* Accept the diff if ready [2]
signed the [https://wiki.softwareheritage.org/index.php?title=Contributor_License_Agreement CLA]


* Integrate the patch using [https://wiki.softwareheritage.org/index.php?title=Arcanist arcanist]:
* Integrate the patch using [https://wiki.softwareheritage.org/index.php?title=Arcanist arcanist]:
Line 25: Line 25:
     git branch -d $BRANCH_TO_MERGE
     git branch -d $BRANCH_TO_MERGE
     git push
     git push
----
=== Footnotes ===
[1] https://forge.softwareheritage.org/D301
https://forge.softwareheritage.org/D302
[2] We should only be able to accept it if the contributor has already
signed the [https://wiki.softwareheritage.org/index.php?title=Contributor_License_Agreement CLA]

Revision as of 10:02, 14 June 2018

How to integrate external contribution

New external contributions are starting. Here is the current team workflow defined on how to integrate them:

  • Review the diff and explain what's need adapting
  • Accept the diff if ready. We should only be able to accept it if the contributor has already

signed the CLA

   cd /path/to/<repository-concerned-by-diff>
   PATCH_NAME=<patch-name>  # use the right patch name D301 for example
   CONTRIBUTOR_NAME="<contributor-name>"  # use the right contributor's full name
   arc patch $PATCH_NAME
   # this will create a local commit amend the commit message if
   # necessary (added a `Close <concerned-task> for example)
   echo $CONTRIBUTOR_NAME >> CONTRIBUTORS
   git add CONTRIBUTORS
   git commit -m 'Update contributors file'
   git checkout master
   BRANCH_TO_MERGE="arcpatch-$PATCH_NAME"
   git merge $BRANCH_TO_MERGE
   git branch -d $BRANCH_TO_MERGE
   git push