Principy typů zámků

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019

Pomocí příkazu Správa verzí Team Foundation (TFVC) lock můžete dočasně zabránit provedení změn v určitém souboru nebo složce na serveru správy zdrojového kódu. Tato funkce může být užitečná, pokud chcete změnit položku v pracovním prostoru a pak ji vrátit se změnami, aniž byste museli řešit konflikty při slučování. Zámek v určitém souboru nebo složce může najednou uchovávat jenom jeden uživatel. Pokud chcete trvale blokovat přístup k položce, měli byste místo toho použít příkaz Oprávnění.

Typy zámků

Azure DevOps poskytuje dva typy zámků: zámky vrácení se změnami a zámky rezervace.

Zámek vrácení se změnami

Zámek vrácení se změnami je méně omezující než uzamčení rezervace. Když použijete zámek vrácení se změnami, můžou uživatelé dál provádět místní změny uzamčené položky v jiných pracovních prostorech. Tyto změny se ale nedají vrátit se změnami, dokud zámek neodeberete provedením jedné z následujících akcí:

  • Explicitní odebrání zámku vrácení se změnami z položky
  • Implicitně odeberte zámek vrácením změn souboru se změnami.

Uzamčení rezervace

V Azure DevOps nejsou zámky rezervace obecně efektivní kvůli místním pracovním prostorům. Další informace najdete v tématu Rozhodnutí mezi použitím místního nebo serverového pracovního prostoru. Konkrétně jsou zámky rezervace:

  • Nelze vynutit, protože jiní uživatelé můžou používat místní pracovní prostory.
  • Není k dispozici, pokud používáte místní pracovní prostor.
  • Zakázáno, pokud člen skupiny zabezpečení Správa istrators kolekce projektů povolil asynchronní rezervaci pracovních prostorů serveru vašeho týmu.

Uzamčení rezervace zabraňuje uživatelům, kteří používají pracovní prostory serveru, rezervovat a provádět změny uzamčené položky v jejich pracovních prostorech. U položky, pro kterou existují čekající změny , nemůžete použít zámek rezervace v jiném pracovním prostoru než ve vašem vlastním pracovním prostoru.

Jak funguje uzamykání

Pokud je soubor rezervovaný, když ho zamknete, změní se jeho záznam rezervace tak, aby obsahoval nový typ zámku. Pokud soubor není rezervovaný, přidá se do sady čekajících změn pracovního prostoru změna zámku. checkout Na rozdíl od příkazu lock se příkaz automaticky neupravuje.

TFVC odemkne položku automaticky, když v pracovním prostoru, kde je zamčená, vrátit se změnami čekající změny. Zámky se uvolní také v případě, že čekající změny souboru se vrátí zpět pomocí undo příkazu.

Zámky u složek jsou implicitně rekurzivní. Pokud zamknete složku, nemusíte zamknout soubory, které obsahuje. Jednou z výjimek je, že složka má zámek vrácení se změnami, což je méně omezující než uzamčení rezervace. Pokud chcete u souboru v této složce použít zámek rezervace, musíte tento zámek rezervace použít.

Zámek v určitém souboru nebo složce může najednou uchovávat jenom jeden uživatel. Pomocí příkazu Stav můžete zjistit, které soubory jsou zamknuté na serveru Azure DevOps a kdo je zamkl.

Zámek lze umístit buď jako vlastní operaci, nebo jako součást několika dalších operací. Mezi tyto operace patří rename, , checkoutdelete, mergeundelete, , branch, a add. Když zamknete položku jako součást přidávání do správy zdrojového kódu nebo větvení, TFVC umístí zámek na cestu k serveru, kde je vytvořena nová položka. Toto umístění zabrání jinému uživateli v přidávání nebo větvení souboru do stejného umístění. Když pomocí příkazu zamknete položku rename , zamknou se staré i nové cesty k serveru.

Odemknutí položky

Položku můžete explicitně odemknout pomocí unlock příkazu nebo implicitně při vrácení se změnami. Když zkontrolujete čekající změny uzamčené položky, Azure DevOps odebere všechny zámky.

Poznámka:

Ve výchozím nastavení je oprávnění UnlockOther uděleno pouze správcům. Pokud máte oprávnění OdemknoutOther , můžete zámek odebrat z položky v pracovním prostoru jiného uživatele pomocí příkazu Lock.