App engineers have curated the following list of VCS improvements:
- Offers easily readable diffs.
- Diff UI should be readable
- Diffs should not be polluted with changes like rebase / merge cruft
- Renders markdown nicely (e.g. README)
- Allows flexibility in branching and commit methodology (related to above)
- Support viewing discrete commits (i.e. doesn't require squashing)
- Support squash methodology as well (This is preferred for Android)
- Readable conversation view
- Integrates well with GitHub
- Able to merge pull requests in a way that allows them to be marked as “merged” and not “closed”
- Ideally, one can work directly in GitHub and things “just work”