org.opensolaris.opengrok.history
Class MercurialRepository

java.lang.Object
  extended by org.opensolaris.opengrok.history.Repository
      extended by org.opensolaris.opengrok.history.MercurialRepository

public class MercurialRepository
extends Repository

Access to a Mercurial repository.


Constructor Summary
MercurialRepository()
           
 
Method Summary
 Annotation annotate(java.io.File file, java.lang.String revision)
          Annotate the specified file/revision.
 boolean fileHasAnnotation(java.io.File file)
          Checks whether this parser can annotate files.
 boolean fileHasHistory(java.io.File file)
           
 java.lang.Class<? extends org.opensolaris.opengrok.history.HistoryParser> getDirectoryHistoryParser()
           
 java.io.InputStream getHistoryGet(java.lang.String parent, java.lang.String basename, java.lang.String rev)
          Get an input stream that I may use to read a speciffic version of a named file.
 java.lang.Class<? extends org.opensolaris.opengrok.history.HistoryParser> getHistoryParser()
          Get a parser capable of getting history log elements from this repository.
 boolean isCacheable()
          Check whether the parsed history should be cached.
 boolean isWorking()
          Returns true if this repository is usable in this context (for SCM systems that use external binaries, the binary must be availabe etc)
 void update()
          Update the content in this repository by pulling the changes from the upstream repository..
 
Methods inherited from class org.opensolaris.opengrok.history.Repository
getDirectoryName, setDirectoryName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MercurialRepository

public MercurialRepository()
Method Detail

getHistoryGet

public java.io.InputStream getHistoryGet(java.lang.String parent,
                                         java.lang.String basename,
                                         java.lang.String rev)
Description copied from class: Repository
Get an input stream that I may use to read a speciffic version of a named file.

Parameters:
parent - the name of the directory containing the file
basename - the name of the file to get
rev - the revision to get
Returns:
An input stream containing the correct revision.

getHistoryParser

public java.lang.Class<? extends org.opensolaris.opengrok.history.HistoryParser> getHistoryParser()
Description copied from class: Repository
Get a parser capable of getting history log elements from this repository.

Returns:
a specialized parser for this kind of repository

getDirectoryHistoryParser

public java.lang.Class<? extends org.opensolaris.opengrok.history.HistoryParser> getDirectoryHistoryParser()

annotate

public Annotation annotate(java.io.File file,
                           java.lang.String revision)
                    throws java.io.IOException
Annotate the specified file/revision.

Parameters:
file - file to annotate
revision - revision to annotate
Returns:
file annotation
Throws:
java.io.IOException - if an error occurs

fileHasAnnotation

public boolean fileHasAnnotation(java.io.File file)
Description copied from class: Repository
Checks whether this parser can annotate files.

Returns:
true if annotation is supported

isCacheable

public boolean isCacheable()
Description copied from class: Repository
Check whether the parsed history should be cached.

Returns:
true if the history should be cached

update

public void update()
            throws java.io.IOException
Description copied from class: Repository
Update the content in this repository by pulling the changes from the upstream repository..

Throws:
java.io.IOException

fileHasHistory

public boolean fileHasHistory(java.io.File file)

isWorking

public boolean isWorking()
Description copied from class: Repository
Returns true if this repository is usable in this context (for SCM systems that use external binaries, the binary must be availabe etc)

Overrides:
isWorking in class Repository
Returns:
true if the HistoryGuru may use the repository