Shared repositories

It would be nice if we could share data files among multiple repositories. One way to do this would be to keep index files in the repository but have them point to a pooled data file repository.

  1. give revlog two opener functions, one for indices and one for data
  2. the data opener opens data files and a master (shared) index file. It is used during write operations. Its linkrev field is meaningless.
  3. the index opener points to the local subset of the master index. It is updated with the correct linkrev on append.

dangers

strip would have to be careful not to remove data belonging to other repositories.