Are you tired of waiting around for your code changes to be reviewed or tested?  Try "Pull Request Trading" with another developer!


What is Pull Request trading? Why would I want to do this?

"Pull Request trading" is when two developers agree to review or test each others' Pull Requests.  This can be used to obtain more immediate feedback for both developers, and is also a way to build collaborations with developers at other institutions.

You can also "trade" by asking a developer to review a PR that you did not author, but are interested in seeing it get immediate feedback.  Simply let the developer know which PR you are asking them to review in exchange.

Trading PRs is also very beneficial to DSpace in general!  The more developers we have helping to test or review PRs, the more quickly those PRs can be merged into the codebase (once approved).  It also ensures that bugs may be found more quickly as different people test things in different ways.  

Do I need to be a Committer or "expert" developer?

No. Any developer can take part in Pull Request Trading.  Even if you are new to DSpace and just submitted your first PR, you are welcome to offer to trade reviews/testing with another developer.  PR trading can be used as a way to get more familiar with DSpace development & review processes in general.

How do I trade PRs with another developer?

Simply reach out to other DSpace developers and ask!  The easiest way to reach out is usually via Slack (see our #dev channel).  You can either ask a specific person to trade, or generally post that you are open to a trade for one of your PRs. 

We only ask that you follow a few simple rules:

  1. Please trade with developers who are not at your institution.  While developers at your same institution are welcome to review your code as well, every PR needs feedback from other institutions.  So, PR trading works best if you trade with someone from a different institution.
  2. Please make sure to give useful feedback in return (via a comment on the PR). Not all feedback needs to be positive.  Even if you found issues/bugs or couldn't get the PR to work, that can be useful feedback to the other developer.  Keep in mind though that you should describe how to reproduce any issues you may have encountered.
  3. We recommend you trade similar-sized PRs.  It's much less likely that a developer will want to review/test a very large PR in exchange for a much smaller one.

A few other tips to be aware of:

How do I trade PRs with the Technical Lead?

The DSpace Technical Lead (Tim Donohue) also is available for PR trading (based on the general rules above).  However, a few additional rules apply, as he generally has a lot of code reviews on his plate.

Have questions?

If you have other questions on how this works, please ask them on our #dev channel in Slack or on the dspace-devel Mailing List.  We'd be glad to clarify things for you or help find you someone to trade with!