2016-06-02 10 views
4

Hallo Ich habe dieses Problem mit TFS und Git Pull-Anfragen.TFS Git - Pull-Anfragen 'Merge failed'

Wir haben zwei Hauptzweige: -master -Entwicklung

So erstelle ich Niederlassung async_data_loading von entwickeln und in es einige Änderungen machen. Als nächstes befehle ich und meine Änderungen an Remote-async_data_loading drücken und dann neue Pull-Request Ich schaffe meine Änderungen verschmelzen zu Fern entwickeln und ich bekomme diese:

TFS Merge fail

Aber wenn ich es eine fusionieren Konflikte von der Konsole zu finden versuchen, ist keine zu beheben ... Ich kann sogar meine Änderungen zu meiner lokalen Entwicklung ohne Probleme zusammenführen. Wie Sie unten sehen können, sind meine Zweigstellen und Zweigstellen auf der gleichen "Zweigstelle", so dass es keine Konflikte zu lösen gibt, nur meine Zweigstelle ist vor einigen Commits.

Branches graph

Jeder hatte dieses Problem und es gelöst? Ich habe einige Stunden damit verbracht, nach der Lösung zu suchen, habe aber nichts gefunden.

Die lustige Sache ist, dass, wenn ich einen Testzweig von Master erstellen und dann folgen Sie den Schritten wie mit entwickeln gibt es keine Probleme mit meinem Test-Zweig zu Master auf TFS zu verschmelzen.

+0

Welche Version von TFS verwenden Sie? –

+0

Es ist das Online-TFS bei Visualstudio.com, das wir verwenden. –

Antwort

2

Ok das Problem ist jetzt behoben. Wir fanden heraus, dass einige Dateien aus einem der Ordner kopiert wurden und ihre Namen den vollständigen Pfad zu diesen Dateien auf einem der Entwickler-Systeme darstellten, etwa wie folgt:

{PC_name}/Benutzer/{user_name}/{full_path_to_local_file } .cs

Wenn wir diese Dateien TFS plötzlich konnten entfernt auf dem Server vervollständigen fusionieren, ohne zu klagen.

Die Sache, die mich ist das Fehlen jeglicher Informationen ärgert warum versagt auf dem Server verschmelzen. Dies ist sicherlich etwas, das MS in einer Zukunft beheben soll ...

0

Testen Sie einfach in TFS 2015.2 + VS 2015.2, kann dieses Problem nicht reproduzieren. Ein Konflikt tritt häufig auf, wenn Sie zwei Zweige zusammenführen, in denen dieselbe Datei geändert wird. Stellen Sie sicher, Sie haben die neueste für entwickeln Zweig vor dem Zweig es zu holen.

+0

Ich benutze nicht Visual Studio - Arbeiten am Mac. Wir haben TFS 2015. Es gibt keine Konflikte zwischen den Zweigen - Ich kann meine Niederlassung zu lokal entwickeln leicht von Terminal und dann Push-Änderungen an Remote-Entwicklung ohne Git beschweren sich über Merge failing ... –

+0

Wenn Sie den Zweig async_data_loading löschen und erstellen ein neues, kannst du dieses Problem reproduzieren? –

+0

Ja. Ich habe fast alles ausprobiert. TFS kann keine Zweige zusammenführen, die aus Entwicklung erstellt wurden. Scheint so, als hätten wir ein Problem mit der Entwicklung (vielleicht Geschichte?), Aber das Seltsame ist, dass Git selbst in der Lage ist, Merge ohne irgendwelche Beschwerden zu machen ... –

1

Wir haben ein ähnliches Problem auftreten. In unserem Fall haben spitze Klammern (< >) in der E-Mail des TFS-Benutzers dazu geführt, dass LibGit2Sharp eine Exception unter die Haube wirft, die in der Fehlermeldung in TFS nicht angezeigt wurde (gleiches visuelles Ergebnis wie OP beschrieben). Ich stellte auch hier eine Antwort mit dem Stack-Trace:

https://stackoverflow.com/a/39841140/2496266

0

Wir in dieser Ausgabe lief in jüngster Zeit und hatte ein Heck Zeit es nur finden. eventvwr ist super laut und hatte keine guten Informationen für uns.

Was ich tat, um das Problem zu finden, eine Version einer Code-Basis und in eine diff't Repo- und legen Sie es als unsere Hauptlinie nach oben nehmen wurde (entwickeln, was auch immer). Dann nahm unsere volle Hauptleitung und richtete einen Feature-Zweig ein. Ich ging dann in unseren vollständigen Haupt/Feature-Zweig in getrennten Modus und begann, verschiedene Zweige zu erstellen (im Grunde binäre Suche). Ich habe Pull Requests für all diese Szenarien erstellt, wenn es das Problem "Merge Failed" reproduziert, wusste ich, dass ich zu weit gegangen bin.Wenn ich eine saubere Zusammenführung hatte, wusste ich, dass ich weiter gehen musste.

Schließlich fanden wir eine Datei mit einem '\' im Namen davon. Durch das Entfernen dieser Datei konnte ich alles löschen. Ich vermute, dass dies daran liegt, dass die PR/Merging-Funktionalität auf einer Windows-Plattform auftritt.

MS wenn Sie zuhören update eventvwr mit weniger lauten und mehr Material Informationen.

+0

Interessant - dies wäre nicht auf Windows beschränkt, die Zusammenführung erfolgt vollständig im Speicher und daher sollten Pfadtrennzeichen keine Rolle spielen. Ich werde versuchen, das selbst zu reproduzieren. Und danke für das Feedback. Ja, wir hören zu. –

+0

Hmm. Welche Version von TFS verwenden Sie? Ich kann das nicht auf VSTS wiederholen. Komischerweise gibt es ein _different_ Problem, aber ich kann eine Pull-Anfrage mit einem Dateinamen mit einem '\' darin zusammenführen. –

+0

Tut mir leid, dass ich das verpasst habe, ich werde so schnell wie möglich mit meinem Team weiterarbeiten. –