Source

Murky / Source / HgLogOperation.h

//
//  HgLogOperation.h
//  Murky
//
//  Copyright 2008-2009 Jens Alfke. All rights reserved.
//

#import "HgOperation.h"
@class HgFile, HgRepository, HgRevision;


typedef enum {
    kHgLogModeListRevs = 0,
    kHgLogModeMinimal,
    kHgLogModeFull
} HgLogMode;


/** Runs an "hg log" command and parses the output into an array of HgRevision objects. */
@interface HgLogOperation : HgOperation
{
    HgRepository *_repository;
    HgLogMode _mode;
    NSMutableArray *_revisions;
    NSMutableDictionary *_revsByNumber;
    NSMutableIndexSet *_revisionNumbers;
    NSRange _range;
}

- (id) initWithRepository: (HgRepository*)repo 
                     file: (HgFile*)file
                     mode: (HgLogMode)mode;

- (id) initOutgoingWithRevision: (HgRevision*)revision
                      otherRepo: (NSURL*)otherRepo;
- (id) initIncomingWithRepository: (HgRepository*)repo
                        otherRepo: (NSURL*)otherRepo;

//@property unsigned limit;
@property NSRange range;

@property (readonly,nonatomic) NSArray* revisions;
@property (readonly,nonatomic) NSIndexSet* revisionNumbers;

@end