private async Task CreateGitFileEvent(FileSystemEventArgs e)
{
var fullPath = e.FullPath;
var filename = e.Name;
if (FileIgnored(fullPath))
{
return;
}
if (fullPath.IsSubPathOf(_repositoryPath))
{
_gitfileEvent?.Invoke(this,new EventArgs());
}
else
{
using (var repository = GetRepository())
{
if (repository.Ignore.IsPathIgnored(fullPath.Remove(0, WorkingDirectory.Length)))
{
return;
}
else
{
//queue the event for later.
_fileEvent?.Invoke(this, new EventArgs());
}
}
}
}