diff --git a/doc/release-notes/NEXT.md b/doc/release-notes/NEXT.md index e5d73d2b..ce518510 100644 --- a/doc/release-notes/NEXT.md +++ b/doc/release-notes/NEXT.md @@ -4,3 +4,4 @@ * Add .net462 and windows10 long path support. See [doc to enable it](../blob/master/doc/Set-custom-workspace.md). (#1221 by @pmiossec) * Fix bug where checkin attempts to remove a non-empty directory. (#1249 by @m-akinc) * Line endings are now properly normalized when pushing changes to TFS if core.autocrlf is set to true (#1210 by @JeffCyr) +* Fix merge commits connecting to wrong parent diff --git a/src/GitTfs.VsCommon/TfsHelper.Common.cs b/src/GitTfs.VsCommon/TfsHelper.Common.cs index 3b3b6fc0..85f200de 100644 --- a/src/GitTfs.VsCommon/TfsHelper.Common.cs +++ b/src/GitTfs.VsCommon/TfsHelper.Common.cs @@ -230,9 +230,10 @@ namespace GitTfs.VsCommon // 2. figuring out up to which changeset the merge source branch needs to be fetched return changes.Max(change => { - if (change.MergeSources.Empty()) + var mergeSources = change.MergeSources.Where(mergeSource => mergeSource.VersionTo < targetChangeset); + if (mergeSources.Empty()) return -1; - return change.MergeSources.Max(mergeSource => mergeSource.VersionFrom); + return mergeSources.Max(mergeSource => mergeSource.VersionTo); }); }