WordPressプラグインSubversionでの公開手順メモ

#一連の流れは以下に書いてある

[WordPressプラグイン公式サイト登録手順](https://www.terakoya.work/plugin-register-howto/)

ここに記載したのは、申請して通った後に、Subversionで細かく何をしたか。


※「your-plugin-name」に申請したプラグインのディレクトリの名前が入る
##1.Subversionインストール

```
$ brew install subversion
```

※Macの場合

##2.Subversion用ディレクトリを作成

```
$ mkdir your-plugin-name_svn
```

名前は「your-plugin-name_svn」にした。

##3.チェックアウト

```
$ svn co https://plugins.svn.wordpress.org/your-plugin-name/ your-plugin-name_svn/
```

"co"はチェックアウトの略。Gitと違って、ローカルPCにクローンすること。
参考:[Git-Subversion比較](http://www.backlog.jp/git-guide/reference/git-svn.html)
coの後にURLと、先ほど作成したディレクトリを指定して、そこに落としてもらう。

4つのディレクトリ落ちてくる

```
A    your-plugin-name_svn/assets
A    your-plugin-name_svn/branches
A    your-plugin-name_svn/tags
A    your-plugin-name_svn/trunk
Checked out revision 000000.
```
##4.落ちてきたディレクトリにプラグインファイルを入れる
/asset
→プラグインページに載せる画像たち
<img width="411" alt="スクリーンショット 2017-04-10 13.21.09.png" src="https://qiita-image-store.s3.amazonaws.com/0/40940/f5b7e2f5-d9a0-7af2-eef5-35f4ff9d3b39.png">

/trunk
→プラグインファイル
<img width="411" alt="スクリーンショット 2017-04-10 13.20.59.png" src="https://qiita-image-store.s3.amazonaws.com/0/40940/30a0e6a3-71af-ff6b-eabe-a874be9f29eb.png">

##5.Addする

###ディレクトリ移動
```
$ cd your-plugin-name_svn/
```

###Addする
```
svn add trunk/*
```

こうなる

```
A         trunk/add-banner-extension.php
A         trunk/css
A         trunk/css/style.css
A         trunk/images
A  (bin)  trunk/images/no-image.png
A         trunk/includes
A         trunk/includes/add-banner-admin-list.php
A         trunk/includes/add-banner-admin-upload.php
A         trunk/includes/add-banner-admin-db.php
A         trunk/includes/add-banner-admin-post.php
A         trunk/includes/add-banner-admin-404.php
A         trunk/languages
A         trunk/languages/add-banner-extension.pot
A  (bin)  trunk/languages/add-banner-extension-ja.mo
A         trunk/languages/add-banner-extension-ja.po
A         trunk/readme.txt
A  (bin)  trunk/screenshot-1.png
A  (bin)  trunk/screenshot-2.png
A         trunk/uninstall.php
```

###注意

プラグインの更新など、新規追加ではなく変更をかけるときはupdateする。

```
svn update trunk/*
```

##6.コミットする（一番最初のコミット）

```
svn commit -m "first release."
```

すると、まずPCのパスワードを聞かれる

```
Password for 'username':
```

パスワード入れたら、wordpress.orgのアカウントのユーザー名を聞かれる（最初の１回のみ）

```
Authentication realm: <https://plugins.svn.wordpress.org:443> Use your WordPress.org login
Username:
```

ユーザー名入れたらパスワード

```
Password for 'username':
```

コミットされた！

```
Adding         trunk/add-banner-extension.php
Adding         trunk/css
Adding         trunk/css/style.css
Adding         trunk/images
Adding  (bin)  trunk/images/no-image.png
Adding         trunk/includes
Adding         trunk/includes/add-banner-admin-404.php
Adding         trunk/includes/add-banner-admin-db.php
Adding         trunk/includes/add-banner-admin-list.php
Adding         trunk/includes/add-banner-admin-post.php
Adding         trunk/includes/add-banner-admin-upload.php
Adding         trunk/languages
Adding  (bin)  trunk/languages/add-banner-extension-ja.mo
Adding         trunk/languages/add-banner-extension-ja.po
Adding         trunk/languages/add-banner-extension.pot
Adding         trunk/readme.txt
Adding  (bin)  trunk/screenshot-1.png
Adding  (bin)  trunk/screenshot-2.png
Adding         trunk/uninstall.php
Transmitting file data ...............done
Committing transaction...
Committed revision 000000.
```

###注意
ユーザー名に大文字があった...など間違えると、以下のエラーが出て一生コミットができないので注意。

```
Authentication realm: <https://plugins.svn.wordpress.org:443> Use your WordPress.org login
svn: E195023: Commit failed (details follow):
svn: E175013: Access to '/!svn/***' forbidden
```

##7.バージョンのタグをつける

プラグイン新規追加の時も、更新の時も必須です！

```
svn cp trunk tags/1.0.0
```

こうなる

```
A         tags/1.0.0
```

##8.タグをコミットして、チェックイン（ci）

```
$ svn ci -m "tagging version 1.0.0"
```

こうなった。

```
Adding         tags/1.0.0
Adding         tags/1.0.0/add-banner-extension.php
Adding         tags/1.0.0/css
Adding         tags/1.0.0/images
Adding         tags/1.0.0/includes
Adding         tags/1.0.0/languages
Adding         tags/1.0.0/readme.txt
Adding  (bin)  tags/1.0.0/screenshot-1.png
Adding  (bin)  tags/1.0.0/screenshot-2.png
Adding         tags/1.0.0/uninstall.php
Committing transaction...
Committed revision 000000.
```

##9.プラグインページの画像追加してなかった...
これ「6.コミットする（一番最初のコミット）」よりも前にしなきゃダメだよ。。。

###Addする

```
svn add assets/*
```

こうなる

```
A  (bin)  assets/banner-1554×500.png
A  (bin)  assets/banner-772×250.png
A  (bin)  assets/icon-128x128.png
A  (bin)  assets/icon-256x256.png
```

###コミットする

```
 svn commit -m "first release."
Adding  (bin)  assets/banner-1554×500.png
Adding  (bin)  assets/banner-772×250.png
Adding  (bin)  assets/icon-128x128.png
Adding  (bin)  assets/icon-256x256.png
Transmitting file data ....done
Committing transaction...
Committed revision 000000.
```

画像が公開...されていない！？！

##画像名が間違っていたので、画像を削除してあげ直し
バナー画像がプラグインページに出てこない。。。
どうやら、「x」が記号になっていた模様。。。見た目じゃわからんよ。。。
NG → banner-1554×500.png
OK → banner-1554x500.png（正しくは半角アルファベット小文字のx）
###Addする

```
$ svn add assets/banner-772x250.png
$ svn add assets/banner-1554x500.png
```

結果

```
A  (bin)  assets/banner-772x250.png
A  (bin)  assets/banner-1554x500.png
```

###間違えてあげたやつDeleteする

####もともとの画像名なんや？

エックスじゃなかったら何の記号だったかわからないので、今何のファイルがあるのか問い合わせ。

```
$ svn ls https://plugins.svn.wordpress.org/your-plugin-name/assets
```

結果。

```
banner-1554×500.png
banner-772×250.png
icon-128x128.png
icon-256x256.png
```

#### Delete.

```
$ svn delete assets/banner-1554×500.png
$ svn delete assets/banner-772×250.png
```

結果

```
D         assets/banner-1554×500.png
D         assets/banner-772×250.png
```

###コミット

```
$ svn commit -m "Fix typo in img file name."
```

してくれたっぽい

```
Adding  (bin)  assets/banner-1554x500.png
Deleting       assets/banner-1554×500.png
Adding  (bin)  assets/banner-772x250.png
Deleting       assets/banner-772×250.png
Transmitting file data ..done
Committing transaction...
Committed revision 0000000.
```

これでプラグインページに無事に出てきた！（やっと終わり）


#参考にさせていただきました
Using Subversion with the WordPress Plugin Directory:
https://developer.wordpress.org/plugins/wordpress-org/how-to-use-subversion/
今更聞けないSubversionの使い方
http://qiita.com/mountcedar/items/e756bb9136e3b1722bb2
Access to SVN is forbidden
http://chilion.nl/access-to-svn-is-forbidden/