Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
subversion [2007/09/26 11:44] zeman |
subversion [2008/09/19 11:35] zeman Postup zahájení verzování projektu se serverem SVN. |
||
---|---|---|---|
Line 3: | Line 3: | ||
Subversion ('' | Subversion ('' | ||
- | Pro projekty | + | Subversion vám poskytuje různé možnosti, kde založit tzv. **repozitář** (tedy archív verzí vašeho projektu), a různé možnosti, jak k němu přistupovat. **Lokální repozitář** vám stačí, používáte-li Subversion pro archivaci projektu, na kterém pracujete pouze vy, případně i další členové |
- | ===== Nové Milanovo shrnutí | + | Pro projekty ÚFALu, na nichž chcete spolupracovat i s lidmi zvenku, (serverové repozitáře) použijte vyhrazený stroj [[internal: |
+ | |||
+ | ===== Subversion Server ===== | ||
+ | |||
+ | Toto je Milanovo | ||
Mili kolegove, | Mili kolegove, | ||
- | po diskusi s Ondrou Bojarem a drobnem vylepseni naseho serveru svn jeste | + | po diskusi s Ondrou Bojarem a drobnem vylepseni naseho serveru svn jeste jednou sepisuji co je potreba si projit a nastavit pri konfiguraci noveho projektu: |
- | jednou sepisuji co je potreba si projit a nastavit pri konfiguraci noveho | + | |
- | projektu: | + | |
- | 1) nalogujete se na svn.ufal.ms.mff.cuni.cz (= svn.ms.mff.cuni.cz) | + | - nalogujete se na svn.ufal.ms.mff.cuni.cz (= svn.ms.mff.cuni.cz) |
- | - ucty byly preneseny z ufal.mff.cuni.cz | + | - pro vytvoreni projektu pouzijete skript (kteremu date jeste jmeno projektu):< |
+ | - pak se rozhodnete kterymi cestami budete s projektem pracovat - nejlepsi je asi nakonfigurovat vsechny (viz. nize) - tedy svn, webovy pristup do svn a Trac (take webovy). Vsude jsou prednastaveny nejake zakladni ucty, ale nejlepsi je tyto veci upravit podle vlastnich potreb. Napriklad nemusite chtit, aby ufal/ | ||
- | 2) pro vytvoreni projektu pouzijete skript | + | ==== Konfigurace webového rozhraní SVN (preferováno) ==== |
- | projektu): / | + | |
- | 3) pak se rozhodnete kterymi cestami budete s projektem pracovat - nejlepsi | + | Toto rozhraní |
- | asi nakonfigurovat vsechny (viz. nize) - tedy svn, webovy pristup do svn a | + | < |
- | Trac (take webovy). Vsude jsou prednastaveny nejake zakladni ucty, ale | + | |
- | nejlepsi je tyto veci upravit podle vlastnich potreb. Napriklad nemusite | + | |
- | chtit, aby ufal/maly... mel rw prava ve vasem projektu, jak tomu defaultne | + | |
- | je! | + | |
- | ---------------------------------------------------------------------------- | + | Co se tyce svn weboveho rozhrani, tak ten modul ma nasledujici konfiguraky (viz. / |
- | Co se tyce svn weboveho rozhrani, tak ten modul ma nasledujici konfiguraky | + | |
- | (viz. / | + | |
- | | + | |
- | (coz je to, cemu rikas .htaccess) | + | |
- | + | ||
- | jejich opravneni: AuthzSVNAccessFile / | + | |
- | (zde se rika, zda RO nebo RW) | + | |
O zbytek se stara webovy modul subversion - ja mu jen rikam tohle. | O zbytek se stara webovy modul subversion - ja mu jen rikam tohle. | ||
- | Jsou globalni.... | + | Konfiguraky jsou globalni, tj. pro vsechny projekty spolecne. |
- | ----------------------------------------------------------------------------- | + | |
- | Pak je tu svn protokol: | + | |
- | pristupova prava se urcuji | + | |
- | dane repository (jak je vytvorena mym skriptem). Vzory nastaveni pristupu | + | |
- | jsou zde: / | + | |
- | | + | |
- | | + | |
- | ----------------------------------------------------------------------------- | + | |
- | Stranou zustava Trac - pouziva take overovani vuci | + | |
- | AuthUserFile / | + | |
- | Plus ma vlastni system prav. Trac vas rozpozna podle loginu, se kterym jste | + | O přidávání uživatelů a hesel viz níže. |
- | se prihlasili pri http autentizaci, | + | |
- | danem projektu nejste zavedeni,i tak se k nemu dostanete s nejakymi default | + | |
- | pravy. | + | |
- | ----------------------------------------------------------------------------- | + | |
- | ---------------------------------------------------------------------------- | + | |
- | Vastni uzivatele pro webove pristupy pridate do centralniho souboru webovych | + | |
- | hesel v / | + | |
- | htpasswd -bs / | + | ==== Konfigurace protokolu SVN ==== |
- | ---------------------------------------------------------------------------- | + | |
- | Doufam, ze timto shrnutim zajistime optimalni vyuziti | + | Toto rozhraní je užíváno SVN klienty, kteří dostanou repository udanou ve tvaru '' |
- | Milan | + | svn --username ufal checkout svn:// |
- | ===== Setting Up an Archive | + | Pristupova prava pro svn protokol se urcuji pro kazdy projekt nezavisle, v adresari conf v dane repository (jak je vytvorena mym skriptem), tj. napr.: |
+ | vim / | ||
+ | vim / | ||
+ | |||
+ | |||
+ | Vzory nastaveni pristupu jsou zde: ''/ | ||
+ | |||
+ | Pozor - hesla se tu nastavuji jako textove retezce, neni to htaccess! Po siti tedy tecou nekryptovane! | ||
+ | |||
+ | ==== Konfigurace přístupu k systému Trac ==== | ||
+ | |||
+ | Trac - pouziva take overovani vuci: | ||
+ | AuthUserFile / | ||
+ | |||
+ | Trac ma navic vlastni system prav. Trac vas rozpozna podle loginu, se kterym jste se prihlasili pri http autentizaci, | ||
+ | |||
+ | Takto spustíte konfigurační skript pro Trac vašeho projektu: | ||
+ | trac-admin / | ||
+ | |||
+ | |||
+ | ==== Přidávání vlastních uživatelů pro webové přístupy (SVN i Trac) ==== | ||
+ | |||
+ | Vlastni uzivatele pro webove pristupy pridate do centralniho souboru webovych hesel v ''/ | ||
+ | |||
+ | htpasswd -bs / | ||
+ | nebo | ||
+ | htpasswd -s / | ||
+ | # na heslo budete dotázáni, heslo se nezobrazí ani na terminálu | ||
+ | |||
+ | |||
+ | ===== Lokální Subversion ===== | ||
+ | |||
+ | //(Z návodu ve wiki University of Maryland převzal a upravil Dan Zeman.)// | ||
+ | |||
+ | Tento návod se týká lokálních repozitářů SVN, tedy takových, ke kterým budete přistupovat pouze z linuxových počítačů v síti ÚFALu. | ||
You can use svn to keep track of your own code. | You can use svn to keep track of your own code. | ||
Line 70: | Line 79: | ||
< | < | ||
- | **Beware!** Do not use older versions (e.g. 1.1.4) of Subversion to create a repository! By default, they will use the Berkeley DB backend, which is not recommended. You may be able to " | + | **Beware!** Do not use older versions (e.g. 1.1.4) of Subversion to create a repository! By default, they will use the Berkeley DB backend, which is not recommended. You may be able to " |
Let's say you want to archive the directory ''/ | Let's say you want to archive the directory ''/ | ||
Line 90: | Line 99: | ||
rm -rf proj.old | rm -rf proj.old | ||
</ | </ | ||
+ | |||
+ | Výše uvedený postup je možné po úpravách použít i pro vzdálený repozitář na serveru SVN. Předpokládáme, | ||
+ | |||
+ | < | ||
+ | mv $PROJ $PROJ.old | ||
+ | mkdir tmp | ||
+ | cd tmp | ||
+ | mkdir $PROJ | ||
+ | cp -r / | ||
+ | mkdir $PROJ/ | ||
+ | mkdir $PROJ/tags | ||
+ | svn --username $USER import $PROJ https:/// | ||
+ | cd .. | ||
+ | svn checkout -q https:/// | ||
+ | rm -rf tmp | ||
+ | rm -rf $PROJ.old</ | ||
+ | |||
+ | Pokud jste si jisti, že pro tento projekt nebudete nikdy potřebovat větve ani otagované verze, můžete pravděpodobně vynechat vytváření podsložek '' | ||
===== Přechod z CVS pod SVN ===== | ===== Přechod z CVS pod SVN ===== | ||
Line 345: | Line 372: | ||
This command takes the differences between the alopez branch from rev. 250 to 271, and applies them to the working copy. Note that this may create conflicts! | This command takes the differences between the alopez branch from rev. 250 to 271, and applies them to the working copy. Note that this may create conflicts! | ||
+ | |||
===== Tags ===== | ===== Tags ===== | ||
Line 365: | Line 393: | ||
</ | </ | ||
- | === [[VersionControlTags|Current Tags and Branches]] === | + | ===== Rolling Back Versions |
- | + | ||
- | === Rolling Back Versions === | + | |
What do you do if something is broken that wasn't broken before? | What do you do if something is broken that wasn't broken before? | ||
Line 381: | Line 407: | ||
'' | '' | ||
- | === Setting Up an Archive === | + | ===== Setting Up an Archive |
You can use svn to keep track of your own code. Let's say you want to archive the directory ''/ | You can use svn to keep track of your own code. Let's say you want to archive the directory ''/ | ||
Line 406: | Line 432: | ||
See [[VersionControlSetup|VersionControlSetup]] for the series of commands used to set up the MTEval archive. | See [[VersionControlSetup|VersionControlSetup]] for the series of commands used to set up the MTEval archive. | ||
- | === Stupid Repository Tricks === | + | |
+ | ===== Stupid Repository Tricks | ||
You can accomplish virtually anything you can imagine with the repository, although it may not be immediately obvious how. For instance: | You can accomplish virtually anything you can imagine with the repository, although it may not be immediately obvious how. For instance: | ||
- | : $ Get the latest revision number of your current branch | + | * Get the latest revision number of your current branch: '' |
- | :You can also try '' | + | |
- | + | | |
- | : $ View the logs of all changes to your current branch since you last updated.: '' | + | |
- | + | | |
- | : $ View all the differences between your working copy and the latest revision of your current branch.: '' | + | |
- | + | ||
- | : $ Merge into your current working copy the bug fixes checked in to r475 of the bittorrent branch (even if that's not your working branch).: '' | + | |
- | + | ||
- | : $ Change your mind when you realize those bug fixes did more harm than good.: '' | + | |
- | + | ||
- | === Troubleshooting === | + | ===== Troubleshooting |
If you get the message: | If you get the message: | ||
Line 440: | Line 460: | ||
* pray | * pray | ||
- | === Further Reading === | + | ===== Further Reading |
All of the information in this tutorial comes directly from the online [http:// | All of the information in this tutorial comes directly from the online [http:// | ||
Line 452: | Line 472: | ||
Most likely, this is all you will need to look at to do most of your work. Most of this material comes from Section 3.5. | Most likely, this is all you will need to look at to do most of your work. Most of this material comes from Section 3.5. | ||
- | [[Category: |