google / git-appraise

Distributed code review system for Git repos
Apache License 2.0
5.12k stars 145 forks source link

Add support for forks #88

Open ojarjur opened 5 years ago

ojarjur commented 5 years ago

This change adds the concept of "forks" to git-appraise.

The underlying idea is that each contributor can have their own personal repository to which they push, and that the overarching repository can be viewed as a compilation of those separate repositories.

In essence, we are adding symbolic links to other repositories inside the repo itself, and then resolving those links on the client side.

Each entry in this collection of symbolic links is what we call a "fork", and the collection includes all of the information that a client needs to know how to fetch from each fork and which notes should be merged from each fork.

By doing this, we unlock the ability to perform reviews across multiple remote repositories, and even entirely separate hosting providers.

For example, one contributor could have a repository that they push to on GitHub, another can have one on GitLab, and a third could have one stored in GitTorrent, and all three could push to their respective repositories while reviewing code from each other.

This fixes #71