hg.repository: make protocol table driven.
allows extensions to add new protocols.
abort: repository a not found!255abort: error: Connection refused255abort: repository a not found!255abort: destination '../a' already exists255abort: repository a not found!255abort: destination 'q' already exists