Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Krüger <mkrueger@xamarin.com>2012-01-20 15:28:44 +0400
committerMike Krüger <mkrueger@xamarin.com>2012-01-20 15:28:44 +0400
commite4cc2f5d01f1983f3a870cb8c7ed3358b03cf214 (patch)
treee57624147ad0435010fd014d2f0ed30b3c696e30 /main/src/addins/VersionControl/MonoDevelop.VersionControl.Git
parent815dd798a84170925f1b4dcda664c7e6467838ee (diff)
parentf2e3aa8bd270c8cc9b507e6a12de8ac9ee084324 (diff)
Merge branch 'master' into newresolver
Conflicts: main/src/addins/MonoDevelop.Refactoring/MonoDevelop.CodeGeneration/ToStringGenerator.cs
Diffstat (limited to 'main/src/addins/VersionControl/MonoDevelop.VersionControl.Git')
-rw-r--r--main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/RepositoryStatus.cs37
1 files changed, 24 insertions, 13 deletions
diff --git a/main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/RepositoryStatus.cs b/main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/RepositoryStatus.cs
index 4aada9f2a3..b7aa17835d 100644
--- a/main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/RepositoryStatus.cs
+++ b/main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/MonoDevelop.VersionControl.Git/RepositoryStatus.cs
@@ -184,28 +184,39 @@ namespace MonoDevelop.VersionControl.Git
void UpdateSingleFiles (List<string> singleFiles)
{
+ // NGIT HACK: We verify that all the files listed in the result of
+ // the GitStatus call are actually in the list of files we're interested
+ // in. This is because NGit cannot properly filter the git tree and
+ // incorrectly includes extra directories. See bug #
var status = new SpecificStatus (Repository, singleFiles).Call ();
-
+
foreach (var v in status.GetAdded ())
- Added.Add (v);
-
+ if (singleFiles.Contains (v))
+ Added.Add (v);
+
foreach (var v in status.GetChanged ())
- Modified.Add (v);
-
+ if (singleFiles.Contains (v))
+ Modified.Add (v);
+
foreach (var v in status.GetConflicting ())
- MergeConflict.Add (v);
-
+ if (singleFiles.Contains (v))
+ MergeConflict.Add (v);
+
foreach (var v in status.GetMissing ())
- Missing.Add (v);
-
+ if (singleFiles.Contains (v))
+ Missing.Add (v);
+
foreach (var v in status.GetModified ())
- Modified.Add (v);
-
+ if (singleFiles.Contains (v))
+ Modified.Add (v);
+
foreach (var v in status.GetRemoved ())
- Removed.Add (v);
+ if (singleFiles.Contains (v))
+ Removed.Add (v);
foreach (var v in status.GetUntracked ())
- Untracked.Add (v);
+ if (singleFiles.Contains (v))
+ Untracked.Add (v);
}
/// <summary>