public static async Task <InitResult> Initialize(WorcsDocument document) { if (!document.HasFlag(WorcsDocumentFlags.WorkingDirExists)) { return(InitResult.TempDirNotFound); } if (document.HasFlag(WorcsDocumentFlags.RepositoryExists)) { return(InitResult.RepoAlreadyExists); } Repository.Init(document.RepoDir); document.SetFlag(WorcsDocumentFlags.RepositoryExists); document.SetFlag(WorcsDocumentFlags.HasUncommitedChanges); return(InitResult.Success); }
public static async Task <UnpackResult> Unpack(WorcsDocument document) { if (!document.HasFlag(WorcsDocumentFlags.WorkingDirExists)) { var userTempDir = Path.GetTempPath(); var tempDirName = await document.GetHashedFilename(); document.WorkingDir = Path.Combine(userTempDir, TempDirParentName, tempDirName); document.RepoDir = Path.Combine(document.WorkingDir, RepoDirName); document.SetFlag(WorcsDocumentFlags.WorkingDirExists); } if (!File.Exists(document.WordFilepath)) { return(UnpackResult.FileNotFound); } await Console.Out.WriteLineAsync($"Unpacking word file {document.WordFilepath} to temp repo dir {document.RepoDir}."); ZipFile.ExtractToDirectory(document.WordFilepath, document.RepoDir, true); return(UnpackResult.Success); }