2016-04-29 17 views
1

Wir verwenden Team Foundation Source Control und einer unserer Benutzer hat keine "Get Latest Version" für ein Projekt, an dem wir gerade arbeiteten . Nachdem der Benutzer Änderungen an einer veralteten Version vorgenommen hat, konnten sie ihre Änderungen ohne Probleme einchecken.TFS-Quellcodeverwaltung ermöglichte uns das Einchecken einer Datei, die nicht die neueste Version war

Dies bedeutete, dass alle vorherigen Änderungen, die sie nicht in ihrem Arbeitsbereich hatten, bevor Änderungen vorgenommen wurden, vollständig überschrieben wurden.

Wir haben einen Test in einem separaten Projekt durchgeführt, bei dem ich eine Änderung vorgenommen habe, dann hat ein anderer Benutzer die gleiche Datei geändert (aber nicht die neueste Version bekommen, so dass sie nicht die neueste Version aus der Quelle hatte) Steuerung). Sie konnten erfolgreich einchecken.

Wie konnte das passieren? Ich habe GIT schon früher benutzt und dies ist nicht möglich, da es einen Konflikt auslösen sollte, der gelöst werden muss.

+0

Meine Vermutung wäre, dass Sie, oder sie oder wer auch immer, zu dieser Zeit von TFS 'getrennt' arbeiten. Das oder Sie sollten sicherstellen, dass die Clients aufgefordert werden, beim Auschecken die neueste Version zu erhalten. – gmiley

+0

Ich kenne einige Fälle, in denen dies passieren kann, aber Sie müssen entweder versuchen, vorher einzuchecken (automatisches Auflösen des Konflikts) oder das Einchecken erzwingen. Es wäre hilfreich, wenn Sie die genauen Schritte mit Screenshots oder Befehlszeilenbefehlen angeben könnten. – jessehouwing

+0

Welche Version von TFS verwenden Sie? Welche Version von Visual Studio verwenden Sie (in beiden Fällen)? Verwenden Sie für jedes System entweder lokale oder Server-Arbeitsbereiche? – jessehouwing

Antwort

1

Ich vermute, dass Sie den „Versuch, Konflikte automatisch zu lösen, wenn sie erzeugt“ haben eingeschaltet, der die Konflikte automatisch, wenn es möglich zu lösen versucht:

enter image description here

Aber selbst wenn dieser Fall, Obwohl Konflikte automatisch behoben werden, wird der Check-in zunächst abgebrochen.

enter image description here

Wenn Sie wieder zu überprüfen, in versuchen, können Sie ohne weitere Warnungen lesen. Und ohne explizit "Get neuste Version" aufzurufen.

Wenn die Änderungen auf beiden Seiten dieselbe Änderung sind, wird dieser Einbuchungsversuch tatsächlich automatisch fehlschlagen und die lokale Änderung zugunsten der "neueren" Serverversion rückgängig machen.

Sie können das Einchecken auch über die Befehlszeile (Serveränderungen verwerfen) mit tf vc checkin /force erzwingen.

Ein weiterer Fall, der auftreten kann, ist, dass die fragliche Datei unverändert war, aber Teil einer Zusammenführungsoperation. In diesem Fall wird die "Zusammenführung" als neuer Änderungssatz aufgezeichnet, aber der Inhalt kann gleich bleiben.

Mir sind keine anderen Schritte bekannt, die dazu führen können, dass Änderungen ohne explizite Überprüfung vorgenommen werden.

+1

Wir haben das eingeschaltet, aber wir haben nie eine Nachricht erhalten. Wir versuchen, unser Problem erneut zu replizieren und es nicht zu reproduzieren (wir haben es in der Vergangenheit ohne Probleme repliziert, aber jetzt bekommen wir den Konflikt!)) – Lock

+0

Jede Chance, die Sie jemals verwendet haben, "Ziel behalten" oder "Quelle behalten" beim Zusammenführen? Das wird auch später "kleben" und ignorieren. – jessehouwing