public void SetVaultWorkingFolder(string repoPath, string diskPath) { // Save the current working folder var list = ServerOperations.GetWorkingFolderAssignments(); foreach (DictionaryEntry dict in list) { if (dict.Key.ToString().Equals(repoPath, StringComparison.OrdinalIgnoreCase)) { _originalWorkingFolder = dict.Value.ToString(); break; } } try { ServerOperations.SetWorkingFolder(repoPath, diskPath, true); } catch (WorkingFolderConflictException ex) { // Remove the working folder assignment and try again ServerOperations.RemoveWorkingFolder((string)ex.ConflictList[0]); ServerOperations.SetWorkingFolder(repoPath, diskPath, true); } }
public bool IsSetRootVaultWorkingFolder() { var exPath = ServerOperations.GetWorkingFolderAssignments().Cast <DictionaryEntry>().Select(e => e.Key.ToString()).FirstOrDefault(e => "$".Equals(e, StringComparison.OrdinalIgnoreCase)); if (null == exPath) { Log.Information("Root working folder is not set. It must be set so that files referred to outside of git repo may be retrieved. Will terminate on enter"); return(false); } return(true); }
private int setVaultWorkingFolder(string repoPath) { var ticks = Environment.TickCount; //check for existing assignment and remove if found var workingFolders = ServerOperations.GetWorkingFolderAssignments(); if (workingFolders.ContainsValue(this.WorkingFolder)) { ServerOperations.RemoveWorkingFolder(workingFolders.GetKey(workingFolders.IndexOfValue(this.WorkingFolder)).ToString()); } ServerOperations.SetWorkingFolder(repoPath, this.WorkingFolder, true); return(Environment.TickCount - ticks); }
private int unSetVaultWorkingFolder(string repoPath) { var ticks = Environment.TickCount; //remove any assignment first //it is case sensitive, so we have to find how it is recorded first var exPath = ServerOperations.GetWorkingFolderAssignments() .Cast <DictionaryEntry>() .Select(e => e.Key.ToString()) .Where(e => repoPath.Equals(e, StringComparison.OrdinalIgnoreCase)).FirstOrDefault(); if (null != exPath) { ServerOperations.RemoveWorkingFolder(exPath); } return(Environment.TickCount - ticks); }
public void UnSetVaultWorkingFolder(string repoPath) { //remove any assignment first //it is case sensitive, so we have to find how it is recorded first var exPath = ServerOperations.GetWorkingFolderAssignments().Cast <DictionaryEntry>() .Select(e => e.Key.ToString()).FirstOrDefault(e => repoPath.Equals(e, StringComparison.OrdinalIgnoreCase)); if (null != exPath) { ServerOperations.RemoveWorkingFolder(exPath); } if (_originalWorkingFolder != null) { ServerOperations.SetWorkingFolder(repoPath, _originalWorkingFolder, true); _originalWorkingFolder = null; } }