61 Stimmen

Wie deaktiviere ich den automatischen Abschlussstatus für eine Aufgabe beim Einchecken?

Wir sind gerade zu TFS 2012 umgezogen, was sich als ein riesiges Upgrade für 2008 in Bezug auf die Benutzerfreundlichkeit mit VS2012 herausstellt.

Allerdings gibt es ein sehr ärgerliches Feature mit der Funktion "Meine Arbeit", wenn Sie Ihre Arbeit mit einer bestimmten Aufgabe verknüpfen. Nachdem Sie die Aufgabe mit Ihrem Arbeitsartikel verbunden haben, wird jede Überprüfung in einem beliebigen Branch die Aufgabe auf den Status "erledigt" setzen. Wie kann ich das deaktivieren? Ich würde gerne den Entwicklungszweig haben, damit ich während der Entwicklung kleine Commits machen kann, aber mit diesem Feature kann ich die Aufgabe mit meiner aktuellen Arbeit nicht verbinden, wenn ich das tue. Der einzige Weg dies zu tun (den ich weiß), ist die Auswahl der Aufgabe für meine aktuelle Arbeit kurz bevor ich alle kleinen Commits von meinem persönlichen Branch zum Master zusammenführe. Ja, das ist machbar, aber es ist nicht so ein schöner Workflow, wie er sein könnte.

Mit dem Taskboard-Feature im Scrum-Template ist das Verschieben von Aufgaben auf "erledigt" nach Beendigung der Arbeit ohnehin ein trivialer und üblicher Teil des Workflows. Die automatische Erledigungsbewegung ist eine ziemlich nervige Automatisierung, die nicht da sein sollte.

Also meine Fragen sind: Wie kann ich das deaktivieren? Ist dieses Feature Teil des Templates oder eine viel tiefgreifendere Integration mit TFS-Arbeitsaufgaben-Management?

Wir verwenden das Scrum 2.0-Template von Microsoft.

79voto

DaveShaw Punkte 50735

Wenn Sie im Panel "Ausstehende Änderungen" bereit sind, Ihre Korrektur einzuchecken und Ihr Arbeitselement mit dem Changeset zu verknüpfen, sollten Sie "Lösen" in "Zuordnen" ändern (oder was auch immer es in Scrum ist).

Ausstehende Änderungen


Das als Standard festzulegen, ist komplizierter.

Sie müssen die Arbeitsaufgaben-Template-Definition bearbeiten für die Arten von Arbeitsaufgaben, die Sie verwenden (Fehler, Aufgabe, etc.).

Eine Möglichkeit besteht darin, die Option "Lösen" ganz zu entfernen, Sie können dies wie folgt tun:

Öffnen Sie das XML für Ihren Arbeitsaufgabentyp (oder die GUI in den Power Toys, wenn Sie bevorzugen): Suchen und entfernen Sie den:

Abschnitt aus Ihrer Vorlage - er wird in den gegen eine bestimmte Transition zwischen 2 Zuständen sein.

Wenn Sie dies tun, wird TFS Ihr Arbeitsaufgaben-Element niemals als Teil Ihres Check-ins verschieben, Sie müssen dies jedes Mal tun.

Die andere Möglichkeit besteht darin, einen neuen Arbeitsaufgaben-"Zustand" hinzuzufügen (z.B. "In Bearbeitung"), der keine AKTION von Checkin hat. Sie können dann Ihre Arbeitsaufgaben in diesen Zustand überführen, während Sie an ihnen arbeiten, und dann zurück zu "Zugeordnet" (oder was auch immer) bevor Sie sie einchecken und "Lösen".

Das Buch "Professional Team Foundation Server 2010" von Wrox wird Ihnen beim WIT-Bearbeiten helfen.

Es gibt wahrscheinlich mehr Möglichkeiten, dies zu tun, es hängt alles vom Team und der Umgebung ab, in der Sie arbeiten :).


Es gibt auch einen anderen Weg dies zu tun, der nur Ihre Client-Maschine betrifft:

Um "Zuordnen" zur Standardaktion zu machen (anstatt "Lösen"), setzen Sie den Registrierungsschlüssel

HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\12.0\TeamFoundation\SourceControl\Behavior\ResolveAsDefaultCheckinAction auf Falsch.

N.B. Ersetzen Sie 12.0 (für VS2013) durch 14.0 für VS2015, 11.0 für VS 2012 oder 10.0 für VS 2010.

36voto

avitenberg Punkte 1711

Jetzt können Sie auf VS2015 aktualisieren (falls noch nicht geschehen) und das neue Kontrollkästchen Tools > Optionen > Quellsteuerung > Visual Studio Team Foundation > "Zugeordnete Arbeitsaufträge beim Einchecken lösen" deaktivieren. Danach wird "Zuordnen" zur Standardoption und Sie brauchen es nicht mehr manuell bei der Übernahme zu ändern

2voto

Petter Punkte 61

In Visual Studio 2015 kann dies durch Deaktivieren von "Zugehörige Arbeitsitems beim Check-in auflösen" im Optionsmenü erfolgen.

Tools > Options > Source Control > Visual Studio Team Foundation Server

Visual Studio Screenshot

Änderungen: Tippfehler

0voto

MattOpen Punkte 805

Basierend auf der Antwort von DaveShaw und in Bezug auf VS2022, enthält meine Antwort keine neuen Informationen. Aber falls Sie nicht mit RegEdit vertraut sind und nach einer automatischen Möglichkeit für das Rollout suchen, verwenden Sie stattdessen die Reg-Datei.

  1. Erstellen Sie eine Registrierungsdatei mit dem Namen z.B. "AssociateAsDefaultCheckinAction.reg"

  2. Fügen Sie den folgenden Text hinzu:

    Windows Registry Editor Version 5.00

    [HKEY_CURRENT_USER\SOFTWARE\Microsoft\VisualStudio\12.0\TeamFoundation\SourceControl\Behavior] "ResolveAsDefaultCheckinAction "="False" [HKEY_CURRENT_USER\SOFTWARE\Microsoft\VisualStudio\13.0\TeamFoundation\SourceControl\Behavior] "ResolveAsDefaultCheckinAction "="False" [HKEY_CURRENT_USER\SOFTWARE\Microsoft\VisualStudio\14.0\TeamFoundation\SourceControl\Behavior] "ResolveAsDefaultCheckinAction "="False" [HKEY_CURRENT_USER\SOFTWARE\Microsoft\VisualStudio\15.0\TeamFoundation\SourceControl\Behavior] "ResolveAsDefaultCheckinAction "="False" [HKEY_CURRENT_USER\SOFTWARE\Microsoft\VisualStudio\16.0\TeamFoundation\SourceControl\Behavior] "ResolveAsDefaultCheckinAction "="False" [HKEY_CURRENT_USER\SOFTWARE\Microsoft\VisualStudio\17.0\TeamFoundation\SourceControl\Behavior] "ResolveAsDefaultCheckinAction "="False"

  3. Führen Sie die Reg-Datei auf dem System des Entwicklers aus

Nachdem dies abgeschlossen ist, starten Sie Visual Studio neu und überprüfen Sie das Ergebnis. Der Status "resolve" ist beim Check-in nicht mehr sichtbar.

Bildbeschreibung hier eingeben

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X