Frage

Wenn ich ein Etikett in TFS erstellt habe, es zu mehreren Dateien zuordnen, meine Mitarbeiter können nicht die Versionen der Dateien ändern (noch andere Dateien hinzufügen) zu diesem Label. Wir bekommen diesen Fehler:

TF14077: The owner of a label cannot be changed. 

analysieren das Problem, fand ich diesem Artikel , in dem es heißt:

  

Es ist möglich, dass ein Benutzer sein könnte   erlaubt eine Shared-Label zu manipulieren   in der Entwicklung Ordner, sondern nur   manipulieren Etiketten, die sie in einem eigenen   Produktionsordner.   (Hervorhebung von mir)

Versuchen Sie, wie ich könnte, ich kann keinen Hinweis auf „shared Labels“ finden. Soweit ich sehen kann, ein Etikett muss einen Besitzer hat.

FWIW, was ich versuche, ein „schwebendes“ Label zu tun ist, zu verwenden, so dass die Entwickler, dass ihr Code bereit ist, angeben können Teil des Build zu werden, indem sie mit einem bestimmten Label Tagging. Dann würde der Build-Prozess nur brauchen, um alles zu bekommen, dass Etikett, und automatisch die neuesten Sachen bekommen, die tatsächlich bereit ist, gebaut werden, beid frühere Versionen als auch neuere Sachen zu ignorieren, die für die Hauptsendezeit nicht bereit sind.


Update: Ich glaube, wenn ich nicht ein wirklich Shared-Label machen kann, kann ich zumindest die Nutzern den richtigen Etiketten durch ihre Mitarbeiter erstellt zu bearbeiten. Dies wird ziemlich explizit unterstützt. Regelmäßige Nutzer Benutzer haben dieses Recht nicht, aber nach MSDN (siehe Artikel Team Foundation Server-Berechtigungen , unter Quellcodeverwaltung Berechtigungen ) ist es, ist über die LabelOther die Erlaubnis erteilt werden:

  

Quellcodeverwaltung Berechtigungen   spezifisch für Quellcode-Dateien und   Ordner. Sie können diese Berechtigungen festlegen   mit der rechten Maustaste auf den Ordner oder die Datei   in Source Control Explorer, klicken   Eigenschaften und auf der Registerkarte Sicherheit   Auswahl des Benutzers oder der Gruppe, für die   Sie Berechtigungen ändern, und   dann die Bearbeitung der aufgelisteten Berechtigungen in   Berechtigungen. Sie können diese eingestellt   Berechtigungen durch die tf Verwendung   Befehlszeilenprogramm für Quell   Kontrolle.

...

  

Verwalten Etiketten | tf: LabelOther | Benutzer, die diese Berechtigung kann bearbeiten oder Etikett von einem anderen Benutzer erstellt löschen.

So habe ich zugewiesen, dass Recht auf die Domain-Gruppe, die alle Entwickler enthält, wie oben vorgeschlagen. Ich kann bestätigen, dass es eingestellt ist mit der tf Erlaubnis Befehl:

tf permission /group:"CORP\Web Team"

und das Ergebnis wird als erwartet (ich auch Label-zugewiesen, nur zum Spaß)

===============================================================================
Server item: $/Test1/TeamBuildTypes (Inherit: Yes)
  Identity: CORP\Web Team
    Allow:
    Deny:
    Allow (Inherited): Label, LabelOther
    Deny (Inherited):

Doch mein Testbenutzer immer noch nicht erlaubt wird, ein Etikett zu bearbeiten ich erstellt.

War es hilfreich?

Lösung 2

Ich konnte nie diese Arbeit mit Etiketten machen. Stattdessen entwickeln wir ein ganz anderes Verfahren Verzweigung mit, die ich jetzt stark jedem empfehlen, diese zu lesen.

Wir setzen ein Verzweigungsschema, so dass es eine allgemeine Entwicklungszweig ist; davon hat jeder Entwickler seine / ihre eigenen Zweig, mit denen sie das tun, was sie wollen, und es gibt einen Produktionszweig.

  • Entwickler tun, um ihre „schmutzige“ Arbeit in ihrem privaten Zweig, ohne Angst vor Sachen versehentlich die Freigabe, oder sogar mit ihren Mitarbeitern zu stören.
  • Wenn sie bereit, etwas haben zu integrieren sie die Veränderungen in den Entwicklungszweig verschmelzen. Wir tun kontinuierliche baut dort, und testen Sie die Ergebnisse.
  • Wenn ein integrierter Build vollständig getestet und bereit für den Einsatz, werden die Änderungen an den Produktionszweig zusammengeführt. Dies wird gebaut und eingesetzt werden.

Ich hatte gesagt, ich will

  

, was ich versuche zu tun, ist ein beschäftigen   „Schwimmend“ Label, so dass Entwickler   zeigen können, dass ihr Code ist bereit   Teil des Build zu werden, indem Tagging   es mit einem bestimmten Label.

Die Regelung, die ich oben vollständig dargelegt erreicht dies und vieles mehr.

Andere Tipps

stellt eine bessere Lösung für sein würde ad acta legen, was Sie tun? IIRC gibt es eine ziemlich reiche API für die Arbeit mit shelve Sätzen wie sie im Rahmen eines Build (oder andere) Prozess zu begehen.

Ich fand Etiketten in TFS als sehr begrenzt, wenn ich es benutzt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top