public void GetFileStatusTest() { GitFileStatusTracker.Init(tempFolder); GitFileStatusTracker tracker = new GitFileStatusTracker(tempFolder); File.WriteAllLines(tempFile, lines); Assert.AreEqual(GitFileStatus.New, tracker.GetFileStatus(tempFile)); tracker.StageFile(tempFile); tracker.Refresh(); Assert.AreEqual(GitFileStatus.Added, tracker.GetFileStatus(tempFile)); tracker.UnStageFile(tempFile); tracker.Refresh(); Assert.AreEqual(GitFileStatus.New, tracker.GetFileStatus(tempFile)); tracker.StageFile(tempFile); tracker.Refresh(); Assert.AreEqual(GitFileStatus.Added, tracker.GetFileStatus(tempFile)); tracker.Commit("中文 1čtestč"); Assert.AreEqual(GitFileStatus.Tracked, tracker.GetFileStatus(tempFile)); File.WriteAllText(tempFile, "changed text"); tracker.Refresh(); Assert.AreEqual(GitFileStatus.Modified, tracker.GetFileStatus(tempFile)); tracker.StageFile(tempFile); tracker.Refresh(); Assert.AreEqual(GitFileStatus.Staged, tracker.GetFileStatus(tempFile)); tracker.UnStageFile(tempFile); tracker.Refresh(); Assert.AreEqual(GitFileStatus.Modified, tracker.GetFileStatus(tempFile)); File.Delete(tempFile); tracker.Refresh(); Assert.AreEqual(GitFileStatus.Deleted, tracker.GetFileStatus(tempFile)); tracker.StageFile(tempFile); tracker.Refresh(); Assert.AreEqual(GitFileStatus.Removed, tracker.GetFileStatus(tempFile)); tracker.UnStageFile(tempFile); tracker.Refresh(); Assert.AreEqual(GitFileStatus.Deleted, tracker.GetFileStatus(tempFile)); }
private void menuUnstage_Click(object sender, RoutedEventArgs e) { GetSelectedFileFullName(fileName => { tracker.UnStageFile(fileName); ShowStatusMessage("Un-staged file: " + fileName); }, false); }
private async void UnStageFiles(IEnumerable <GitFile> staged) { int i = 1, count = staged.Count(); service.NoRefresh = true; await Task.Run(() => { foreach (var item in staged) { tracker.UnStageFile(item.FileName); ShowStatusMessage(string.Format("Unstaged ({0}/{1}): {2}", i++, count, item.FileName)); } }); service.NoRefresh = false; HistoryViewCommands.RefreshGraph.Execute(null, this); }