Ejemplo n.º 1
0
 private void menuUndo_Click(object sender, RoutedEventArgs e)
 {
     GetSelectedFileFullName(fileName =>
     {
         GitFileStatus status = tracker.GetFileStatus(fileName);
         if (status == GitFileStatus.Modified || status == GitFileStatus.Staged ||
             status == GitFileStatus.Deleted || status == GitFileStatus.Removed)
         {
             if (MessageBox.Show("Are you sure you want to undo changes for " + Path.GetFileName(fileName) +
                                 " and restore a version from the last commit? ",
                                 "Undo Changes", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
             {
                 tracker.CheckOutFile(fileName);
             }
         }
     }, false); // file must exists check flag is false
 }
        public void CheckOutFileTest()
        {
            GitFileStatusTracker.Init(tempFolder);
            File.WriteAllLines(tempFile, lines);

            GitFileStatusTracker tracker = new GitFileStatusTracker(tempFolder);

            tracker.StageFile(tempFile);
            tracker.Commit("test");

            File.WriteAllText(tempFile, "changed text");
            tracker.CheckOutFile(tempFile);
            var newlines = File.ReadAllLines(tempFile);

            Assert.AreEqual(lines[0], newlines[0]);
            Assert.AreEqual(lines[1], newlines[1]);
            Assert.AreEqual(lines[2], newlines[2]);
        }
Ejemplo n.º 3
0
        private void menuUndo_Click(object sender, RoutedEventArgs e)
        {
            const string deleteMsg = @"

Note: Undo file changes will restore the file(s) from the last commit.";

            var filesToUndo = new List <string>();

            GetSelectedFiles(fileName => filesToUndo.Add(fileName));

            string title   = (filesToUndo.Count == 1) ? "Undo File Changes" : "Undo Files Changes for " + filesToUndo.Count + " Files?";
            string message = (filesToUndo.Count == 1) ?
                             "Are you sure you want to undo changes to file: " + Path.GetFileName(filesToUndo.First()) + deleteMsg :
                             String.Format("Are you sure you want to undo changes to {0} files", filesToUndo.Count) + deleteMsg;

            if (MessageBox.Show(message, title, MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
            {
                foreach (var fileName in filesToUndo)
                {
                    tracker.CheckOutFile(fileName);
                }
            }
        }