---
site_name: WPlama
site_description: Internetové stránky na WordPressu snadno a česky
site_url: https://www.wplama.cz
contact_email: tomas@wplama.cz

title: Jak pomocí Subversion publikovat plugin na WordPress.org
url: https://www.wplama.cz/jak-pomoci-subversion-publikovat-plugin-na-wordpress-org/
date: 2014-07-15
modified: 2021-02-01
author: Tomáš Cirkl
type: post
categories: [WordPress návody]
tags: [plugin, subversion, TortoiseSVN, WordPress]
---

Oficiální WordPress repozitář používá pro kontrolu verzí plugin **Subversion**. Z toho je zřejmé, že pokud jste začínající nebo pokročilý **WordPress developer**, měli byste ho také používat. V tomto článku najdete podrobný návod, jak s pomocí Subversion sledovat změny a případně i **publikovat plugin na WordPress.org**.

> Apache Subversion (dříve Subversion – zkráceně SVN) je systém pro správu a verzování zdrojových kódů, náhrada za starší CVS. Snaží se zachovat podobný způsob a styl práce, ale odstranit nedostatky CVS jako například nemožnost přesunu nebo kopírování adresářů, časová a prostorová náročnost větvení a tagování a podobně.

## Co všechno budete potřebovat?

- Plugin napsaný podle kodexu
- Tortoise SVN (uživatelé Macu budou ještě potřebovat SCPlugin)
- Účet na WordPress.org

### Tvorba účtu na WordPress.org

Pokud ještě nemáte, vytvořte si **účet na WordPress.org**. Tento účet bude sloužit ke správě nahraných pluginů, budete pomocí něj psát na fórum a můžete pod ním také upravovat Kodex. Pokud již účet máte, přeskočte k další kapitole, pokud ne – založte si jej.

### Požádejte o přidání pluginu

Další věcí, co musíte udělat, je [požádat administrátory na WordPress.org](http://wordpress.org/extend/plugins/add/ "přidat plugin"), zda váš nový plugin budou hostovat. Jediné, co musíte udělat je **napsat jméno pluginu**, jeho **účel** (myšlenku) a vložit**URL adresu** pluginu ke stažení. Plugin musí být zabalen do ZIPu. Celý proces schválení může trvat **několik hodin, ale i několik dní**. Neděste se tedy, když nedostanete odpověď obratem. *Náš [první plugin](http://wordpress.org/plugins/shortcodes4all/ "Shortcodes4all") byl schválen druhý den.*

## Používání Subversion

Verzování je první věc, kterou by se měl **developer naučit**. Naneštěstí k tomu většina vývojářů přistoupí až poté, co si prožije nějakou bolestnou zkušenost a s tím spojenou ztrátu dat. Jestliže však používáte **Subversion**, stačí využít funkci *zpět* a ihned se vrátíte k předchozí funkční verzi. Pokud tedy Subversion nepoužíváte, je **pravý čas začít**. Stáhněte si [TortoiseSVN](http://tortoisesvn.net/downloads.html "tortoisesvn"). Jedná se o velice povedený nástroj pro práci s verzovacím systémem SVN. Je navržen jako rozšíření pro Windows (integrace do kontextové nabídky), takže můžete přímo spouštět všechny potřebné funkce. To také znamená, že se úplně vyhnete příkazovému řádku, který může být pro začátečníky velkým strašákem.

*Jste-li uživatel Macu, pak doporučuji stáhnout SCPlugin, na který jsem slyšel skvělé reference. Poskytuje podobnou funkcionalitu a vypadá přibližně stejně. Bohužel nejsem uživatel Macu, tak budu rád, když mi někdo pozitivní ohlas potvrdí.*

## Propojení Tortoise SVN a SVN repozitáře na WordPress.org

Řekněme, že byl váš plugin přijat a obdrželi jste zprávu o tom, že „můžete pokračovat“. Vyberte místo v počítači, kde chcete mít uložené vaše pluginy a vytvořte pro ně složku. Já například používám složku */wppluginy*.

Složku otevřete a klikněte do ni pravým tlačítkem myši a z nabídky vyberte *SVN Checkout*. Vložte URL adresu repozitáře, kterou jste obdrželi v emailu a počkejte, až dojde k propojení.

[![Propojení repozitáře](https://www.wplama.cz/wp-content/uploads/2014/07/propojeni-repozitare.png "Propojení repozitáře")](https://www.wplama.cz/wp-content/uploads/2014/07 / propojeni-repozitare.png)Propojení repozitáře

V tuto chvíli máte repozitář připravený. Objevily se v něm tři nové složky: **branches, tags a trunk**. Vámi vytvořený plugin vložte do složky *trunk*.

## Nahrajte plugin do repozitáře

Pokud máte plugin hotový a připravený ke zveřejnění, jste na dobré cestě. Je totiž opravdu jednoduché využít **repozitář** při následujícím vývoji a verzování. Předpokládejme, že je tedy **plugin hotový a připravený ke zveřejnění**, jeho verze je 1.0.

Zkopírujte celý plugin do složky **trunk**. Vložte tam všechny soubory potřebné pro zveřejnění a použití. Obrázky, php soubory, JavaScript, readme, licenci… Poté klikněte kdekoliv do složky pravým tlačítkem myši a z nabídky vyberte „SVN Commit“.

Zobrazí se okno, do kterého musíte napsat důvod **aktualizace repozitáře**. Při prvním nahrávání pluginu stačí napsat „First commit of my plugin“. Ve spodní části okna vyberte *všechny soubory* a klikněte na tlačítko **OK**.

[![Aktualizace repozitáře](https://www.wplama.cz/wp-content/uploads/2014/07/aktualizace-repositare.png "Aktualizace repozitáře")](https://www.wplama.cz/wp-content/uploads/2014/07 / aktualizace-repositare.png)Aktualizace repozitáře

Tortoise SVN se spojí se serverem a požádá vás o zadání **přihlašovacího jména a hesla**, které používáte na WordPress.org. Přihlašovací jméno a heslo musí být shodné s tím, jehož pomocí jste požádali o hostování pluginu. Zadejte tedy heslo a počkejte, až **proběhne aktualizace**.

Repozitář na WordPress.org využívá verzování pro kontrolu všeho. To v podstatě znamená, že si přečte soubor readme.txt ve složce **trunk** a zjistí poslední stabilní verzi (stable tag). Poté načte zbytek pluginu podle zjištěné stabilní verze ze složky **tags**. To znamená, že pokud plugin neotagujete, pak nedojde ke zveřejnění.

### Tagujte verzi pluginu

Znovu klikněte pravým tlačítkem myši ve složce **trunk** a z nabídky *Tortoise SNV* vyberte *Branch/Tag*. Otevře se nové okno.

[![Branch a Tag](https://www.wplama.cz/wp-content/uploads/2014/07/Branch-a-Tag.png "Branch a Tag")](https://www.wplama.cz/wp-content/uploads/2014/07 / Branch-a-Tag.png)Branch a Tag

První řádek informuje, že se nacházíte v adresáři **trunk** (poslední slovo v URL adrese by mělo být trunk). Pole „To Path“ změňte na „/tags/1.0“ (samozřejmě číslo se odvíjí od toho, jakou verzi publikujete). Vložte zprávu popisující, co provádíte, například „Tagging version 1.0“ a **klikněte na OK**.

*Pokud vám vyskočí zpráva vysvětlující, že musíte změnit branch, tak ji ignorujte, nemusíte nic měnit.*

Nyní běžte do adresáře, který jste vytvořili (v mém případě se jedná o adresář */wppluginy*) a klikněte někam pravým tlačítkem myši a z nabídky vyberte **SVN Update**. Dojde k atualizaci celého repozitáře a vám se aktualizuje složka **tags**, do které jste před chvilkou nahráli plugin.

A to je vše, od této chvíle je plugin dostupný na jeho URL adrese. Na našem příkladu je to [zde](http://wordpress.org/plugins/shortcodes4all/ "Shortcodes4all").

Nicméně, jak postupovat, když chceme dělat aktualizace a vyvíjet plugin dál?

## Provádění a publikace změn pluginu

Od této chvíle můžete v adresáři **trunk** dělat s pluginem cokoliv se vám zachce. Nicméně dávejte si pozor, abyste **neměnili stable tag, dokud nebudete připraveni plugin zveřejnit!**

Pokud chcete plugin vyvíjet a upravovat, můžete. Klidně ho upravujte přímo v **trunk**u a aktualizujte provedené změny. Prostě dělejte, co se vám zlíbí.

Jakmile budete připraveni zveřejnit upravenou verzi pluginu, řekněme verzi 1.1, stačí provést jen čtyři následující kroky.

1. Aktualizovat „stable tag“ v readme.txt.
2. Aktualizovat verzi v hlavním php souboru.
3. Otagovat(tag) nejnovější verzi.
4. Commitna novou verzi.

Aktualizace „stable tag“ je velmi jednoduchá. Stačí otevřít readme.txt v jakémkoliv editoru a změnit číslo verze. Poté kliknout někam do adresáře a z nabídky vybrat *Branch/Tag*. Jedná se prakticky o stejný postup s jednou změnou:

Tortoise SVN vás varuje o tom, že tagujete lokální verzi, která není v hlavní revizi (HEAD revision). Takže se ujistěte, že jste vybrali možnost **Working copy** (pracovní kopie) z nabídky **Create copy in the repository from:**. Poté stačí jen otagovat jako novou verzi, podobně jako jste to udělali u verze 1.0.

Takto vytvoříte novou složku v adresáři **tags** a zkopírujete do ní veškeré provedené změny.

Poté klikněte na SVN Commit a aktualizujte změny provedené v adresáři **trunk**.

## Proč se nejprve taguje?

Pamatujte, WordPress repozitář nejprve prohlédne soubor *readme*, aby našel **stabilní verzi**. Poté se podívá do adresáře */tags*. Tím, že **nejprve otagujete** se ujistíte, že se vybere správná verze pluginu. Zjednodušeně řečeno, ujistěte se, že adresář */tags* obsahuje plugin určený ke zveřejnění ještě předtím, než změnu **potvrdíte odesláním** readme.txt v */trunk* složce.