Is there any way to make it work with Perforce?
Marc W. Mengel
You would need to add a lib/LXR/Files/Perforce.pm module, along the lines of the CVS or BK one. I just did this for Subversion, it was fairly easy as the methods were fairly obvious (i.e. is_dir(path, revision) checks if the path is a directory..) with one caveat, the "annotate" method actually returns a list of revision-id's for the file, one per line, which wasn't obvious at first.
Since I think you can get at various versions through the filesystem with Perforce, it should look almost exactly like "Plain" modulo whatever path magic to get to a particular revision…