Implement fast comparison of revision trees
In the browse web application, differences between consecutive revisions (in terms of modified/added/deleted/renamed files) should be available for display.
The algorithm described in that blog post https://blog.sourced.tech/post/difftree/ (with its go implementation https://github.com/src-d/go-git/tree/master/utils/merkletrie) seems an effective solution to perform that task.
This should be reusable for other contexts but as a first try to implement it, let's focus on the web browse context.
Migrated from T921 (view on Phabricator)