/doc/source-cs/shelve.txt

https://bitbucket.org/tortoisehg/hgtk/ · Plain Text · 131 lines · 89 code · 42 blank · 0 comment · 0 complexity · ded06d9cc500297f2d71e824616ec647 MD5 · raw file

  1. Almárka
  2. ========
  3. .. module:: shelve.dialog
  4. :synopsis: Dialog used to perform shelve/unshelve operations
  5. Účelem tohoto nástroje je umožnit uživateli **odložit** (shelve) vybrané změny z pracovního adresáře, uložit je uvnitř repozitáře ve speciálním oprávkovém souboru (patch file) a později je opět **vyjmout** (unshelve). Úložný prostor uvnitř repozitáře je označován jako shelf, neboli almárka.
  6. .. figure:: figures/shelve.png
  7. :alt: Shelve dialog
  8. Dialogové okno Shelve
  9. Stručný popis jednotlivých tlačítek:
  10. :guilabel:`Shelve`
  11. Odložit vybrané diffy v zatržených souborech (do almárky).
  12. :guilabel:`Unshelve`
  13. Vrátit odložené změny zpět do pracovního adresáře.
  14. :guilabel:`VDiff`
  15. Vizuální porovnání vybraných souborů
  16. :guilabel:`Vrátit`
  17. Vrátit vybrané soubory k poslednímu verzovanému stavu. Při slučování je možné určit návrat k vybranému rodiči.
  18. :guilabel:`Přidat`
  19. Přidat vybrané soubory, které měly status neznámého (?) nebo ignorovaného (I) souboru).
  20. :guilabel:`Přesunout`
  21. Přemístit vybrané soubory do určeného cílového adresáře verzovaným způsobem.
  22. :guilabel:`Odebrat`
  23. Smazat vybrané neverzované soubory a/nebo odebrat (označit jako smazané) všechny verzované soubory.
  24. :guilabel:`Zapomenout`
  25. Zapomenout vybrané verzované soubory.
  26. :guilabel:`Obnovit`
  27. Znovu načíst stav pracovního adresáře. Procedura se snaží zachovat výběr souborů i jejich výběrový status.
  28. Pole pro seznam souborů čtyři sloupce stejně jako v nástroji Commit. Význam jednotlivých záhlaví - viz 4.5.1 nad poznámkou.
  29. Záložky
  30. -------
  31. Diffový panel nástroje Shelve čtyři záložky:
  32. 1) Text diffu - ukazuje diff aktuálně vybraného souboru
  33. 2) Výběr porce - umožňuje vybírat z porcí diffů vybraného souboru
  34. 3) Náhled almárky - zobrazuje všechny vybrané změny. Tento náhled ukazuje změny, které budou odebrány z pracovního adresáře a odloženy v almárce.
  35. 4) Obsah almárky - aktuální obsah almárky.
  36. Odkládání změn
  37. --------------
  38. Stejně jako procedura Commit, používá i procedura Shelve vestavěný kód pro výběr porcí u zadaných souborů pro odložení do almárky. Stiskneme-li tlačítko Shelve, jsou vybrané změny odstraněny z pracovního adresáře a umístěny do oprávkového souboru. Pokud almárka již změny obsahuje, musíme rozhodnout, zda být soubor přepsán anebo zda mají být změny sloučeny. Obsahuje-li almárka nějaké změny, je aktivní tlačítko "Vyjmout".
  39. Vracení odložených změn
  40. -----------------------
  41. Při stisku tlačítka Unshelve jsou odložené změny znovu použity v pracovním adresáři.
  42. .. note::
  43. Vrácené změny se projeví jako úpravy pracovního adresáře po použití tlačítka Obnovit.
  44. V čem se odložení liší od předání?
  45. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  46. Odložené změny jsou fyzicky odstraněny z pracovního adresáře dokud je opět nevrátíme. To znamená, že můžeme rozvíjet a testovat svůj projekt při nepřítomnosti odložených změn. To je bezpečnější, než vybírání změn při rozvíjení projektu.
  47. Odložením dokončených úseků projektu si také můžeme zajistit, že se nám tyto části nebudou křížit s odlaďováním či jinými prováděnými změnami.
  48. Výhrada: Odložené změny jsou uloženy v oprávce (patch), která vychází z obsahu aktuálního pracovního adresáře. Není žádná záruka že oprávku bude možné později znovu použít, pokud by odložené změny kolidovaly se změnami, provedenými v pracovním adresáři po úkonu Odložit.
  49. V čem se odložení liší od MQ?
  50. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  51. Almárku lze považovat za nepojmenovanou oprávku MQ, která není nikdy přeměněna na changeset.
  52. Nástroj Shelve může být užitečný při údržbě fronty oprávek.
  53. Úkon "shelve" může vzít změny z jedné oprávky a použít je u jiné nebo u oprávky úplně nové.
  54. Například:
  55. 1) Provedeme push do oprávky, kterou bychom rádi rozdělili
  56. 2) Otevřeme nástroj pro odkládání změn, kde můžeme vybrat poslední změny oprávky
  57. 3) Vypustíme z výběru porce, které chceme ponechat v oprávce a stiskneme :guilabel:`Shelve`
  58. 4) Obnovíme poslední (top) oprávku příkazem :command:`hg qrefresh`, nebo použijeme nástroj pro komit
  59. 5) Provedeme push nebo pop (?) do oprávky pro níž chceme použít odložené změny
  60. 6) Otevřeme nástroj pro odkládání změn a stiskneme :guilabel:`Unshelve`
  61. 7) Obnovíme poslední oprávku (opakujeme krok 4)
  62. Nelze odložit soubory přidané, odstraněné nebo přejmenované, ale extenze MQ to umí.
  63. V čem se odložení liší od procedury attic?
  64. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  65. Extenze attic je sada nástrojů pro práci s "almárkou". Toto rozšíření umožňuje mít několik pojmenovaných *odstávek*, které mohou být odládány a vraceny nezávisle na sobě.
  66. Klávesová navigace
  67. -------------------
  68. :guilabel:`Ctrl-C`
  69. v panelu se záložkami zkopíruje aktuálně zvýrazněné (nikoliv vybrané, jen zvýrazněné) porce diffů do schránky. Tyto mohou být vlepeny do textového zásobníku za účelem vytvoření libovolné oprávky založené na změnách v pracovním adresáři.
  70. Kód, který kopíruje porce (hunks) do schránky, rozezná záhlaví diffů. Obsah schránky může vždy tvořit platnou oprávku (patch).
  71. Nastavitelné atributy v kofiguraci repozitáře
  72. ---------------------------------------------
  73. * :menuselection:`TortoiseHg -> Diff. panel dole`
  74. * :menuselection:`TortoiseHg -> Šířka záložky`
  75. * :menuselection:`TortoiseHg -> Max velikost diffu`
  76. Spuštění z příkazového řádku
  77. -------------------------------------
  78. Dialogové okno akce Shelve (Odložit) se otevře jedním z následujících příkazů::
  79. hgtk shelve
  80. hgtk unshelve
  81. globální možnosti viz "hgtk -v help shelve"
  82. Přístup k funkci *shelve* v samotném Mercurialu si otevřeme úpravou konfiguračního souboru Mercurial.ini::
  83. [extensions]
  84. tortoisehg.util.hgshelve=
  85. Příkazy :command:`shelve` a :command:`unshelve` lze potom zadávát s příkazem **hg**.
  86. .. warning::
  87. Extenze win32text může působit potíže při výběru porcí.
  88. Toto je již vyřešeno ve verzích Mercurial 1.3 a TortoiseHg 0.8, ale vyžaduje to řádné nastavení. Viz `issue #82 <http://bitbucket.org/tortoisehg/stable/issue/82/>`_.
  89. .. vim: noet ts=4