diff options
author | Mike Krüger <mkrueger@xamarin.com> | 2012-01-20 15:28:44 +0400 |
---|---|---|
committer | Mike Krüger <mkrueger@xamarin.com> | 2012-01-20 15:28:44 +0400 |
commit | e4cc2f5d01f1983f3a870cb8c7ed3358b03cf214 (patch) | |
tree | e57624147ad0435010fd014d2f0ed30b3c696e30 /main/src/addins/VersionControl/MonoDevelop.VersionControl.Git | |
parent | 815dd798a84170925f1b4dcda664c7e6467838ee (diff) | |
parent | f2e3aa8bd270c8cc9b507e6a12de8ac9ee084324 (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.cs | 37 |
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> |