internal protected virtual VersionControlOperation GetSupportedOperations(VersionInfo vinfo) { VersionControlOperation operations = VersionControlOperation.None; bool exists = !vinfo.LocalPath.IsNullOrEmpty && (File.Exists(vinfo.LocalPath) || Directory.Exists(vinfo.LocalPath)); if (vinfo.IsVersioned) { operations = VersionControlOperation.Commit | VersionControlOperation.Update | VersionControlOperation.Log; if (exists) { operations |= VersionControlOperation.Remove; if (vinfo.HasLocalChanges || vinfo.IsDirectory) { operations |= VersionControlOperation.Revert; } } if (AllowLocking && !vinfo.IsDirectory) { if (!vinfo.HasLocalChanges && (vinfo.Status & VersionStatus.LockOwned) == 0) { operations |= VersionControlOperation.Lock; } if ((vinfo.Status & VersionStatus.LockOwned) != 0) { operations |= VersionControlOperation.Unlock; } } } else if (exists) { operations = VersionControlOperation.Add; } return(operations); }
protected override VersionControlOperation GetSupportedOperations(VersionInfo vinfo) { VersionControlOperation operations = VersionControlOperation.None; bool exists = !vinfo.LocalPath.IsNullOrEmpty && (File.Exists(vinfo.LocalPath) || Directory.Exists(vinfo.LocalPath)); if (vinfo.IsVersioned) { if (exists) { operations = VersionControlOperation.Update | VersionControlOperation.Log | VersionControlOperation.Remove | VersionControlOperation.Annotate; if (vinfo.HasLocalChanges || vinfo.IsDirectory) { operations |= VersionControlOperation.Revert | VersionControlOperation.Commit; } if ((vinfo.Status & VersionStatus.Conflicted) == VersionStatus.Conflicted) { operations |= VersionControlOperation.Revert; } } } else if (exists) { operations = VersionControlOperation.Add; } return(operations); }
internal protected virtual Task <VersionControlOperation> GetSupportedOperationsAsync(VersionInfo vinfo, CancellationToken cancellationToken = default) { VersionControlOperation operations = VersionControlOperation.None; bool exists = !vinfo.LocalPath.IsNullOrEmpty && (File.Exists(vinfo.LocalPath) || Directory.Exists(vinfo.LocalPath)); if (vinfo.IsVersioned) { operations = VersionControlOperation.Commit | VersionControlOperation.Update; if (!vinfo.HasLocalChange(VersionStatus.ScheduledAdd)) { operations |= VersionControlOperation.Log; } if (exists) { if (!vinfo.HasLocalChange(VersionStatus.ScheduledDelete)) { operations |= VersionControlOperation.Remove; } if (vinfo.HasLocalChanges || vinfo.IsDirectory) { operations |= VersionControlOperation.Revert; } } if (AllowLocking && !vinfo.IsDirectory) { if (!vinfo.HasLocalChanges && (vinfo.Status & VersionStatus.LockOwned) == 0) { operations |= VersionControlOperation.Lock; } if ((vinfo.Status & VersionStatus.LockOwned) != 0) { operations |= VersionControlOperation.Unlock; } } } else if (exists) { operations = VersionControlOperation.Add; } return(Task.FromResult(operations)); }
internal protected virtual VersionControlOperation GetSupportedOperations (Repository repo, VersionInfo vinfo, VersionControlOperation defaultValue) { if (vinfo.IsVersioned && File.Exists (vinfo.LocalPath) && !Directory.Exists (vinfo.LocalPath) && vinfo.HasLocalChange (VersionStatus.ScheduledDelete)) defaultValue |= VersionControlOperation.Add; return defaultValue; }
internal protected virtual VersionControlOperation GetSupportedOperations(Repository repo, VersionInfo vinfo, VersionControlOperation defaultValue) { if (vinfo.IsVersioned && File.Exists(vinfo.LocalPath) && !Directory.Exists(vinfo.LocalPath) && vinfo.HasLocalChange(VersionStatus.ScheduledDelete)) { defaultValue |= VersionControlOperation.Add; } return(defaultValue); }
public bool SupportsOperation(VersionControlOperation op) { return((AllowedOperations & op) != 0); }
public bool SupportsOperation (VersionControlOperation op) { return (AllowedOperations & op) != 0; }
internal async Task InitAsync(Repository repo, CancellationToken cancellationToken = default) { ownerRepository = repo; RequiresRefresh = false; operations = await ownerRepository.GetSupportedOperationsAsync(this, cancellationToken).ConfigureAwait(false); }