public RepositoryService( GitRepositoryChangedEvent repositoryChangedEvent, GitWorkingTreeChangedEvent workingTreeChangedEvent ) { _repositoryChangedEvent = repositoryChangedEvent; _workingTreeChangedEvent = workingTreeChangedEvent; _status = new CachedValue<StatusCollection>( () => { if (!IsGitRepository) return new StatusCollection(Enumerable.Empty<Status>()); var clean = new Clean { Target = Clean.CleanTarget.Ignored, IncludeDirectories = false }; var statusResult = Git.Execute(new Git.Commands.Status()); var cleanResult = Git.Execute(clean); return new StatusCollection( statusResult.Concat(cleanResult.Select(name => new Status(System.IO.Path.Combine(BaseDirectory, name), FileStatus.Ignored))) ); } ); }
public PendingChangesViewModel( IRepositoryService repositoryService, IFileIconService iconService, GitWorkingTreeChangedEvent workingTreeChangedEvent ) { _repositoryService = repositoryService; _iconService = iconService; Changes = new ObservableCollection<StatusViewModel>(); workingTreeChangedEvent.Subscribe(Refresh, ThreadOption.UIThread); }
public VSPendingChangesViewModel(IRepositoryService repositoryService, IFileIconService iconService, GitWorkingTreeChangedEvent workingTreeChangedEvent) : base(repositoryService, iconService, workingTreeChangedEvent) { }