Skip to content

Recipe "decentralized git repo"

rlaemmel edited this page Oct 6, 2012 · 15 revisions

Summary

Develop and maintain contributions in decentralized git repos.

Motivation

101repo hosts many contributions, but there are some good reasons why contributions are preferably hosted instead by a repo that is under full control of the contributors. That is, contributors are likely to develop contributions initially within their own repos anyhow. They may also want to keep these contributions under their control even past the submission to 101companies. Accordingly, 101companies provides a feature to link to decentralized repositories. This is also convenient for managing 101companies in so far that it avoids many pull requests and merge steps on 101repo. Having many contributors work on one centralized 101repo really does not scale very well because contributors are typically only interested in certain contributions, and they should not suffer from merge stress just because 101repo holds so many contributions.

Process

Assumptions:

  • You set up your "own" git repo.
  • Alternatively, you may join some existing repo.
  • You develop and maintain your contribution in said repo.
  • You process pull requests and grant push rights to other contributors, at your will.

You need to "register" your repo and contribution with an email to mailto:[email protected].

Include the following details:

  • Your name and email address for contact.
  • The URL for anonymous git-read-only access to your repo.
  • The directory within said repo which contains your contribution.

Your email will be processed by the gatekeepers as follows:

  • The contribution is reviewed in some basic manner.
  • 101repo is amended to "symbolically link" to your contribution.
  • An empty page is created for your contribution on the 101wiki.
  • You are assigned a 101wiki account so that you can edit said page.
  • You receive a reply (eventually) to confirm your contribution.

Details

"Symbolical links", as hinted at above, are based on the file https://github.com/101companies/101repo/blob/master/.gitdeps, which serves a similar role as git submodules. That is, all the linked contributions are essentially processed by the 101worker infrastructure.

You can also host several contributions in the same git repo as long as each contribution is in a separate directory.

Clone this wiki locally