Ejemplo n.º 1
0
 /// <summary>
 /// Construct a <see cref="RepositoryManager"/>
 /// </summary>
 /// <param name="repositoryFactory">The value of <see cref="repositoryFactory"/>.</param>
 /// <param name="commands">The value of <see cref="commands"/>.</param>
 /// <param name="ioManager">The value of <see cref="ioManager"/></param>
 /// <param name="eventConsumer">The value of <see cref="eventConsumer"/></param>
 /// <param name="gitRemoteFeaturesFactory">The value of <see cref="gitRemoteFeaturesFactory"/>.</param>
 /// <param name="repositoryLogger">The value of <see cref="repositoryLogger"/></param>
 /// <param name="logger">The value of <see cref="logger"/></param>
 public RepositoryManager(
     ILibGit2RepositoryFactory repositoryFactory,
     ILibGit2Commands commands,
     IIOManager ioManager,
     IEventConsumer eventConsumer,
     IGitRemoteFeaturesFactory gitRemoteFeaturesFactory,
     ILogger <Repository> repositoryLogger,
     ILogger <RepositoryManager> logger)
 {
     this.repositoryFactory        = repositoryFactory ?? throw new ArgumentNullException(nameof(repositoryFactory));
     this.commands                 = commands ?? throw new ArgumentNullException(nameof(commands));
     this.ioManager                = ioManager ?? throw new ArgumentNullException(nameof(ioManager));
     this.eventConsumer            = eventConsumer ?? throw new ArgumentNullException(nameof(eventConsumer));
     this.gitRemoteFeaturesFactory = gitRemoteFeaturesFactory ?? throw new ArgumentNullException(nameof(gitRemoteFeaturesFactory));
     this.repositoryLogger         = repositoryLogger ?? throw new ArgumentNullException(nameof(repositoryLogger));
     this.logger = logger ?? throw new ArgumentNullException(nameof(logger));
     semaphore   = new SemaphoreSlim(1);
 }