C# Class GitSharp.Core.RevWalk.Filter.RevFilter

Selects interesting revisions during walking. This is an abstract interface. Applications may implement a subclass, or use one of the predefined implementations already available within this package. Filters may be chained together using AndRevFilter and OrRevFilter to create complex boolean expressions. Applications should install the filter on a RevWalk by RevWalk.setRevFilter(RevFilter) prior to starting traversal. Unless specifically noted otherwise a RevFilter implementation is not thread safe and may not be shared by different RevWalk instances at the same time. This restriction allows RevFilter implementations to cache state within their instances during include(RevWalk, RevCommit) if it is beneficial to their implementation. Deep clones created by Clone() may be used to construct a thread-safe copy of an existing filter. Message filters:
  • Author name/email: AuthorRevFilter
  • Committer name/email: CommitterRevFilter
  • Message body: MessageRevFilter
Merge filters:
  • Skip all merges: NO_MERGES.
Boolean modifiers:
  • AND: AndRevFilter
  • OR: OrRevFilter
  • NOT: NotRevFilter
显示文件 Open project: jagregory/GitSharp Class Usage Examples

Public Properties

Property Type Description
ALL RevFilter
MERGE_BASE RevFilter
NONE RevFilter
NO_MERGES RevFilter

Public Methods

Method Description
Clone ( ) : RevFilter

Clone this revision filter, including its parameters. This is a deep Clone. If this filter embeds objects or other filters it must also Clone those, to ensure the instances do not share mutable data.

ToString ( ) : string
include ( RevWalk walker, RevCommit cmit ) : bool

Determine if the supplied commit should be included in results.

negate ( ) : RevFilter

Create a new filter that does the opposite of this filter.

Method Details

Clone() public abstract method

Clone this revision filter, including its parameters. This is a deep Clone. If this filter embeds objects or other filters it must also Clone those, to ensure the instances do not share mutable data.
public abstract Clone ( ) : RevFilter
return RevFilter

ToString() public method

public ToString ( ) : string
return string

include() public abstract method

Determine if the supplied commit should be included in results.
/// The filter knows for certain that no additional commits can /// ever match, and the current commit doesn't match either. The /// walk is halted and no more results are provided. /// /// An object the filter needs to consult to determine its answer /// does not exist in the Git repository the Walker is operating /// on. Filtering this commit is impossible without the object. /// /// An object the filter needed to consult was not of the /// expected object type. This usually indicates a corrupt /// repository, as an object link is referencing the wrong type. /// /// A loose object or pack file could not be Read to obtain data /// necessary for the filter to make its decision. ///
public abstract include ( RevWalk walker, RevCommit cmit ) : bool
walker RevWalk /// The active walker this filter is being invoked from within. ///
cmit RevCommit /// The commit currently being tested. The commit has been parsed /// and its body is available for inspection. ///
return bool

negate() public method

Create a new filter that does the opposite of this filter.
public negate ( ) : RevFilter
return RevFilter

Property Details

ALL public_oe static_oe property

Default filter that always returns true (thread safe).
public static RevFilter,GitSharp.Core.RevWalk.Filter ALL
return RevFilter

MERGE_BASE public_oe static_oe property

Selects only merge bases of the starting points (thread safe). This is a special case filter that cannot be combined with any other filter. Its include method always throws an exception as context information beyond the arguments is necessary to determine if the supplied commit is a merge base.
public static RevFilter,GitSharp.Core.RevWalk.Filter MERGE_BASE
return RevFilter

NONE public_oe static_oe property

Default filter that always returns false (thread safe).
public static RevFilter,GitSharp.Core.RevWalk.Filter NONE
return RevFilter

NO_MERGES public_oe static_oe property

Excludes commits with more than one parent (thread safe).
public static RevFilter,GitSharp.Core.RevWalk.Filter NO_MERGES
return RevFilter