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.
- give revlog two opener functions, one for indices and one for data
- the data opener opens data files and a master (shared) index file. It is used during write operations. Its linkrev field is meaningless.
- the index opener points to the local subset of the master index. It is updated with the correct linkrev on append.
- two indices need to be updated for every write. The data is small, but the seeks may not be
- likewise, there may be seeking between the index and the data files when they aren't close together. Hopefully the index is cached when the revlog is first opened
- strip would have to be careful not to remove data belonging to other repositories.
- inotify might be confused if store path changes after inserve has started?