Používání CVS: Porovnání verzí

Z MoodleDocs
Přejít na:navigace, hledání
(Vložena důležitá informace o adresáři, kde se má posouvat značka)
 
(Není zobrazena jedna mezilehlá verze od stejného uživatele.)
Řádek 5: Řádek 5:
Příklad překlopení pracovního adresáře na stabilní vývojovou větev:
Příklad překlopení pracovního adresáře na stabilní vývojovou větev:


  cvs -q update -dP -r MOODLE_16_STABLE
  cvs -q update -dP -r MOODLE_19_STABLE


Příklad překlopení pracovního adresáře na hlavní (nestabilní) vývojovou větev (HEAD):
Příklad překlopení pracovního adresáře na hlavní (nestabilní) vývojovou větev (HEAD):
Řádek 13: Řádek 13:
Poté, co provedete opravu kódu ve STABLE (commit), sloučíte (merge) opravu do HEAD pomocí značky MOODLE_XX_MERGED. Přejděte do adresáře s HEAD verzí a aktualizujte (update) všechny změny opraveného souboru file.php, ke kterým v něm došlo od posledního sloučení:
Poté, co provedete opravu kódu ve STABLE (commit), sloučíte (merge) opravu do HEAD pomocí značky MOODLE_XX_MERGED. Přejděte do adresáře s HEAD verzí a aktualizujte (update) všechny změny opraveného souboru file.php, ke kterým v něm došlo od posledního sloučení:


  cvs -q update -kk -j MOODLE_16_MERGED -j MOODLE_16_STABLE file.php  
  cvs -q update -kk -j MOODLE_19_MERGED -j MOODLE_19_STABLE file.php  


Poté zašlete takto opravený soubor zpět do hlavní vývojové větve:
Poté zašlete takto opravený soubor zpět do hlavní vývojové větve:


cvs commit file.php  
cvs commit file.php  


Nyní je potřeba označit novou revizi souboru jako sloučenou. To se provádí pomocí již zmíněné značky MOODLE_XX_MERGED. Přejděte zpět do adresáře se STABLE větví a zadejte:
Nyní je potřeba označit novou revizi souboru jako sloučenou. To se provádí pomocí již zmíněné značky MOODLE_XX_MERGED. Přejděte zpět do adresáře se STABLE větví a zadejte:


  cvs tag -F MOODLE_16_MERGED file.php
  cvs tag -F MOODLE_19_MERGED file.php


Parametr -F znamená „Posuň značku, pokud již existuje.“ Toto posouvání je důležité!
Parametr -F znamená „Posuň značku, pokud již existuje.“ Toto posouvání je důležité!
Řádek 28: Řádek 28:


<pre>
<pre>
   /------------------------M------S 1.6 větev
   /------------------------M------S 1.9 větev
>==================================H kmen
>==================================H kmen
</pre>
</pre>
Řádek 37: Řádek 37:
Výše uvedeným příkazem
Výše uvedeným příkazem


  cvs -q update -kk -j MOODLE_16_MERGED -j MOODLE_16_STABLE file.php
  cvs -q update -kk -j MOODLE_19_MERGED -j MOODLE_19_STABLE file.php


přidáváte všechny změny provedené mezi body M a S do bodu H, takže jej můžete commitnout zpět. Dalším uvedeným příkazem  
přidáváte všechny změny provedené mezi body M a S do bodu H, takže jej můžete commitnout zpět. Dalším uvedeným příkazem  


  cvs tag -F MOODLE_16_MERGED file.php
  cvs tag -F MOODLE_19_MERGED file.php


posunete značku M na pozici S, takže nová situace vypadá takto:
posunete značku M na pozici S, takže nová situace vypadá takto:

Aktuální verze z 21. 11. 2007, 03:22

Jak opravovat kód v CVS

Nové funkce jsou vkládány do větve HEAD. Opravy zdrojových kódu (bug fixes) jsou vkládány do větve MOODLE_XX_STABLE, kde XX je číslo verze. Užitečné je udržovat si u sebe dva vývojové stromy - jeden pro HEAD, druhý pro STABLE - pro každou verzi, na které pracujete.

Příklad překlopení pracovního adresáře na stabilní vývojovou větev:

cvs -q update -dP -r MOODLE_19_STABLE

Příklad překlopení pracovního adresáře na hlavní (nestabilní) vývojovou větev (HEAD):

cvs -q update -dPA

Poté, co provedete opravu kódu ve STABLE (commit), sloučíte (merge) opravu do HEAD pomocí značky MOODLE_XX_MERGED. Přejděte do adresáře s HEAD verzí a aktualizujte (update) všechny změny opraveného souboru file.php, ke kterým v něm došlo od posledního sloučení:

cvs -q update -kk -j MOODLE_19_MERGED -j MOODLE_19_STABLE file.php 

Poté zašlete takto opravený soubor zpět do hlavní vývojové větve:

cvs commit file.php 

Nyní je potřeba označit novou revizi souboru jako sloučenou. To se provádí pomocí již zmíněné značky MOODLE_XX_MERGED. Přejděte zpět do adresáře se STABLE větví a zadejte:

cvs tag -F MOODLE_19_MERGED file.php

Parametr -F znamená „Posuň značku, pokud již existuje.“ Toto posouvání je důležité!

Celý proces je znázorněn na následujícím diagramu:

   /------------------------M------S 1.9 větev
>==================================H kmen

S = poslední verze v dané větvi M = bod, kdy naposledy došlo ke sloučení do HEAD H = poslední verze hlavní výojové větve HEAD

Výše uvedeným příkazem

cvs -q update -kk -j MOODLE_19_MERGED -j MOODLE_19_STABLE file.php

přidáváte všechny změny provedené mezi body M a S do bodu H, takže jej můžete commitnout zpět. Dalším uvedeným příkazem

cvs tag -F MOODLE_19_MERGED file.php

posunete značku M na pozici S, takže nová situace vypadá takto:

   /-------------------------------MS 1.6 větev
>==================================H kmen

Další slučování oprav v budoucnu se tím pádem nebude snažit sloučit vámi provedené změny znovu.