<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>power source*</title>
	<atom:link href="http://bono.s206.xrea.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://bono.s206.xrea.com</link>
	<description>薔薇の栽培記録・ベランダ園芸・沖縄・写真・自転車・総合リンク集。WordPress 3.0 調整中ですー。</description>
	<lastBuildDate>Fri, 10 Sep 2010 12:57:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Subversion: ベンダーブランチの利用</title>
		<link>http://bono.s206.xrea.com/2010/08/2408-subversion-vendor-branches/</link>
		<comments>http://bono.s206.xrea.com/2010/08/2408-subversion-vendor-branches/#comments</comments>
		<pubDate>Fri, 27 Aug 2010 14:00:15 +0000</pubDate>
		<dc:creator>ぼの</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Subversion]]></category>

		<guid isPermaLink="false">http://bono.s206.xrea.com/?p=2408</guid>
		<description><![CDATA[WordPressの自作プラグインやテーマは、WordPress本体や公開されているプラグインと組み合わさって動く。これを一つのリポジトリに置いてアレコレしたいと思うのは私の我侭ではないと信じたい。 私が使っているバージョン管理システムは「Subversion」（集中型）だが、このような欲望用途にはGitなどの分散型が向いていそうな世論の雰囲気ではある。でもまだSubversionもEclipseも使いこなせていないというのに、さらに他のシステムを習得するなんて……！ ところが、Subversionにも、自分が開発しているものと それと連動して動く既存システムやライブラリを上手いこと一つのリポジトリで管理していく手法として「ベンダーブランチ」なるものがあるという。 なんという朗報！ そこで、ベンダーブランチを実際のシステム構成に当てはめて実現可能性を探る企画が発動されたのであった。ここは、行なったことが続々と書き込まれていく、超長くなる見込みのページである。運用方針が定まった暁には改めて記事にする予定。 目次： 参考資料 目標 学習ステップ 実験対象 実行環境 習作1： なるべくコマンドライン×単純マージ 構成図 手順 習作2： なるべくTortoiseSVN×本体も改造マージ ← イマココ！ 構成図 手順 競合の解消 付録： コマンドヘルプ svn import svn copy 参考資料 Subversion によるバージョン管理 For Subversion 1.4 &#187; 第4章 ブランチとマージ &#187; ベンダブランチ Subversion によるバージョン管理 For Subversion 1.5 &#187; 第4章 ブランチとマージ &#187; ベンダブランチ （ほぼ英語） Version Control with Subversion [...]]]></description>
			<content:encoded><![CDATA[<p>WordPressの自作プラグインやテーマは、WordPress本体や公開されているプラグインと組み合わさって動く。これを一つのリポジトリに置いてアレコレしたいと思うのは私の我侭ではないと信じたい。</p>

<p>私が使っているバージョン管理システムは「Subversion」（集中型）だが、このような<del>欲望</del>用途には<a href="http://www.atmarkit.co.jp/fjava/rensai4/devtool03/devtool03_1.html" title="分散バージョン管理Git/Mercurial/Bazaar徹底比較 (1/5) - ＠IT">Gitなどの分散型</a>が向いていそうな世論の雰囲気ではある。でもまだSubversionもEclipseも使いこなせていないというのに、さらに他のシステムを習得するなんて……！</p>

<p>ところが、Subversionにも、自分が開発しているものと それと連動して動く既存システムやライブラリを上手いこと一つのリポジトリで管理していく手法として「ベンダーブランチ」なるものがあるという。<br />
なんという朗報！</p>

<p>そこで、ベンダーブランチを実際のシステム構成に当てはめて実現可能性を探る企画が発動されたのであった。ここは、行なったことが続々と書き込まれていく、超長くなる見込みのページである。運用方針が定まった暁には改めて記事にする予定。</p>

<p><span id="more-2408"></span></p>

<div class="toc"><p>目次：</p>
<ol>
<li><a href="#h0">参考資料</a></li>
<li><a href="#h1">目標</a></li>
<li><a href="#h2">学習ステップ</a></li>
<li><a href="#h3">実験対象</a></li>
<li><a href="#h4">実行環境</a></li>
<li><a href="#s1">習作1： なるべくコマンドライン×単純マージ</a>
<ol><li><a href="#h6">構成図</a></li>
<li><a href="#h7">手順</a></li></ol>
</li>
<li><a href="#s2">習作2： なるべくTortoiseSVN×本体も改造マージ ← <span class="attn">イマココ！</span></a>
<ol><li><a href="#h9">構成図</a></li>
<li><a href="#h10">手順</a></li>
<li><a href="#merge-conflict">競合の解消</a></li></ol>
</li>
<li><a href="#h12">付録： コマンドヘルプ</a>
<ol><li><a href="#svn-import">svn import</a></li>
<li><a href="#svn-copy">svn copy</a></li></ol>
</li>
</ol>
</div>

<h4 id="h0">参考資料</h4>

<ul>
<li><a href="http://www.caldron.jp/~nabetaro/svn/svnbook-1.4-final/index.html" title="Subversion によるバージョン管理">Subversion によるバージョン管理 For Subversion 1.4</a> &raquo; 第4章 ブランチとマージ &raquo; <a href="http://www.caldron.jp/~nabetaro/svn/svnbook-1.4-final/svn.advanced.vendorbr.html" title="ベンダブランチ">ベンダブランチ</a></li>
<li><a href="http://www.caldron.jp/~nabetaro/svn/svnbook-1.5-final/html-chunk/index.html" title="Subversion によるバージョン管理">Subversion によるバージョン管理 For Subversion 1.5</a> &raquo; 第4章 ブランチとマージ &raquo; <a href="http://www.caldron.jp/~nabetaro/svn/svnbook-1.5-final/html-chunk/svn.advanced.vendorbr.html" title="ベンダブランチ">ベンダブランチ</a> （ほぼ英語）</li>
<li><a href="http://svnbook.red-bean.com/nightly/en/index.html" title="Version Control with Subversion">Version Control with Subversion For Subversion 1.6</a> &raquo; Chapter 4. Branching and Merging &raquo; <a href="http://svnbook.red-bean.com/nightly/en/svn.advanced.vendorbr.html" title="Vendor Branches">Vendor Branches</a> （最新英語版・1.6ナイトリービルド）</li>
<li><a href="http://tortoisesvn.net/docs/release/TortoiseSVN_ja/index.html" title="TortoiseSVN">TortoiseSVN  Subversion クライアント for Windows  Version 1.6.8</a> &raquo; 第4章 日常操作ガイド &raquo; <a href="http://tortoisesvn.net/docs/release/TortoiseSVN_ja/tsvn-dug-merge.html" title="マージ">マージ</a></li>
</ul>

<h4 id="h1">目標</h4>

<ul>
<li>他者プラグインのカスタマイズ・日本語化のバージョン管理をしやすくする

<ul>
<li>現状： 自作プラグインは自作プラグイン用リポジトリ、他のプラグインはインストール時にサイト管理用リポジトリに取り込んだ上でカスタマイズしている。  </li>
<li>目論見： 後者もプラグイン毎のプロジェクトとしたほうが、ブランチとかタグとか使えてやりやすいのでは？</li>
</ul></li>
<li>サイトで使っている全ファイルをサイト管理用リポジトリで管理

<ul>
<li>現状： WordPress本体は管理外。節目でタグ打っても本体不在。</li>
<li><a href="http://bono.s206.xrea.com/2008/02/645-version_control_with_tortoisesvn/" title="WP: ローカルPC でバージョン管理開始（仮） with TortoiseSVN">リポジトリ利用開始当時</a>の懸案だったが、今はWordPressをサーバ上でSubversionアップグレードするようにしたので、FTPアップグレードするものだけ自リポジトリ＆作業コピーにある状態も分かりやすいといえば分かりやすい。</li>
</ul></li>
</ul>

<h4 id="h2">学習ステップ</h4>

<dl>
<dt>ステップ1: マニュアルを見ながらコマンドラインで操作してみる。</dt>
<dd>→ <a href="#s1">習作1： なるべくコマンドライン×単純マージ</a><br />
でもマニュアルに書かれていないコマンドを編み出すのが大変で、途中からTortoiseSVNが混ざっちゃった。。(^-^;</dd>

<dt>ステップ2: TortoiseSVNに置き換えて操作してみる。</dt>
<dd>→ <a href="#s2">習作2： なるべくTortoiseSVN×本体も改造マージ</a><br />
現在、<a href="#merge-conflict">編集競合の解消</a>を学習中 ← <span class="attn">イマココ！</span></dd>

<dt>ステップ3: プラグイン本体を新バージョンに差し替えるトコが面倒なんだがなんとかならんか。</dt>
<dd>
<ul>
<li>current に <code>svn:externals</code> を付けて、バージョンアップするときはここを書き換える？中身が入らないからだめかな</li>
<li>リポジトリブラウザ上で旧バージョンを一旦削除して新バージョンを取り込むのは？</li>
<li>ていうかWordPress本体もプラグインもweb上のSubversionリポジトリにあるんだから、自分のローカルリポジトリにベンダーブランチを作らなくても、プラグインリポジトリのタグ間をマージしてうちの作業コピーにもってこれるんでは？<br />
WordPress本体のメジャーバージョンへの切り替えとかだと、マージ実行時に本体リポジトリに負荷がかかっちゃうだろうか？</li>
</ul>
</dd>
</dl>

<h4 id="h3">実験対象</h4>

<ul>
<li>まずは小規模に、1つのプラグインの世界で試してみよう。<br />

<ul>
<li><a href="http://wordpress.org/extend/plugins/easy-comment-uploads/" title="WordPress › Easy Comment Uploads « WordPress Plugins">Easy Comment Uploads</a> &#8212; 0.51を日本語化して使ったいたところ、0.55がリリースされた。<br />
日本語化を保持しつつ0.51に0.55をマージしてみる。</li>
</ul></li>
<li>マージについては単純なことから試してみよう。

<ul>
<li>旧バージョンに日本語化ファイルを追加後、プラグインの新バージョンをマージ</li>
<li>旧バージョンに日本語化ファイルも追加するけどプラグイン本体もいじった後、プラグインの新バージョンをマージ。</li>
</ul></li>
</ul>

<h4 id="h4">実行環境</h4>

<ul>
<li>Windows Vista</li>
<li>TortoiseSVN 1.6.10, Build 19898 – 32 Bit , 2010/07/16 15:46:08 Subversion 1.6.12</li>
<li>Subversionコマンドラインクライアント 1.6.12 （SlikSVN）</li>
</ul>

<h4 id="s1">習作1： なるべくコマンドライン×単純マージ</h4>

<h5 id="h6">構成図</h5>

<ul>
<li>easy-comment-uploadsRepos （カスタマイズ用リポジトリ） (1)

<ul>
<li>branches &#8212; (2)</li>
<li>tags &#8212; (2)</li>
<li>trunk &#8212; <del>(2)</del> (5)で作成（分岐）、(7-4)でマージコミット

<ul>
<li>i18n

<ul>
<li>easy-comment-uploads-ja.mo &#8212; (6)でぼのが追加</li>
<li>easy-comment-uploads-ja.po &#8212; (6)でぼのが追加</li>
</ul></li>
<li>main.php &#8212; (7-4)マージコミットにより0.55版に更新</li>
<li>readme.txt &#8212; (7-4)マージコミットにより0.55版に更新</li>
<li>style.css</li>
<li>uninstall.php</li>
<li>upload.php &#8212; (7-4)マージコミットにより0.55版に更新</li>
<li>upload-form.php &#8212; (7-4)マージコミットによりファイル追加</li>
</ul></li>
<li>vendor

<ul>
<li>easy-comment-uploads

<ul>
<li>current &#8212; (3)でインポート（v0.51）、(7-4)マージ範囲終点（v0.55）

<ul>
<li>i18n</li>
<li>main.php &#8212; (7-1)v0.55で変更</li>
<li>readme.txt &#8212; (7-1)v0.55で変更</li>
<li>style.css</li>
<li>uninstall.php</li>
<li>upload.php &#8212; (7-1)v0.55で変更</li>
<li>upload-form.php &#8212; (7-1)v0.55でファイル追加</li>
</ul></li>
<li>0.51 &#8212; (4)でタグ付け、(7-4)マージ範囲始点</li>
<li>0.55 &#8212; (7-2)でタグ付け</li>
</ul></li>
</ul></li>
</ul></li>
</ul>

<h5 id="h7">手順</h5>

<ol>
<li><strong>easy-comment-uploadsRepos リポジトリを作る</strong><br />
右クリック &#8211; TortoiseSVN &#8211; ここにリポジトリを作成</li>
<li><p><strong>中に branches, tags, <del>trunk</del> を作る</strong><br />
→ trunk 作っておいたら下記5のtrunkに分岐（＝コピー）でつまずいた。trunkは作っておかないほうがよい。</p>

<pre class="brush: powershell; gutter: false; wrap-lines: true;">svn mkdir -m &quot;Initial project roots&quot; file:///H:/Develop/svn/easy-comment-uploadsRepos/branches file:///H:/Develop/svn/easy-comment-uploadsRepos/tags file:///H:/Develop/svn/easy-comment-uploadsRepos/trunk</pre>

<pre class="brush: powershell; collapse: true; highlight: [1]; light: false; toolbar: true; wrap-lines: true;">
C:\Users\bono&gt;svn mkdir -m &quot;Initial project roots&quot; file:///H:/Develop/svn/easy-comment-uploadsRepos/branches file:///H:/Develop/svn/easy-comment-uploadsRepos/tags file:///H:/Develop/svn/easy-comment-uploadsRepos/trunk

リビジョン 1 をコミットしました。
</pre></li>
<li><p><strong>easy-comment-uploads 0.51 のソースコードを <code>リポジトリ/vendor/easy-comment-uploads/current/</code> に入れる</strong></p>

<ol>
<li><p>http://svn.wp-plugins.org/easy-comment-uploads/tags/0.51/ をPCにエクスポート<br />
（管理パネルや公式プラグインディレクトリからダウンロード・展開してもok）</p>

<pre class="brush: powershell; gutter: false; wrap-lines: true;">svn export http://svn.wp-plugins.org/easy-comment-uploads/tags/0.51/ H:\Develop\svn\easy-comment-uploads-051</pre>

<pre class="brush: powershell; collapse: true; highlight: [1]; light: false; toolbar: true; wrap-lines: true;">
C:\Users\bono&gt;svn export http://svn.wp-plugins.org/easy-comment-uploads/tags/0.51/ H:\Develop\svn\easy-comment-uploads-051
A    H:\Develop\svn\easy-comment-uploads-051
A    H:\Develop\svn\easy-comment-uploads-051\i18n
A    H:\Develop\svn\easy-comment-uploads-051\i18n\easy-comment-uploads-be_BY.po
A    H:\Develop\svn\easy-comment-uploads-051\i18n\easy-comment-uploads-nl_NL.po
A    H:\Develop\svn\easy-comment-uploads-051\i18n\easy-comment-uploads-pt_BR.mo
A    H:\Develop\svn\easy-comment-uploads-051\i18n\easy-comment-uploads-pt_BR.po
A    H:\Develop\svn\easy-comment-uploads-051\i18n\easy-comment-uploads.pot
A    H:\Develop\svn\easy-comment-uploads-051\i18n\easy-comment-uploads-ru_RU.mo
A    H:\Develop\svn\easy-comment-uploads-051\i18n\easy-comment-uploads-ru_RU.po
A    H:\Develop\svn\easy-comment-uploads-051\i18n\easy-comment-uploads-be_BY.mo
A    H:\Develop\svn\easy-comment-uploads-051\uninstall.php
A    H:\Develop\svn\easy-comment-uploads-051\style.css
A    H:\Develop\svn\easy-comment-uploads-051\main.php
A    H:\Develop\svn\easy-comment-uploads-051\upload.php
A    H:\Develop\svn\easy-comment-uploads-051\readme.txt
リビジョン 281175 をエクスポートしました。
</pre></li>
<li><p>リポジトリに入れる</p>

<pre class="brush: powershell; gutter: false; wrap-lines: true;">svn import H:\Develop\svn\easy-comment-uploads-051 file:///H:/Develop/svn/easy-comment-uploadsRepos/vendor/easy-comment-uploads/current -m &quot;importing initial 0.51 vendor drop&quot;</pre>

<pre class="brush: powershell; collapse: true; highlight: [10]; light: false; toolbar: true; wrap-lines: true;">
C:\Users\bono&gt;svn import H:\Develop\svn\easy-comment-uploads-051 file:///H:/Develop/svn/easy-comment-uploadsRepos/vendor/easy-comment-uploads/current -m 'importing initial 0.51 vendor drop'
svn: より詳しく知りたいときは 'svn help' を試してみてください
svn: import コマンドへの引数が多すぎます

C:\Users\bono&gt;svn import H:\Develop\svn\easy-comment-uploads-051 file:///H:/Develop/svn/easy-comment-uploadsRepos/vendor/easy-comment-uploads/current
svn: ログメッセージを取得するのに外部エディタを使えませんでした。$SVN_EDITOR 環境変数を設定するか、--message (-m) か --file (-F) オプションを用いてみてください

svn: 環境変数 SVN_EDITOR、VISUAL、EDITOR のどれも設定されていなく、実行時の設定オプション 'editor-cmd' も見つかりません

C:\Users\bono&gt;svn import H:\Develop\svn\easy-comment-uploads-051 file:///H:/Develop/svn/easy-comment-uploadsRepos/vendor/easy-comment-uploads/current -m &quot;importing initial 0.51 vendor drop&quot;
追加しています              H:\Develop\svn\easy-comment-uploads-051\i18n
追加しています              H:\Develop\svn\easy-comment-uploads-051\i18n\easy-comment-uploads-be_BY.po
追加しています              H:\Develop\svn\easy-comment-uploads-051\i18n\easy-comment-uploads-nl_NL.po
追加しています  (バイナリ)  H:\Develop\svn\easy-comment-uploads-051\i18n\easy-comment-uploads-pt_BR.mo
追加しています              H:\Develop\svn\easy-comment-uploads-051\i18n\easy-comment-uploads-pt_BR.po
追加しています              H:\Develop\svn\easy-comment-uploads-051\i18n\easy-comment-uploads.pot
追加しています  (バイナリ)  H:\Develop\svn\easy-comment-uploads-051\i18n\easy-comment-uploads-ru_RU.mo
追加しています              H:\Develop\svn\easy-comment-uploads-051\i18n\easy-comment-uploads-ru_RU.po
追加しています  (バイナリ)  H:\Develop\svn\easy-comment-uploads-051\i18n\easy-comment-uploads-be_BY.mo
追加しています              H:\Develop\svn\easy-comment-uploads-051\uninstall.php
追加しています              H:\Develop\svn\easy-comment-uploads-051\style.css
追加しています              H:\Develop\svn\easy-comment-uploads-051\main.php
追加しています              H:\Develop\svn\easy-comment-uploads-051\upload.php
追加しています              H:\Develop\svn\easy-comment-uploads-051\readme.txt

リビジョン 2 をコミットしました。
</pre>

<p><code>-m "メッセージ"</code> がシングルクオート（1行目）だと引数が多すぎるって言われた。ダブルクオート（10行目）にしたら成功。（ほんと？）</p></li>
</ol></li>
<li><p><strong>これにタグ付け 0.51</strong></p>

<pre class="brush: powershell; gutter: false; wrap-lines: true;">svn copy file:///H:/Develop/svn/easy-comment-uploadsRepos/vendor/easy-comment-uploads/current file:///H:/Develop/svn/easy-comment-uploadsRepos/vendor/easy-comment-uploads/0.51 -m &quot;tagging easy-comment-uploads-0.51&quot;</pre>

<pre class="brush: powershell; collapse: true; highlight: [1]; light: false; toolbar: true; wrap-lines: true;">
C:\Users\bono&gt;svn copy file:///H:/Develop/svn/easy-comment-uploadsRepos/vendor/easy-comment-uploads/current file:///H:/Develop/svn/easy-comment-uploadsRepos/vendor/easy-comment-uploads/0.51 -m &quot;tagging easy-comment-uploads-0.51&quot;

リビジョン 3 をコミットしました。
</pre></li>
<li><p><strong>このタグから主系開発ブランチにコピー</strong>（今回の構成では <code>/trunk</code>）</p>

<p>↓<span class="attn">失敗</span> これだと trunk/0.51/ の中に入っちゃった</p>

<pre class="brush: powershell; gutter: false; wrap-lines: true;">svn copy file:///H:/Develop/svn/easy-comment-uploadsRepos/vendor/easy-comment-uploads/0.51 file:///H:/Develop/svn/easy-comment-uploadsRepos/trunk -m &quot;easy-comment-uploads-0.51 into the main branch&quot;</pre>

<p>↓ <span class="ok">ok</span> これなら番号ディレクトリは作られない。</p>

<pre class="brush: powershell; gutter: false; wrap-lines: true;">svn copy file:///H:/Develop/svn/easy-comment-uploadsRepos/vendor/easy-comment-uploads/0.51 file:///H:/Develop/svn/easy-comment-uploadsRepos/trunk/easy-comment-uploads -m &quot;easy-comment-uploads-0.51 into the main branch&quot;</pre>

<p>↓ <span class="ok">ok</span> 一旦 <code>trunk</code> を削除すれば、一つめのコマンドでも番号ディレクトリは作られない。<br />
コピー先に既存ディレクトリを指定するのがダメっぽい。</p>

<pre class="brush: powershell; gutter: false; wrap-lines: true;">svn copy file:///H:/Develop/svn/easy-comment-uploadsRepos/vendor/easy-comment-uploads/0.51 file:///H:/Develop/svn/easy-comment-uploadsRepos/trunk -m &quot;easy-comment-uploads-0.51 into the main branch&quot;</pre>

<pre class="brush: powershell; collapse: true; highlight: [13]; light: false; toolbar: true; wrap-lines: true;">
C:\Users\bono&gt;svn copy file:///H:/Develop/svn/easy-comment-uploadsRepos/vendor/easy-comment-uploads/0.51 file:///H:/Develop/svn/easy-comment-uploadsRepos/trunk -m &quot;easy-comment-uploads-0.51 into the main branch&quot;

リビジョン 4 をコミットしました。

C:\Users\bono&gt;svn copy file:///H:/Develop/svn/easy-comment-uploadsRepos/vendor/easy-comment-uploads/0.51 file:///H:/Develop/svn/easy-comment-uploadsRepos/trunk -m &quot;easy-comment-uploads-0.51 into the main branch&quot;

リビジョン 6 をコミットしました。

C:\Users\bono&gt;svn copy file:///H:/Develop/svn/easy-comment-uploadsRepos/vendor/easy-comment-uploads/0.51 file:///H:/Develop/svn/easy-comment-uploadsRepos/trunk/easy-comment-uploads -m &quot;easy-comment-uploads-0.51 into the main branch&quot;

リビジョン 8 をコミットしました。

C:\Users\bono&gt;svn copy file:///H:/Develop/svn/easy-comment-uploadsRepos/vendor/easy-comment-uploads/0.51 file:///H:/Develop/svn/easy-comment-uploadsRepos/trunk -m &quot;easy-comment-uploads-0.51 into the main branch&quot;

リビジョン 10 をコミットしました。
</pre></li>
<li><p><strong>作業コピーで開発作業</strong><br />
このプラグインは国際化もしないといけない（プラグイン本体もいじる）んだけど、今回は練習ということで、前に作った日本語化ファイルを追加するだけにしておく。</p>

<ol>
<li>上記5までリポジトリ上でやってきちゃったので、ここで作業コピーを作成する。<br />
Windowsで easy-comment-uploads-work フォルダを作り、右クリックして SVN チェックアウト&#8230;

<ul>
<li>リポジトリのURL： file:///H:/Develop/svn/easy-comment-uploadsRepos/trunk</li>
<li>チェックアウトディレクトリ： H:\Develop\svn\easy-comment-uploads-work</li>
</ul></li>
<li>日本語化ファイルを右クリックしたままこの作業コピーにドラッグ、右クリック &#8211; SVN この作業コピーにファイルをコピーし追加する を選んでドロップ</li>
<li>コミット</li>
</ol></li>
<li><p><strong><span id="s1-7">Easy Comment Uploads 0.55 がリリースされた！つもり。</span></strong></p>

<ol>
<li><p>0.55 のソースコードを <code>リポジトリ/vendor/easy-comment-uploads/current/</code> に入れる（差し替え）</p>

<ol>
<li><code>リポジトリ/vendor/easy-comment-uploads/current/</code> からこれ用の作業ディレクトリ easy-comment-uploads-vendor-work へチェックアウト</li>
<li><p>0.55のファイルに置き換える。本当は次のどっちがいいのかな。。</p>

<p>（方法A）</p>

<ol>
<li>easy-comment-uploads-vendor-work を開いて .svn/, i18n/ 以外を選び、右クリック &#8211; TortoiseSVN &#8211; 削除。i18n/ も開いて .svn/ 以外を削除</li>
<li>easy-comment-uploads-vendor-work の中に 0.54のファイルを上書きコピー</li>
<li>easy-comment-uploads-vendor-work を右クリック &#8211; TotoiseSVN &#8211; 追加&#8230;</li>
<li>右クリック &#8211; SVNコミット<br />
ファイルの置換／追加／削除の一覧を確認できる。今回は置換と1ファイル追加
コミット前に TortoiseSVN &#8211; 変更を確認&#8230; （svn status）しても変更一覧を見られる。</li>
</ol>

<p>（方法B） &#8212; マニュアルのはこっち？</p>

<ol>
<li>.svn/, i18n/.svn 以外のファイルをTootoiseSVNのじゃなくて普通に削除</li>
<li>easy-comment-uploads-vendor-work の中に 0.54のファイルを上書きコピー</li>
<li>右クリック &#8211; TortoiseSVN &#8211; 変更を確認&#8230; （svn status）すると、変更 or 管理外（追加されたファイル）（or なくなったのは何て出るっけ。紛失？）の一覧が表示される。管理外のは右クリックで追加</li>
<li>右クリック &#8211; SVN コミット</li>
</ol></li>
</ol></li>
<li><p>これにタグ付け 0.55</p>

<p><span class="attn">失敗</span></p>

<pre class="brush: powershell; gutter: false; wrap-lines: true;">svn copy file:///H:/Develop/svn/easy-comment-uploadsRepos/vendor/easy-comment-uploads/current file:///H:/Develop/svn/easy-comment-uploadsRepos/vendor/easy-comment-uploads/0.55 -m 'tagging easy-comment-uploads-0.55'</pre>

<pre class="brush: powershell; collapse: true; light: false; toolbar: true; wrap-lines: true;">
C:\Users\bono&gt;svn copy file:///H:/Develop/svn/easy-comment-uploadsRepos/vendor/easy-comment-uploads/current file:///H:/Develop/svn/easy-comment-uploadsRepos/vendor/easy-comment-uploads/0.55 -m 'tagging easy-comment-uploads-0.55'
svn: ローカルの、コミットを伴わない操作にログメッセージやリビジョン属性はつけられません
</pre>

<p>どうしたらいいか分からないので、TotoiseSVNで、</p>

<ol>
<li>リポジトリブラウザで current を右クリック &#8211; コピー</li>
<li>新しい名前： file:///H:/Develop/svn/easy-comment-uploadsRepos/vendor/easy-comment-uploads/0.55</li>
<li>メッセージを入れてコミット</li>
</ol></li>
<li><p>0.51と最新版をマージし、作業コピーに反映</p>

<ol>
<li>作業コピー easy-comment-uploads-work を右クリック &#8211; TortoiseSVN &#8211; マージ&#8230;</li>
<li>マージタイプ画面で「異なる2つのツリーをマージ」 次へ></li>
<li>ツリーのマージ画面でURLを指定して 次へ>

<ul>
<li>元： file:///H:/Develop/svn/easy-comment-uploadsRepos/vendor/easy-comment-uploads/0.51</li>
<li>先： file:///H:/Develop/svn/easy-comment-uploadsRepos/vendor/easy-comment-uploads/current</li>
<li>作業コピー： H:\Develop\svn\easy-comment-uploads-work になってる</li>
</ul></li>
<li><p>マージの設定画面</p>

<ul>
<li>マージする深さ： 作業コピー</li>
<li>「マージのテスト」をクリックすると、予行演習できる。</li>
<li>「マージ」をクリックで実行！</li>
</ul>

<pre class="brush: plain; collapse: true; gutter: false; light: false; toolbar: true;">
コマンド    file:///H:/Develop/svn/easy-comment-uploadsRepos/vendor/easy-comment-uploads/0.51 のリビジョン HEAD から file:///H:/Develop/svn/easy-comment-uploadsRepos/vendor/easy-comment-uploads/current のリビジョン HEAD を H:\Develop\svn\easy-comment-uploads-work へマージ、系統情報を無視
リポジトリURL間の差分をマージ    H:\Develop\svn\easy-comment-uploads-work
更新  H:\Develop\svn\easy-comment-uploads-work\main.php
更新  H:\Develop\svn\easy-comment-uploads-work\upload.php
更新  H:\Develop\svn\easy-comment-uploads-work\readme.txt
追加  H:\Develop\svn\easy-comment-uploads-work\upload-form.php
　　　 H:\Develop\svn\easy-comment-uploads-work
　　　 H:\Develop\svn\easy-comment-uploads-work
　　　 H:\Develop\svn\easy-comment-uploads-work
終了！
</pre></li>
</ol></li>
<li><p>作業コピーを右クリック &#8211; SVN コミット&#8230;<br />
普段のコミットのときと違って、easy-comment-uploads-work ディレクトリ自体にも属性の変更が入る。<br />
svn:mergeinfo /vendor/easy-comment-uploads/current:3-13</p>

<p><span class="attn">失敗</span> ところがコミット失敗！</p>

<pre class="brush: plain; collapse: true; gutter: false; light: false; toolbar: true;">
コマンド    コミット
変更  H:\Develop\svn\easy-comment-uploads-work
エラー コミットに失敗しました (詳しい理由は以下のとおりです):
エラー ディレクトリ '/trunk' はリポジトリ側と比べて古くなっています
エラー まず、作業コピーを更新してください。
終了！
</pre>

<p>右クリック &#8211; SVN 更新<br />
そのあともう一度コミット</p>

<pre class="brush: plain; collapse: true; gutter: false; light: false; toolbar: true;">コマンド コミット
変更  H:\Develop\svn\easy-comment-uploads-work
変更  H:\Develop\svn\easy-comment-uploads-work\main.php
変更  H:\Develop\svn\easy-comment-uploads-work\readme.txt
追加中 H:\Develop\svn\easy-comment-uploads-work\upload-form.php
変更  H:\Develop\svn\easy-comment-uploads-work\upload.php
内容を送信中  H:\Develop\svn\easy-comment-uploads-work\main.php
内容を送信中  H:\Develop\svn\easy-comment-uploads-work\upload.php
内容を送信中  H:\Develop\svn\easy-comment-uploads-work\readme.txt
完了  リビジョン: 14
</pre>

<p>コマンドラインでするとしたらこんな？（未検証）</p>

<pre class="brush: powershell; wrap-lines: true;">
svn merge file:///H:/Develop/svn/easy-comment-uploadsRepos/vendor/easy-comment-uploads/0.51 file:///H:/Develop/svn/easy-comment-uploadsRepos/vendor/easy-comment-uploads/current 作業コピーのパス
svn commit -m 'merging easy-comment-uploads-0.55 into the main branch'
</pre></li>
</ol></li>
</ol>

<h4 id="s2">習作2： なるべくTortoiseSVN×本体も改造マージ ← <span class="attn">イマココ！</span></h4>

<h5 id="h6">構成図</h5>

<ul>
<li>easy-comment-uploadsRepos （カスタマイズ用リポジトリ） (1)

<ul>
<li>branches &#8212; (2)</li>
<li>tags &#8212; (2)</li>
<li>trunk &#8212; (4)で作成（分岐）

<ul>
<li>i18n

<ul>
<li>easy-comment-uploads-ja.mo &#8212; (5)でぼのが追加</li>
<li>easy-comment-uploads-ja.po &#8212; (5)でぼのが追加</li>
</ul></li>
<li>main.php &#8212; (6)でぼのが修正</li>
<li>readme.txt</li>
<li>style.css</li>
<li>uninstall.php</li>
<li>upload.php &#8212; (6)でぼのが修正</li>
</ul></li>
<li>vendor

<ul>
<li>easy-comment-uploads

<ul>
<li>current &#8212; (2)でインポート（v0.51）、(7-3)マージ範囲終点（v0.55）

<ul>
<li>i18n</li>
<li>main.php &#8212; (7-1)v0.55で変更</li>
<li>readme.txt &#8212; (7-1)v0.55で変更</li>
<li>style.css</li>
<li>uninstall.php</li>
<li>upload.php &#8212; (7-1)v0.55で変更</li>
<li>upload-form.php &#8212; (7-1)v0.55でファイル追加
&#8211; (7-2)v0.55で変更</li>
</ul></li>
<li>0.51 &#8212; (3)でタグ付け、(7-3)マージ範囲始点</li>
<li>0.55 &#8212; (7-2)</li>
</ul></li>
</ul></li>
</ul></li>
</ul>

<h5 id="h7">手順</h5>

<ol>
<li><strong>easy-comment-uploadsRepos リポジトリを作る</strong><br />
右クリック &#8211; TortoiseSVN &#8211; ここにリポジトリを作成</li>
<li><p><strong>リポジトリの中に branches, tags<del>, trunk</del> を作リ、easy-comment-uploads 0.51 のソースコードを <code>リポジトリ/vendor/easy-comment-uploads/current/</code> に入れる</strong>。</p>

<ol>
<li>次の構成のフォルダをWindowsで作り、current の中に easy-comment-uploads 0.51 のソースを入れる。trunk は作らずにおく（下記4のコピー先なので）。branches, tags は後日使うときに作るんでもいいのかも。

<ul>
<li>easy-comment-uploads

<ul>
<li>branches</li>
<li>tags</li>
<li><del>trunk</del></li>
<li>vendor

<ul>
<li>easy-comment-uploads

<ul>
<li>current ← この中に 0.51（↓）を入れる。手元になければ <a href="http://svn.wp-plugins.org/easy-comment-uploads/tags/0.51/">http://svn.wp-plugins.org/easy-comment-uploads/tags/0.51/</a> よりここにエクスポートでok

<ul>
<li>i18n/</li>
<li>main.php</li>
<li>readme.txt</li>
<li>style.css</li>
<li>uninstall.php</li>
<li>upload.php</li>
</ul></li>
</ul></li>
</ul></li>
</ul></li>
</ul></li>
<li>easy-comment-uploads フォルダを右クリック &#8211; TortoiseSVN &#8211; インポート

<ul>
<li>リポジトリのURL： file:///H:/Develop/svn/easy-comment-uploadsRepos</li>
<li>プロジェクトルートデディレクトリ作成、初期ベンダードロップ0.51をインポート</li>
</ul></li>
</ol></li>
<li><p><strong>current にタグ付け 0.51</strong></p>

<ol>
<li>easy-comment-uploadsRepos を右クリック &#8211; TortoiseSVN &#8211; リポジトリブラウザ を選ぶ</li>
<li>開いたリポジトリブラウザ上で /vendor/easy-comment-uploads/current を右クリック、コピー&#8230; を選ぶ

<ul>
<li>新しい名前： file:///H:/Develop/svn/easy-comment-uploadsRepos/vendor/easy-comment-uploads/0.51</li>
<li>メッセージ： Easy Comment Uploads 0.51 タグ付け</li>
</ul></li>
<li>easy-comment-uploads あたりを右クリックして「最新に更新」すれば、その下に 0.51 が出来ているのを確認できる。</li>
</ol></li>
<li><p><strong>このタグから主系開発ブランチにコピー</strong>（今回の構成では <code>/trunk</code>）</p>

<ol>
<li>リポジトリブラウザ上で /vendor/easy-comment-uploads/0.51 を右クリック、コピー&#8230; を選ぶ

<ul>
<li>新しい名前：  file:///H:/Develop/svn/easy-comment-uploadsRepos/trunk</li>
<li>メッセージ： Easy Comment Uploads 0.51 を主系ブランチにコピー</li>
</ul></li>
<li>同じく「最新に更新」で trunk ができたこととその中のファイルを確認</li>
</ol></li>
<li><p><strong>作業コピーで開発作業</strong><br />
前に作った日本語化ファイルを作業コピー経由で trunk に追加する。</p>

<ol>
<li>上記5までリポジトリ上でやってきちゃったので、ここで作業コピーを作成する。<br />
Windowsで easy-comment-uploads-work フォルダを作り、右クリックして SVN チェックアウト&#8230;

<ul>
<li>リポジトリのURL： file:///H:/Develop/svn/easy-comment-uploadsRepos/trunk</li>
<li>チェックアウトディレクトリ： H:\Develop\svn\easy-comment-uploads-work</li>
</ul></li>
<li>日本語化ファイルを右クリックしたままこの作業コピーにドラッグ、右クリック &#8211; SVN この作業コピーにファイルをコピーし追加する を選んでドロップ</li>
<li>コミット</li>
</ol></li>
<li><p>0.55 リリース以降は<a href="#s1-7">習作1と同じ</a>（1でもTortoiseSVNを使用）なので、今回はプラグイン本体をもいじってからのマージに挑戦してみる。<br />
<strong>翻訳できるようにするため main.php, upload.php を修正</strong>。</p>

<ol>
<li>過去に修正済みなので、その main.php, upload.php を右クリックで作業コピーへドラッグし、コピーを選んでドロップ（コピーして置き換え）</li>
<li>コミット</li>
</ol>

<p><span class="attn">To-do</span> こういうのは、trunkでいじるのと branch に分岐した上でいじるのとどっちがいいのかなぁ。。また悩みが一つ。</p></li>
<li><p>では、<strong>「Easy Comment Uploads 0.55 がリリースされた！」つもり</strong>。</p>

<ol>
<li><p>0.55 のソースコードを <code>リポジトリ/vendor/easy-comment-uploads/current/</code> に入れる（差し替え）<br />
<span class="attn">To-do</span> これがちょっと面倒。もっと簡略化したい。</p>

<ol>
<li><code>リポジトリ/vendor/easy-comment-uploads/current/</code> からこれ用の作業ディレクトリ easy-comment-uploads-vendor-work へチェックアウト</li>
<li><p>0.55のファイルに置き換える。本当は次のどっちがいいのかな。。</p>

<p>（方法A）</p>

<ol>
<li>easy-comment-uploads-vendor-work を開いて .svn/, i18n/ 以外を選び、右クリック &#8211; TortoiseSVN &#8211; 削除。i18n/ も開いて .svn/ 以外を削除</li>
<li>easy-comment-uploads-vendor-work の中に 0.54のファイルを上書きコピー</li>
<li>easy-comment-uploads-vendor-work を右クリック &#8211; TotoiseSVN &#8211; 追加&#8230;</li>
<li>右クリック &#8211; SVNコミット<br />
ファイルの置換／追加／削除の一覧を確認できる。今回は置換と1ファイル追加
コミット前に TortoiseSVN &#8211; 変更を確認&#8230; （svn status）しても変更一覧を見られる。</li>
</ol>

<p>（方法B） &#8212; マニュアルのはこっち？</p>

<ol>
<li>.svn/, i18n/.svn 以外のファイルをTootoiseSVNのじゃなくて普通に削除</li>
<li>easy-comment-uploads-vendor-work の中に 0.54のファイルを上書きコピー</li>
<li>右クリック &#8211; TortoiseSVN &#8211; 変更を確認&#8230; （svn status）すると、変更 or 管理外（追加されたファイル）（or なくなったのは何て出るっけ。紛失？）の一覧が表示される。管理外のは右クリックで追加</li>
<li>右クリック &#8211; SVN コミット</li>
</ol>

<pre class="brush: plain; collapse: true; gutter: false; light: false; toolbar: true; wrap-lines: true;">
    変更  H:\Develop\svn\easy-comment-uploads-vendor-work\main.php
    変更  H:\Develop\svn\easy-comment-uploads-vendor-work\readme.txt
    追加中 H:\Develop\svn\easy-comment-uploads-vendor-work\upload-form.php
    変更  H:\Develop\svn\easy-comment-uploads-vendor-work\upload.php
    内容を送信中  H:\Develop\svn\easy-comment-uploads-vendor-work\main.php
    内容を送信中  H:\Develop\svn\easy-comment-uploads-vendor-work\upload.php
    内容を送信中  H:\Develop\svn\easy-comment-uploads-vendor-work\readme.txt
    内容を送信中  H:\Develop\svn\easy-comment-uploads-vendor-work\upload-form.php
    完了  リビジョン: 6
    </pre></li>
</ol></li>
<li><p>これにタグ付け 0.55</p>

<ol>
<li>リポジトリブラウザで current を右クリック &#8211; コピー</li>
<li>新しい名前： file:///H:/Develop/svn/easy-comment-uploadsRepos/vendor/easy-comment-uploads/0.55</li>
<li>メッセージを入れてコミット</li>
</ol></li>
<li><p>0.51と最新版をマージして作業コピーに反映</p>

<ol>
<li>作業コピー easy-comment-uploads-work を右クリック &#8211; TortoiseSVN &#8211; マージ&#8230;</li>
<li>マージタイプ画面で「異なる2つのツリーをマージ」 次へ></li>
<li>ツリーのマージ画面でURLを指定して 次へ>

<ul>
<li>元： file:///H:/Develop/svn/easy-comment-uploadsRepos/vendor/easy-comment-uploads/0.51</li>
<li>先： file:///H:/Develop/svn/easy-comment-uploadsRepos/vendor/easy-comment-uploads/current</li>
<li>作業コピー： H:\Develop\svn\easy-comment-uploads-work になってる</li>
</ul></li>
<li><p>マージの設定画面</p>

<ul>
<li>マージする深さ： 作業コピー</li>
<li><p>「マージのテスト」をクリックすると、予行演習できる。<br />
main.php と upload.php が競合</p></li>
<li><p>「マージ」をクリックで実行！</p></li>
</ul>

<pre class="brush: plain; collapse: true; gutter: false; light: false; toolbar: true;">
コマンド    file:///H:/Develop/svn/easy-comment-uploadsRepos/vendor/easy-comment-uploads/0.51 のリビジョン HEAD から file:///H:/Develop/svn/easy-comment-uploadsRepos/vendor/easy-comment-uploads/current のリビジョン HEAD を H:\Develop\svn\easy-comment-uploads-work へマージ、系統情報を無視
</pre>

<p>競合しているファイル毎に「競合の解消」ダイアログが表示される。
    + 競合を編集 &#8212; ソースコードの比較が表示され、どれを採用するか決める。
    + 後で解消する &#8212; 編集を先送り。競合の編集画面は後からでも開ける。
    + 「マージ中止」ボタンは純粋なキャンセル（後で最初からやり直し）じゃなくて、そのとき表示されていた競合ファイルは先送りしたことになるみたい。後でマージを再実行してもそのファイルは競合リストに挙がってこない。</p>

<p>今回は後で解消することにしてみる。</p>

<pre class="brush: plain; collapse: true; gutter: false; light: false; toolbar: true;">
コマンド    file:///H:/Develop/svn/easy-comment-uploadsRepos/vendor/easy-comment-uploads/0.51 のリビジョン HEAD から file:///H:/Develop/svn/easy-comment-uploadsRepos/vendor/easy-comment-uploads/current のリビジョン HEAD を H:\Develop\svn\easy-comment-uploads-work へマージ、系統情報を無視
リポジトリURL間の差分をマージ    H:\Develop\svn\easy-comment-uploads-work
競合  H:\Develop\svn\easy-comment-uploads-work\main.php
競合  H:\Develop\svn\easy-comment-uploads-work\upload.php
更新  H:\Develop\svn\easy-comment-uploads-work\readme.txt
追加  H:\Develop\svn\easy-comment-uploads-work\upload-form.php
完了  H:\Develop\svn\easy-comment-uploads-work
警告！ １つ以上のファイルが競合状態にあります。
        H:\Develop\svn\easy-comment-uploads-work
        H:\Develop\svn\easy-comment-uploads-work
</pre></li>
</ol>

<p>この時点の作業コピーは、</p>

<ul>
<li>作業コピーフォルダ &#8212; 競合マーク、<code>svn:mergeinfo /vendor/easy-comment-uploads/current:2-7</code>

<ul>
<li>競合ファイル &#8212; 競合マーク</li>
<li>競合したファイル名.merge-left.r7</li>
<li>競合したファイル名.merge-rigt.r7</li>
<li>競合したファイル名.merge-working</li>
<li>変更・追加ファイルにはそれぞれのマーク</li>
</ul></li>
</ul></li>
<li><p>競合の解消 <span id ="s2-merge-conflict"></span> ← <span class="attn">イマココ！</span></p></li>
</ol></li>
</ol>

<h5 id="merge-conflict">競合の解消</h5>

<p>（習作2 手順7-4 作業詳細） 学習中&#8230; 学習中&#8230;</p>

<ul>
<li><a href="http://tortoisesvn.net/docs/release/TortoiseSVN_ja/tsvn-dug-merge.html" title="マージ">マージ</a>

<ul>
<li><a href="http://tortoisesvn.net/docs/release/TortoiseSVN_ja/tsvn-dug-merge.html#tsvn-dug-merge-conflict-callback" title="マージ">マージ中に発生した競合の扱い</a></li>
</ul></li>
<li><a href="http://tortoisesvn.net/docs/release/TortoiseSVN_ja/tsvn-dug-conflicts.html" title="競合の解消">競合の解消</a></li>
</ul>

<p><a href="#s2-merge-conflict">↑ 習作2 手順7-4に戻る</a></p>

<h4 id="h12">付録： コマンドヘルプ</h4>

<h5 id="svn-import">svn import</h5>

<pre class="brush: powershell; collapse: true; light: false; toolbar: true; wrap-lines: true;">
C:\Users\bono&gt;svn help import
import: バージョン管理されていないファイルやツリーをリポジトリに入れてコミッ
トします。
使用方法: import [&lt;パス&gt;] &lt;URL&gt;

  &lt;パス&gt; のコピーを再帰的に &lt;URL&gt; にコミットします。
  &lt;パス&gt; が省略された場合は、&lt;パス&gt; は '.' だと仮定します。
  リポジトリには、必要に応じて親ディレクトリが作成されます。
  &lt;パス&gt; がディレクトリの場合、そのディレクトリの内容が &lt;URL&gt; の下に直接追加
  されます。
  --force が指定されている場合でも、デバイスファイルやパイプのようなバージョ
  ン管理できない項目は無視されます。

有効なオプション:
  -q [--quiet]             : 何も表示しないか、要約情報のみを表示します
  -N [--non-recursive]     : 廃止予定です。--depth=files または
                             --depth=immediates を使用してください
  --depth &lt;ARG&gt;            : 操作の対象を深さ &lt;ARG&gt; ('empty'、'files'、
                             'immediates'、'infinity' のいずれか) に限定しま
                             す
  --auto-props             : 自動的な属性設定を有効にします
  --force                  : 強制的に処理を実行します
  --no-auto-props          : 自動的な属性設定を無効にします
  -m [--message] &lt;ARG&gt;     : ログメッセージを &lt;ARG&gt; と指定します
  -F [--file] &lt;ARG&gt;        : ファイル &lt;ARG&gt; からログメッセージを読み込みます
  --force-log              : ログメッセージを含むファイルを強制的に有効にしま
                             す
  --editor-cmd &lt;ARG&gt;       : 外部エディタとして &lt;ARG&gt; を用います
  --encoding &lt;ARG&gt;         : 文字エンコーディングが &lt;ARG&gt; であるとして処理し
                             ます
  --with-revprop &lt;ARG&gt;     : 「名前[=値]」の形式で指定されたリビジョン属性
                             &lt;ARG&gt; を新しいリビジョンに設定します
  --no-ignore              : デフォルトや svn:ignore 属性が無視するような項目
                             を無視しません

グローバルオプション:
  --username &lt;ARG&gt;         : ユーザ名を &lt;ARG&gt; と指定します
  --password &lt;ARG&gt;         : パスワードを &lt;ARG&gt; と指定します
  --no-auth-cache          : 認証情報をキャッシュしません
  --non-interactive        : 対話式の認証用プロンプト表示をしません
  --trust-server-cert      : accept unknown SSL server certificates without
                             prompting (but only with '--non-interactive')
  --config-dir &lt;ARG&gt;       : ディレクトリ &lt;ARG&gt; からユーザ設定ファイルを読み
                             込みます
  --config-option &lt;ARG&gt;    : set user configuration option in the format:
                                 FILE:SECTION:OPTION=[VALUE]
                             For example:
                                 servers:global:http-library=serf
</pre>

<ul>
<li><a href="http://www.caldron.jp/~nabetaro/svn/svnbook-1.5-final/html-chunk/index.html" title="Subversion によるバージョン管理">Subversion によるバージョン管理 For Subversion 1.5</a> &raquo; <a href="http://www.caldron.jp/~nabetaro/svn/svnbook-1.5-final/html-chunk/svn.ref.svn.c.import.html" title="svn import">svn import</a></li>
</ul>

<h5 id="svn-copy">svn copy</h5>

<pre class="brush: powershell; collapse: true; light: false; toolbar: true; wrap-lines: true;">
C:\Users\bono&gt;svn help copy
copy (cp): 作業コピーまたはリポジトリ中の何かを、履歴をもたせたまま複製します。
使用方法: copy &lt;コピー元&gt;[@&lt;REV&gt;]... &lt;コピー先&gt;

複数の &lt;コピー元&gt; をコピーする場合、それらは &lt;コピー先&gt; の子ノードとして追加
されるので、&lt;コピー先&gt; はディレクトリでなければなりません。

  &lt;コピー元&gt; と &lt;コピー先&gt; は作業コピー (WC) のパスと URL のどちらかで指定で
  きます:
    WC  -&gt; WC:   (履歴をもたせたまま) コピーして追加準備状態にします
    WC  -&gt; URL:  WC のコピーを直接 URL にコミットします
    URL -&gt; WC:   URL をチェックアウトして WC に入れ、追加準備状態にします
    URL -&gt; URL:  完全なサーバサイドのコピーです。ブランチとタグに用いられます
  &lt;コピー元&gt; はすべて同じ種別でなければなりません。

警告: Subversion の以前のバージョンとの互換性のため、2 つの作業コピーパスの間
で行うコピー (WC -&gt; WC) では、リポジトリにアクセスしません。そのため、このよ
うなコピーでは、デフォルトではコピー元からコピー先へのマージ追跡情報の伝播が
なされない可能性があります。

有効なオプション:
  -r [--revision] &lt;ARG&gt;    : &lt;ARG&gt; (一部のコマンドは &lt;ARG 1&gt;:&lt;ARG 2&gt; の範囲も
                             引数にとることができます)
                             リビジョン引数は次のいずれかを使って指定できます:
                                NUMBER       リビジョン番号
                                '{' DATE '}' その日時が始まったときのリビジョ
                                             ン
                                'HEAD'       リポジトリで最新のもの
                                'BASE'       項目の作業コピーのベースとなるリ
                                             ビジョン
                                'COMMITTED'  BASE またはそれ以前の最後のコミ
                                             ット
                                'PREV'       COMMITTED の直前のリビジョン
  -q [--quiet]             : 何も表示しないか、要約情報のみを表示します
  --ignore-externals       : 外部定義を無視します
  --parents                : 途中のディレクトリを作成します
  -m [--message] &lt;ARG&gt;     : ログメッセージを &lt;ARG&gt; と指定します
  -F [--file] &lt;ARG&gt;        : ファイル &lt;ARG&gt; からログメッセージを読み込みます
  --force-log              : ログメッセージを含むファイルを強制的に有効にしま
                             す
  --editor-cmd &lt;ARG&gt;       : 外部エディタとして &lt;ARG&gt; を用います
  --encoding &lt;ARG&gt;         : 文字エンコーディングが &lt;ARG&gt; であるとして処理し
                             ます
  --with-revprop &lt;ARG&gt;     : 「名前[=値]」の形式で指定されたリビジョン属性
                             &lt;ARG&gt; を新しいリビジョンに設定します

グローバルオプション:
  --username &lt;ARG&gt;         : ユーザ名を &lt;ARG&gt; と指定します
  --password &lt;ARG&gt;         : パスワードを &lt;ARG&gt; と指定します
  --no-auth-cache          : 認証情報をキャッシュしません
  --non-interactive        : 対話式の認証用プロンプト表示をしません
  --trust-server-cert      : accept unknown SSL server certificates without
                             prompting (but only with '--non-interactive')
  --config-dir &lt;ARG&gt;       : ディレクトリ &lt;ARG&gt; からユーザ設定ファイルを読み
                             込みます
  --config-option &lt;ARG&gt;    : set user configuration option in the format:
                                 FILE:SECTION:OPTION=[VALUE]
                             For example:
                                 servers:global:http-library=serf
</pre>

<ul>
<li><a href="http://www.caldron.jp/~nabetaro/svn/svnbook-1.5-final/html-chunk/index.html" title="Subversion によるバージョン管理">Subversion によるバージョン管理 For Subversion 1.5</a> &raquo; <a href="http://www.caldron.jp/~nabetaro/svn/svnbook-1.5-final/html-chunk/svn.ref.svn.c.copy.html" title="svn copy">svn copy</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://bono.s206.xrea.com/2010/08/2408-subversion-vendor-branches/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Subversion: 複数リポジトリの統合（マージ・結合）</title>
		<link>http://bono.s206.xrea.com/2010/08/1851-merging_repositories/</link>
		<comments>http://bono.s206.xrea.com/2010/08/1851-merging_repositories/#comments</comments>
		<pubDate>Sun, 22 Aug 2010 14:00:55 +0000</pubDate>
		<dc:creator>ぼの</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Subversion]]></category>

		<guid isPermaLink="false">http://bono.s206.xrea.com/?p=1851</guid>
		<description><![CDATA[自作プラグインのSubversionリポジトリをプラグイン毎に設けていたのを止めて、一つのリポジトリにまとめることにした。その作業記録。 目次： 現状と希望 実現方法 実行時のエラー「期待されるファイルシステム形式は～」とその対処 エラー内容 原因 対処方法 リポジトリの統合を実行 環境 手順 実行するコマンド コマンド実行結果 検証 付録： コマンドヘルプ （Subversion 1.6.12） svnadmin help svnadmin &#8211;version svnadmin dump svnadmin dump （ver. 1.5.6） svnadmin load svnadmin create svn mkdir svnadmin upgrade svnadmin verify 現状と希望 現状： プラグインA用リポジトリ branches tags trunk プラグインB用リポジトリ branches tags trunk &#8230; こうしたい： プラグイン用リポジトリ プラグインA branches tags trunk [...]]]></description>
			<content:encoded><![CDATA[<p>自作プラグインのSubversionリポジトリをプラグイン毎に設けていたのを止めて、一つのリポジトリにまとめることにした。その作業記録。</p>

<p><span id="more-1851"></span></p>

<div class="toc"><p>目次：</p>
<ol>
<li><a href="#h0">現状と希望</a></li>
<li><a href="#h1">実現方法</a></li>
<li><a href="#h2">実行時のエラー「期待されるファイルシステム形式は～」とその対処</a>
<ol><li><a href="#h3">エラー内容</a></li>
<li><a href="#h4">原因</a></li>
<li><a href="#h5">対処方法</a></li></ol>
</li>
<li><a href="#run">リポジトリの統合を実行</a>
<ol><li><a href="#h7">環境</a></li>
<li><a href="#h8">手順</a></li>
<li><a href="#h9">実行するコマンド</a></li>
<li><a href="#h10">コマンド実行結果</a></li>
<li><a href="#h11">検証</a></li></ol>
</li>
<li><a href="#help">付録： コマンドヘルプ （Subversion 1.6.12）</a>
<ol><li><a href="#svnadmin-help">svnadmin help</a></li>
<li><a href="#svnadmin-version">svnadmin &#8211;version</a></li>
<li><a href="#svnadmin-dump">svnadmin dump</a>
<ol><li><a href="#svnadmin-dump-2">svnadmin dump （ver. 1.5.6）</a></li></ol>
</li>
<li><a href="#svnadmin-load">svnadmin load</a></li>
<li><a href="#svnadmin-create">svnadmin create</a></li>
<li><a href="#svn-mkdir">svn mkdir</a></li>
<li><a href="#svnadmin-upgrade">svnadmin upgrade</a></li>
<li><a href="#svnadmin-verify">svnadmin verify</a></li></ol>
</li>
</ol>
</div>

<h4 id="h0">現状と希望</h4>

<p>現状：</p>

<div id="attachment_649" class="wp-caption alignright" style="width: 210px"><a href="http://bono.s206.xrea.com/2008/02/645-version_control_with_tortoisesvn/%e3%83%90%e3%83%bc%e3%82%b8%e3%83%a7%e3%83%b3%e7%ae%a1%e7%90%86%e3%81%ae%e6%a7%8b%e6%88%90%e3%82%a4%e3%83%a1%e3%83%bc%e3%82%b8%e5%9b%b3/" rel="attachment wp-att-649"><img src="http://bono.s206.xrea.com/wp/wp-content/uploads/version_control.gif" alt="従来の構成図" title="バージョン管理の構成イメージ図" class="size-full wp-image-649" width="200" height="220" /></a><p class="wp-caption-text">昔の構成図だけど、ぼののPCのリポジトリ構成はこんな感じ。プラグイン毎にリポジトリを作っていた。</p></div>

<ul>
<li><strong>プラグインA用リポジトリ</strong>

<ul>
<li>branches</li>
<li>tags</li>
<li>trunk</li>
</ul></li>
<li><strong>プラグインB用リポジトリ</strong>

<ul>
<li>branches</li>
<li>tags</li>
<li>trunk</li>
</ul></li>
<li>&#8230;</li>
</ul>

<p>こうしたい：</p>

<ul>
<li><strong>プラグイン用リポジトリ</strong>

<ul>
<li>プラグインA

<ul>
<li>branches</li>
<li>tags</li>
<li>trunk</li>
</ul></li>
<li>プラグインB

<ul>
<li>branches</li>
<li>tags</li>
<li>trunk</li>
</ul></li>
<li>&#8230;</li>
</ul></li>
</ul>

<p>さらに、今までリポジトリを作っていなかったプラグインとか日本語化ファイルとかもここに突っ込んで、まとめて管理できるようにいたしたい所存。</p>

<h4 id="h1">実現方法</h4>

<p>web検索で情報を探していたけど、本家本元のFAQにあり。灯台下暗し。</p>

<blockquote cite="http://subversion.apache.org/faq.ja.html#multi-merge">

<p><strong>完全に分離している二つのリポジトリをマージするにはどうすればよい? </strong></p>

<p>片方のリポジトリについて、履歴の完全な維持、という点を気にしないのであれば、一つのプロジェクトの下へ単に新しいディレクトリを作った上で、そこへもう片方のデータをインポートすれば良い。</p>

<p>もし、両方のリポジトリの履歴を維持したいのならば、&#8217;svnadmin dump&#8217;を使って片方のリポジトリのダンプを取り、&#8217;svnadmin load&#8217;で、そのダンプをもう片方のリポジトリへロードすることになる。 リビジョン番号は変わっちゃうけれど、でも履歴は維持できるよ。</p>

<address><a href="http://subversion.apache.org/faq.ja.html#multi-merge" title="">Apache Subversion &raquo; Subversion FAQ(in Japanese)</a> （<a href="http://subversion.apache.org/faq.html#multi-merge" title="Subversion FAQ - How do I merge two completely separate repositories?">原文</a>）</address>

</blockquote>

<p>あれこれやった結果を整理するとこんな感じ。実際に実行した手順は<a href="#run">下記参照</a>。</p>

<ol>
<li>新リポジトリを作成： TortoiseSVNまたは <a href="#svnadmin-create"><code>svnadmin create</code></a></li>
<li>新リポジトリに各プロジェクト用のディレクトリを作成（＝下記4のロード先）： TortoiseSVNまたは <a href="#svn-mkdir"><code>svn mkdir</code></a></li>
<li>各旧リポジトリの内容をダンプ： <a href="#svnadmin-dump"><code>svnadmin dump</code></a></li>
<li>各ダンプファイルを新リポジトリに取り込む： <a href="#svnadmin-load"><code>svnadmin load</code></a></li>
</ol>

<p><code>svnadmin</code> を実行するには、TortoiseSVNとは別に「Subversion コマンドラインクライアント」（「Subversion コマンドラインツール」などとも呼ばれる）が必要。</p>

<h4 id="h2">実行時のエラー「期待されるファイルシステム形式は～」とその対処</h4>

<h5 id="h3">エラー内容</h5>

<p>一年以上前に一度挑戦したんだけど、上記手順4で <code>svnadmin load</code> しようとすると、</p>

<pre class="screen">svnadmin: 期待されるファイルシステム形式は 1 から '3' の間ですが、実際の形式は '4' です</pre>

<p>というメッセージが出て弾かれてしまった。<br />
当時のバージョンは Subversion 1.5.6、TortoiseSVN 1.6.2（<code>TortoiseSVN-1.6.2.16344-win32-svn-1.6.2.msi</code>）。新リポジトリとディレクトリの作成（上記手順1・2）はTortoiseSVNで行なった。</p>

<h5 id="h4">原因</h5>

<p>Subversionのファイルシステムには大きく分けて「Berkeley DB」と「FSFS」があるが、同じFSFSの中でも、バージョンによってファイルシステム形式（Filesystem formats）が異なる模様。</p>

<blockquote cite="http://svn.apache.org/repos/asf/subversion/trunk/subversion/libsvn_fs_fs/structure">

<p>Filesystem formats<br />
<code>------------------</code></p>

<p>（ファイルシステムフォーマットについての説明があるけど前略）</p>

<p>The formats are:<br />
Format 1, understood by Subversion 1.1+<br />
Format 2, understood by Subversion 1.4+<br />
Format 3, understood by Subversion 1.5+<br />
Format 4, understood by Subversion 1.6+<br />
Format 5, understood by Subversion 1.7+</p>

<p>The differences between the formats are:<br />
（フォーマット間の違いについての説明があるけど後略）</p>

<address><a href="http://svn.apache.org/repos/asf/subversion/trunk/subversion/libsvn_fs_fs/structure" title="">subversion/trunk/subversion/libsvn_fs_fs/structure</a></address>

</blockquote>

<ul>
<li>上記リストと当時のバージョンと突き合わせてみると、

<ul>
<li>TortoiseSVN 1.6.2で新リポジトリを作った。<br />
<code>TortoiseSVN-1.6.2.16344-win32-<strong>svn-1.6.2</strong>.msi</code> ＝フォーマット<strong>4</strong></li>
<li>Subversion 1.5.6だったので、<code>svnadmin</code> のダンプファイルの形式 or ロードで扱える形式（※）はフォーマット<strong>3以下</strong></li>
<li>旧リポジトリを作った当時は TortoiseSVN 1.4.6 を使用。<br />
<code>TortoiseSVN-1.4.6.11647-win32-<strong>svn-1.4.6</strong>.msi</code> ＝フォーマット<strong>2</strong>

<ul>
<li><code>旧リポジトリのディレクトリ/db/format</code> を見ると <code>2</code><br />
（リポジトリ直下の <code>format</code> は <code>5</code> なんだが…。コレなんだろ）</li>
<li><a href="http://www.asahi-net.or.jp/~iu9m-tcym/svndoc/svn_sharding.html" title="Subversion 1.5.0 での新機能 (sharding)">旧形式から新形式への移行</a>や <a href="#svnadmin-upgrade"><code>upgrade</code> の説明</a>から察するに、TortoiseSVNをアップグレードしてもリポジトリのファイルシステムフォーマットが自動的にアップグレードされることはないっぽい。</li>
</ul></li>
</ul></li>
<li>エラーメッセージの原文は <q cite="http://svn.apache.org/repos/asf/subversion/trunk/subversion/po/ja.po" markdown="1"><code>Expected FS format between '1' and '%d'; found format '%d'</code></q> っぽい。</li>
</ul>

<p>てなわけで、</p>

<pre class="screen">svnadmin: 期待されるファイルシステム形式は 1 から '3' の間ですが、実際の形式は '4' です</pre>

<p>の趣旨は、旧リポジトリ自体のフォーマット（<code>2</code>）とは関係なく、<br />
ダンプファイルのフォーマット／ロードで扱えるフォーマット（<strong>※</strong>）が1～3だから、取り込み先の新リポジトリも当然1～3っしょ！って思ったらマジ4なんすけど。w 先輩、無茶振り超パネエっす。ww<br />
と言いたいらしい。</p>

<p><strong>※</strong> どちらかのフォーマットで判定しているのかはまだ解明できず。</p>

<p>（その他の関連資料）</p>

<ul>
<li><a href="http://www.asahi-net.or.jp/~iu9m-tcym/svndoc/svn_sharding.html" title="Subversion 1.5.0 での新機能 (sharding)">Subversion 1.5.0 での新機能 (sharding)</a> &#8212; Subversionのファイルシステムの説明</li>
<li><a href="#svnadmin-create"><code>svnadmin create</code> ヘルプ</a></li>
<li><a href="http://svnbook.red-bean.com/nightly/en/svn.reposadmin.planning.html#svn.reposadmin.basics.backends.fsfs.revfiles" title="Strategies for Repository Deployment">Version Control with Subversion For Subversion 1.6 &raquo; 5. Repository Administration &raquo;  Strategies for Repository Deployment  &raquo; Choosing a Data Store &raquo; FSFS &#8211; Revision files and shards</a>（ナイトリービルド） &#8212; ここにも違いが書いてありそう。<a href="http://svnbook.red-bean.com/index.ja.html" title="Subversionによるバージョン管理">Subversionによるバージョン管理</a>HTML版の日本語訳サイトにアクセスできないので英語版。</li>
</ul>

<h5 id="h5">対処方法</h5>

<p>両方のバージョンを揃えればok。</p>

<ol>
<li>Subversionコマンドラインクライアントのバージョンを上げる。<br />
→ 当時はつり合う最新版を見つけられず。</li>
<li>TortoiseSVNのバージョンを下げた上で、新リポジトリを作成する。<br />
→ 試しに直前まで使っていた TortoiseSVN 1.4.7に戻したら出来た。<code>TortoiseSVN-1.4.7.11792-win32-svn-1.4.6.msi</code> なので、Subversion 1.5.6より低いフォーマット2で作られたんだと思う。今にして思えば。</li>
<li>新リポジトリを <a href="#svnadmin-create"><code>svnadmin create</code></a> で作る。<br />
（svnadminが古いので旧ファイルシステムフォーマットで作成される）</li>
<li><del markdown="1"><code>svnadmin create</code> でフォーマット指定して作るのは、svnadminの方が古くて上位フォーマットは選べないので今回はナシ。</del></li>
</ol>

<p>2,3の方法でエラーは回避できる。が、せっかくシステムが進化しているのに、このためにバージョンを落として古いファイルシステムを使い続けるなんて後ろ向きだなぁ。。と、踏ん切りがつかずにそのまま来てしまった。</p>

<p>そして今回本腰を入れて最新版にアップグレード。晴れて1の方法でマージできることになったのであった。ヽ(・∀・)人(・∀・)ノ</p>

<p>（詳細） <a href="http://bono.s206.xrea.com/2010/08/1822-subversion_1612/" title="">Subversion[up]: 1.6.12に統一 &#8211; TortoiseSVN・svnadminをアップグレード</a></p>

<h4 id="run">リポジトリの統合を実行</h4>

<h5 id="h7">環境</h5>

<p><a href="http://bono.s206.xrea.com/2010/08/1822-subversion_1612/" title="Subversion[up]: 1.6.12に統一 &#8211; TortoiseSVN・svnadminをアップグレード">アップグレード</a>の結果、</p>

<ul>
<li>Windows Vista</li>
<li>TortoiseSVN 1.6.10, Build 19898 – 32 Bit , 2010/07/16 15:46:08 Subversion 1.6.12</li>
<li>Subversionコマンドラインクライアント 1.6.12 （SlikSVN）</li>
</ul>

<h5 id="h8">手順</h5>

<ol>
<li>新リポジトリを作成： TortoiseSVN <del>または <a href="#svnadmin-create"><code>svnadmin create H:\Develop\svn\wpextendRepos</code></a></del><br />
バージョンを揃えたのでどちらで行なっても同じだと思うが、普段はTotoiseSVNで使っていくことになるので一応TotoiseSVNで作ることにする。<br />
Windowsでフォルダを新規作成し、右クリックして TortoiseSVN &#8211; ここにリポジトリを作成</li>
<li>新リポジトリに各プロジェクト用のディレクトリを作成（＝下記4のロード先）： <del>TortoiseSVNまたは</del> <a href="#svn-mkdir"><code>svn mkdir</code></a><br />
TotoiseSVNで作るより簡単なのでコマンドラインで。</li>
<li>旧リポジトリの内容をダンプ： <a href="#svnadmin-dump"><code>svnadmin dump</code></a></li>
<li>ダンプファイルを新リポジトリに取り込む： <a href="#svnadmin-load"><code>svnadmin load --parent-dir プロジェクトディレクトリ名</code></a></li>
</ol>

<h5 id="h9">実行するコマンド</h5>

<p>手順2～4はWindowsの<a href="http://ja.wikipedia.org/wiki/Cmd.exe" title="cmd.exe - Wikipedia">コマンドプロンプト</a>から実行する。間違えないように整理。(^-^;</p>

<pre class="brush: powershell;">


svn mkdir -m &quot;Initial project roots (merge repositories)&quot; file:///H:/Develop/svn/wpextendRepos/ps_modified_info file:///H:/Develop/svn/wpextendRepos/ps_mokuji file:///H:/Develop/svn/wpextendRepos/ps_get_termid file:///H:/Develop/svn/wpextendRepos/ps_post_listing file:///H:/Develop/svn/wpextendRepos/ps_more_help

svnadmin dump H:\Develop\svn\wp\ps_modified_info &gt; ps_modified_info.proj
svnadmin load H:\Develop\svn\wpextendRepos --parent-dir ps_modified_info &lt; ps_modified_info.proj

svnadmin dump H:\Develop\svn\wp\ps_mokuji | svnadmin load H:\Develop\svn\wpextendRepos --parent-dir ps_mokuji
svnadmin dump H:\Develop\svn\wp\ps_get_termid -r 1:2 | svnadmin load H:\Develop\svn\wpextendRepos --parent-dir ps_get_termid
svnadmin dump H:\Develop\svn\wp\ps_post_listing | svnadmin load H:\Develop\svn\wpextendRepos --parent-dir ps_post_listing
svnadmin dump H:\Develop\svn\wp\ps_more_help | svnadmin load H:\Develop\svn\wpextendRepos --parent-dir ps_more_help

svnadmin dump H:\Develop\svn\wp\ps_shortcode &gt; ps_shortcode.proj
svnadmin load H:\Develop\svn\wpextendRepos &lt; ps_shortcode.proj
</pre>

<p>説明：</p>

<ul>
<li>1行目： 手順2は1行で全ディレクトリを一括作成。

<ul>
<li>リポジトリ作成後に <code>svnadmin load --parent-dir</code> でディレクトリを指定するだけだと、<code>svnadmin: File not found: transaction '0-0', path 'ps_get_termid/branches'</code> みたいに怒られたので、事前に新リポジトリ内のプロジェクトディレクトリを作成しておく。その下の <code>branches</code> とかはダンプファイルに入っているので作成不要。</li>
<li>ただし、<code>ps_shortcode</code> だけは旧リポジトリ内に同名のディレクトリを1階層設けちゃってたので、ディレクトリは（ダンプに含まれるので）作らず、ルートにそのままロードする。（下記4行目と12行目の違い）</li>
</ul></li>
<li>6～9行目： <code>dump</code> と <code>load</code>も、2つめからはファイルを作らず<a href="http://ja.wikipedia.org/wiki/%E3%83%91%E3%82%A4%E3%83%97_(%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF)" title="パイプ (コンピュータ) - Wikipedia">パイプ</a>で渡すようにした。<br />
1行で済むし、ファイル名の書き間違いとかも減ってよし。</li>
<li>7行目： <code>ps_get_termid</code> は必要なリビジョンのみ移行。</li>
</ul>

<p>その他は<a href="#help">コマンドヘルプ</a>参照。</p>

<h5 id="h10">コマンド実行結果</h5>

<p>強調（反転表示）した行が実行したコマンド。行頭の <code>C:\Users\bono&gt;</code> は<a href="http://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%83%97%E3%83%AD%E3%83%B3%E3%83%97%E3%83%88" title="コマンドプロンプト - Wikipedia">プロンプト</a>。</p>

<pre class="brush: powershell; collapse: true; highlight: [1,5,10,25,43,60,83,226,237]; light: false; toolbar: true; wrap-lines: true;">
C:\Users\bono&gt;svn mkdir -m &quot;Initial project roots (merge repositories)&quot; file:///H:/Develop/svn/wpextendRepos/ps_modified_info file:///H:/Develop/svn/wpextendRepos/ps_mokuji file:///H:/Develop/svn/wpextendRepos/ps_get_termid file:///H:/Develop/svn/wpextendRepos/ps_post_listing file:///H:/Develop/svn/wpextendRepos/ps_more_help

リビジョン 1 をコミットしました。

C:\Users\bono&gt;svnadmin dump H:\Develop\svn\wp\ps_modified_info &gt; ps_modified_info.proj
* リビジョン 0 をダンプしました。
* リビジョン 1 をダンプしました。
* リビジョン 2 をダンプしました。

C:\Users\bono&gt;svnadmin load H:\Develop\svn\wpextendRepos --parent-dir ps_modified_info &lt; ps_modified_info.proj
&lt;&lt;&lt; オリジナルのリビジョン 1 に基づき、新しいトランザクションを開始しました
     * パスを追加しています : ps_modified_info/branches ... 完了しました。
     * パスを追加しています : ps_modified_info/tags ... 完了しました。
     * パスを追加しています : ps_modified_info/trunk ... 完了しました。
     * パスを追加しています : ps_modified_info/trunk/ps_modified_info.php ... 完了しました。

------- 新しいリビジョン 2 を (オリジナルのリビジョン 1 からロードして) コミットしました &gt;&gt;&gt;

&lt;&lt;&lt; オリジナルのリビジョン 2 に基づき、新しいトランザクションを開始しました
     * パスを追加しています : ps_modified_info/tags/wp233_080823 ...COPIED... 完了しました。

------- 新しいリビジョン 3 を (オリジナルのリビジョン 2 からロードして) コミットしました &gt;&gt;&gt;


C:\Users\bono&gt;svnadmin dump H:\Develop\svn\wp\ps_mokuji | svnadmin load H:\Develop\svn\wpextendRepos --parent-dir ps_mokuji
* リビジョン 0 をダンプしました。
* リビジョン 1 をダンプしました。
* リビジョン 2 をダンプしました。
&lt;&lt;&lt; オリジナルのリビジョン 1 に基づき、新しいトランザクションを開始しました
     * パスを追加しています : ps_mokuji/branches ... 完了しました。
     * パスを追加しています : ps_mokuji/tags ... 完了しました。
     * パスを追加しています : ps_mokuji/trunk ... 完了しました。
     * パスを追加しています : ps_mokuji/trunk/ps_mokuji.php ... 完了しました。

------- 新しいリビジョン 4 を (オリジナルのリビジョン 1 からロードして) コミットしました &gt;&gt;&gt;

&lt;&lt;&lt; オリジナルのリビジョン 2 に基づき、新しいトランザクションを開始しました
     * パスを追加しています : ps_mokuji/tags/wp233_080823 ...COPIED... 完了しました。

------- 新しいリビジョン 5 を (オリジナルのリビジョン 2 からロードして) コミットしました &gt;&gt;&gt;


C:\Users\bono&gt;svnadmin dump H:\Develop\svn\wp\ps_get_termid -r 1:2 | svnadmin load H:\Develop\svn\wpextendRepos --parent-dir ps_get_termid
* リビジョン 1 をダンプしました。
* リビジョン 2 をダンプしました。
&lt;&lt;&lt; オリジナルのリビジョン 1 に基づき、新しいトランザクションを開始しました
     * パスを追加しています : ps_get_termid/trunk ... 完了しました。
     * パスを追加しています : ps_get_termid/trunk/ps_get_termid.php ... 完了しました。
     * パスを追加しています : ps_get_termid/branches ... 完了しました。
     * パスを追加しています : ps_get_termid/tags ... 完了しました。

------- 新しいリビジョン 6 を (オリジナルのリビジョン 1 からロードして) コミットしました &gt;&gt;&gt;

&lt;&lt;&lt; オリジナルのリビジョン 2 に基づき、新しいトランザクションを開始しました
     * パスを追加しています : ps_get_termid/tags/wp233_080823 ...COPIED... 完了しました。

------- 新しいリビジョン 7 を (オリジナルのリビジョン 2 からロードして) コミットしました &gt;&gt;&gt;


C:\Users\bono&gt;svnadmin dump H:\Develop\svn\wp\ps_post_listing | svnadmin load H:\Develop\svn\wpextendRepos --parent-dir ps_post_listing
* リビジョン 0 をダンプしました。
&lt;&lt;&lt; オリジナルのリビジョン 1 に基づき、新しいトランザクションを開始しました
     * パスを追加しています : ps_post_listing/branches ... 完了しました。
     * パスを追加しています : ps_post_listing/tags ... 完了しました。
     * パスを追加しています : ps_post_listing/trunk ... 完了しました。
     * パスを追加しています : ps_post_listing/trunk/ps_post_listing.php ...* リビジョン 1 をダンプしました。
 完了しました。
* リビジョン 2 をダンプしました。

------- 新しいリビジョン 8 を (オリジナルのリビジョン 1 からロードして) コミットしました &gt;&gt;&gt;

&lt;&lt;&lt; オリジナルのリビジョン 2 に基づき、新しいトランザクションを開始しました
     * パスを追加しています : ps_post_listing/tags/wp233_080823 ...COPIED... 完了しました。

------- 新しいリビジョン 9 を (オリジナルのリビジョン 2 からロードして) コミットしました &gt;&gt;&gt;

&lt;&lt;&lt; オリジナルのリビジョン 3 に基づき、新しいトランザクションを開始しました
     * パスを編集しています : ps_post_listing/trunk/ps_post_listing.php ...* リビジョン  3完 了をしダまンしプたし。また。

------- 新しいリビジョン 10 を (オリジナルのリビジョン 3 からロードして) コミットしました &gt;&gt;&gt;


C:\Users\bono&gt;svnadmin dump H:\Develop\svn\wp\ps_more_help | svnadmin load H:\Develop\svn\wpextendRepos --parent-dir ps_more_help
* リビジョン 0 をダンプしました。
&lt;&lt;&lt; オリジナルのリビジョン 1 に基づき、新しいトランザクションを開始しました
     * パスを追加しています : ps_more_help/branches ... 完了しました。
     * パスを追加しています : ps_more_help/tags ... 完了しました。
     * パスを追加しています : ps_more_help/trunk ... 完了しました。
     * パスを追加しています : ps_more_help/trunk/ps_morehelp.php ...* リビジョン 1 をダンプしました。
 完了しました。
* リビジョン 2 をダンプしました。

------- 新しいリビジョン 11 を (オリジナルのリビジョン 1 からロードして) コミットしました &gt;&gt;&gt;

&lt;&lt;&lt; オリジナルのリビジョン 2 に基づき、新しいトランザクションを開始しました
     * パスを追加しています : ps_more_help/tags/0.1a ...COPIED... 完了しました。


------- 新しいリビジョン 12 を (オリジナルのリビジョン 2 からロードして) コミットしました &gt;&gt;&gt;

&lt;&lt;&lt; オリジナルのリビジョン 3 に基づき、新しいトランザクションを開始しました
     * パスを追加しています : ps_more_help/trunk/ps_more_help.php ...COPIED...*リビジョン 3 をダンプしまし た完。了ました。
     * パスを削除しています : ps_more_help/trunk/ps_morehelp.php ... 完了しました。

------- 新しいリビジョン 13 を (オリジナルのリビジョン 3 からロードして) コミットしました &gt;&gt;&gt;

&lt;&lt;&lt; オリジナルのリビジョン 4 に基づき、新しいトランザクションを開始しました
     * パスを編集しています : ps_more_help/trunk/ps_more_help.php ...* リビジョン 4 をダンプ し完ま了ししたま。し。

------- 新しいリビジョン 14 を (オリジナルのリビジョン 4 からロードして) コミットしました &gt;&gt;&gt;

&lt;&lt;&lt; オリジナルのリビジョン 5 に基づき、新しいトランザクションを開始しました
     * パスを編集しています : ps_more_help/trunk/ps_more_help.php ...* リビジョン 5 をダンプしました 。完しました。

------- 新しいリビジョン 15 を (オリジナルのリビジョン 5 からロードして) コミットしました &gt;&gt;&gt;

&lt;&lt;&lt; オリジナルのリビジョン 6 に基づき、新しいトランザクションを開始しました
     * パスを編集しています : ps_more_help/trunk/ps_more_help.php ...* リビジョン 6 をダンプしました。
 完了しました。

------- 新しいリビジョン 16 を (オリジナルのリビジョン 6 からロードして) コミットしました &gt;&gt;&gt;

&lt;&lt;&lt; オリジナルのリビジョン 7 に基づき、新しいトランザクションを開始しました
     * パスを編集しています : ps_more_help/trunk/ps_more_help.php ...* リビジョン 7  完を了ダしンまプししたま。し。
* リビジョン 8 をダンプしました。
* リビジョン 9 をダンプしました。
* リビジョン 10 をダンプしました。

------- 新しいリビジョン 17 を (オリジナルのリビジョン 7 からロードして) コミットしました &gt;&gt;&gt;

&lt;&lt;&lt; オリジナルのリビジョン 8 に基づき、新しいトランザクションを開始しました
     * パスを追加しています : ps_more_help/tags/0.1a2 ...COPIED... 完了しました。

------- 新しいリビジョン 18 を (オリジナルのリビジョン 8 からロードして) コミットしました &gt;&gt;&gt;

&lt;&lt;&lt; オリジナルのリビジョン 9 に基づき、新しいトランザクションを開始しました
     * パスを削除しています : ps_more_help/tags/0.1a2 ... 完了しました。

------- 新しいリビジョン 19 を (オリジナルのリビジョン 9 からロードして) コミットしました &gt;&gt;&gt;

&lt;&lt;&lt; オリジナルのリビジョン 10 に基づき、新しいトランザクションを開始しました
     * パスを追加しています : ps_more_help/tags/0.1a2 ...COPIED... 完了しました。

------- 新しいリビジョン 20 を (オリジナルのリビジョン 10 からロードして) コミットしました &gt;&gt;&gt;

&lt;&lt;&lt; オリジナルのリビジョン 11 に基づき、新しいトランザクションを開始しました
     * パスを編集しています : ps_more_help/trunk/ps_more_help.php ...* リビジョン 11 をダンプ し完ま了ししたま。した。


------- 新しいリビジョン 21 を (オリジナルのリビジョン 11 からロードして) コミットしました &gt;&gt;&gt;

&lt;&lt;&lt; オリジナルのリビジョン 12 に基づき、新しいトランザクションを開始しました
     * パスを編集しています : ps_more_help/trunk/ps_more_help.php ...* リビジョン 12 を ダ完ン了プししままししたた。。


------- 新しいリビジョン 22 を (オリジナルのリビジョン 12 からロードして) コミットしました &gt;&gt;&gt;

&lt;&lt;&lt; オリジナルのリビジョン 13 に基づき、新しいトランザクションを開始しました
     * パスを編集しています : ps_more_help/trunk/ps_more_help.php ...* リビジョン 13 をダンプしました。
 完了しました。

------- 新しいリビジョン 23 を (オリジナルのリビジョン 13 からロードして) コミットしました &gt;&gt;&gt;

&lt;&lt;&lt; オリジナルのリビジョン 14 に基づき、新しいトランザクションを開始しました
     * パスを編集しています : ps_more_help/trunk/ps_more_help.php ...* リビジョン 14 をダンプしました。
 完了しました。

------- 新しいリビジョン 24 を (オリジナルのリビジョン 14 からロードして) コミットしました &gt;&gt;&gt;

&lt;&lt;&lt; オリジナルのリビジョン 15 に基づき、新しいトランザクションを開始しました
     * パスを編集しています : ps_more_help/trunk/ps_more_help.php ...* リビジョン 15 をダンプしました。
 完了しました。

------- 新しいリビジョン 25 を (オリジナルのリビジョン 15 からロードして) コミットしました &gt;&gt;&gt;

&lt;&lt;&lt; オリジナルのリビジョン 16 に基づき、新しいトランザクションを開始しました
     * パスを編集しています : ps_more_help/trunk/ps_more_help.php ...* リビジョン 16 をダンプしました。
 完了しました。

------- 新しいリビジョン 26 を (オリジナルのリビジョン 16 からロードして) コミットしました &gt;&gt;&gt;

&lt;&lt;&lt; オリジナルのリビジョン 17 に基づき、新しいトランザクションを開始しました
     * パスを編集しています : ps_more_help/trunk/ps_more_help.php ...* リビジョン 17 をダンプしました。
 完了しました。

------- 新しいリビジョン 27 を (オリジナルのリビジョン 17 からロードして) コミットしました &gt;&gt;&gt;

&lt;&lt;&lt; オリジナルのリビジョン 18 に基づき、新しいトランザクションを開始しました
     * パスを編集しています : ps_more_help/trunk/ps_more_help.php ...* リビジョン 18  を完ダ了ンしプまししまたし。た。
* リビジョン 19 をダンプしました。

------- 新しいリビジョン 28 を (オリジナルのリビジョン 18 からロードして) コミットしました &gt;&gt;&gt;

&lt;&lt;&lt; オリジナルのリビジョン 19 に基づき、新しいトランザクションを開始しました
     * パスを追加しています : ps_more_help/tags/0.3a1 ...COPIED... 完了しました。

------- 新しいリビジョン 29 を (オリジナルのリビジョン 19 からロードして) コミットしました &gt;&gt;&gt;

&lt;&lt;&lt; オリジナルのリビジョン 20 に基づき、新しいトランザクションを開始しました
     * パスを編集しています : ps_more_help/trunk/ps_more_help.php ...* リビジョン 2 0完 了をしダまンしプたし。また。

------- 新しいリビジョン 30 を (オリジナルのリビジョン 20 からロードして) コミットしました &gt;&gt;&gt;

&lt;&lt;&lt; オリジナルのリビジョン 21 に基づき、新しいトランザクションを開始しました
     * パスを編集しています : ps_more_help/trunk/ps_more_help.php ...* リビジョン 2 1完 了をしダまンしプたし。また。

------- 新しいリビジョン 31 を (オリジナルのリビジョン 21 からロードして) コミットしました &gt;&gt;&gt;

&lt;&lt;&lt; オリジナルのリビジョン 22 に基づき、新しいトランザクションを開始しました
     * パスを編集しています : ps_more_help/trunk/ps_more_help.php ...* リビジョン 22 をダンプしました。
 完了しました。

------- 新しいリビジョン 32 を (オリジナルのリビジョン 22 からロードして) コミットしました &gt;&gt;&gt;

&lt;&lt;&lt; オリジナルのリビジョン 23 に基づき、新しいトランザクションを開始しました
     * パスを編集しています : ps_more_help/trunk/ps_more_help.php ...* リビジョン 23  を完ダ了ンしプまししまたし。た。

------- 新しいリビジョン 33 を (オリジナルのリビジョン 23 からロードして) コミットしました &gt;&gt;&gt;

&lt;&lt;&lt; オリジナルのリビジョン 24 に基づき、新しいトランザクションを開始しました
     * パスを編集しています : ps_more_help/trunk/ps_more_help.php ...* リビジョン  2完4了 しをまダしンたプ。しした。

------- 新しいリビジョン 34 を (オリジナルのリビジョン 24 からロードして) コミットしました &gt;&gt;&gt;


C:\Users\bono&gt;svnadmin dump H:\Develop\svn\wp\ps_shortcode &gt; ps_shortcode.proj
* リビジョン 0 をダンプしました。
* リビジョン 1 をダンプしました。
* リビジョン 2 をダンプしました。
* リビジョン 3 をダンプしました。
* リビジョン 4 をダンプしました。
* リビジョン 5 をダンプしました。
* リビジョン 6 をダンプしました。
* リビジョン 7 をダンプしました。
* リビジョン 8 をダンプしました。

C:\Users\bono&gt;svnadmin load H:\Develop\svn\wpextendRepos &lt; ps_shortcode.proj
&lt;&lt;&lt; オリジナルのリビジョン 1 に基づき、新しいトランザクションを開始しました
     * パスを追加しています : ps_shortcode ... 完了しました。
     * パスを追加しています : ps_shortcode/branches ... 完了しました。
     * パスを追加しています : ps_shortcode/tags ... 完了しました。
     * パスを追加しています : ps_shortcode/trunk ... 完了しました。
     * パスを追加しています : ps_shortcode/trunk/ps_shortcode.php ... 完了しました。

------- 新しいリビジョン 35 を (オリジナルのリビジョン 1 からロードして) コミットしました &gt;&gt;&gt;

&lt;&lt;&lt; オリジナルのリビジョン 2 に基づき、新しいトランザクションを開始しました
     * パスを追加しています : ps_shortcode/tags/0.1 ...COPIED... 完了しました。

------- 新しいリビジョン 36 を (オリジナルのリビジョン 2 からロードして) コミットしました &gt;&gt;&gt;

&lt;&lt;&lt; オリジナルのリビジョン 3 に基づき、新しいトランザクションを開始しました
     * パスを削除しています : ps_shortcode/trunk/ps_shortcode.php ... 完了しました。

------- 新しいリビジョン 37 を (オリジナルのリビジョン 3 からロードして) コミットしました &gt;&gt;&gt;

&lt;&lt;&lt; オリジナルのリビジョン 4 に基づき、新しいトランザクションを開始しました
     * パスを追加しています : ps_shortcode/trunk/ps_shortcode.php ... 完了しました。

------- 新しいリビジョン 38 を (オリジナルのリビジョン 4 からロードして) コミットしました &gt;&gt;&gt;

&lt;&lt;&lt; オリジナルのリビジョン 5 に基づき、新しいトランザクションを開始しました
     * パスを置換しています : ps_shortcode/trunk/ps_shortcode.php ... 完了しました。

------- 新しいリビジョン 39 を (オリジナルのリビジョン 5 からロードして) コミットしました &gt;&gt;&gt;

&lt;&lt;&lt; オリジナルのリビジョン 6 に基づき、新しいトランザクションを開始しました
     * パスを追加しています : ps_shortcode/tags/0.2 ...COPIED... 完了しました。

------- 新しいリビジョン 40 を (オリジナルのリビジョン 6 からロードして) コミットしました &gt;&gt;&gt;

&lt;&lt;&lt; オリジナルのリビジョン 7 に基づき、新しいトランザクションを開始しました
     * パスを置換しています : ps_shortcode/trunk/ps_shortcode.php ... 完了しました。

------- 新しいリビジョン 41 を (オリジナルのリビジョン 7 からロードして) コミットしました &gt;&gt;&gt;

&lt;&lt;&lt; オリジナルのリビジョン 8 に基づき、新しいトランザクションを開始しました
     * パスを追加しています : ps_shortcode/trunk/ps_permalinker.php ...COPIED... 完了しました。
     * パスを削除しています : ps_shortcode/trunk/ps_shortcode.php ... 完了しました。

------- 新しいリビジョン 42 を (オリジナルのリビジョン 8 からロードして) コミットしました &gt;&gt;&gt;

</pre>

<p>メッセージの日本語が絡まってるとこがあるけど、一応完了。コピペミスちゃったかな。。(^^;</p>

<h5 id="h11">検証</h5>

<p>正しくマージされたかどうか、新リポジトリがちゃんと動くかどうかを確認。</p>

<ol>
<li>新旧リポジトリのディレクトリ構成を比較 → <span class="ok">ok</span></li>
<li>新リポジトリから各プラグインをチェックアウトできるか → <span class="ok">ok</span> ※</li>
<li>新旧リポジトリの最新trunkのファイルのソースコードに違いがないか比較 → <span class="ok">ok</span> ※</li>
<li>新リポジトリにコミットできるか（たまたまコミットしたい修正があったので） → <span class="ok">ok</span></li>
<li><a href="#svnadmin-verify"><code>svnadmin verify</code></a> も試したほうが安全なのかなあ。。 <span class="attn">未実行</span></li>
</ol>

<p>※ 旧リポジトリから作業コピーにチェックアウトして今まで使ってきたファイルと、新リポジトリから <code>svn:externals</code> 経由で一括チェックアウト（別件）したファイルをテキストエディタで開き、内容比較コマンドを実行した。</p>

<h4 id="help">付録： コマンドヘルプ （Subversion 1.6.12）</h4>

<h5 id="svnadmin-help">svnadmin help</h5>

<pre class="brush: powershell; collapse: true; light: false; toolbar: true; wrap-lines: true;">
C:\Users\bono&gt;svnadmin help
一般的な使用方法: svnadmin &lt;サブコマンド&gt; &lt;リポジトリパス&gt; \
                           [&lt;引数やオプション&gt; ...]
特定のサブコマンドに関するヘルプを読みたいときは 'svnadmin help &lt;サブコマンド&gt;'と打ってください。
プログラムのバージョンや FS モジュールを参照するには 'svnadmin --version' と打ってください。

利用可能なサブコマンド:
   crashtest
   create
   deltify
   dump
   help (?, h)
   hotcopy
   list-dblogs
   list-unused-dblogs
   load
   lslocks
   lstxns
   pack
   recover
   rmlocks
   rmtxns
   setlog
   setrevprop
   setuuid
   upgrade
   verify
</pre>

<h5 id="svnadmin-version">svnadmin &#8211;version</h5>

<pre class="brush: powershell; collapse: true; light: false; toolbar: true; wrap-lines: true;">
C:\Users\bono&gt;svnadmin --version
svnadmin, バージョン 1.6.12 (SlikSvn/1.6.12) WIN32
   コンパイル日時: Jun 22 2010, 20:45:29

Copyright (C) 2000-2009 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet (http://www.Collab.Net/).

以下のリポジトリバックエンド (FS) モジュールが利用できます:

* fs_base : Berkeley DB リポジトリを扱うためのモジュール。
* fs_fs : プレインファイル (FSFS) リポジトリを扱うためのモジュール。
</pre>

<h5 id="svnadmin-dump">svnadmin dump</h5>

<pre class="brush: powershell; collapse: true; light: false; toolbar: true; wrap-lines: true;">
C:\Users\bono&gt;svnadmin help dump
dump: usage: svnadmin dump REPOS_PATH [-r LOWER[:UPPER] [--incremental]]

Dump the contents of filesystem to stdout in a 'dumpfile' portable format, sending feedback to stderr.  Dump revisions LOWER rev through UPPER rev.  If no revisions are given, dump all revision trees.  If only LOWER is given, dump that one revision tree.
If --incremental is passed, the first revision dumped will describe only the paths changed in that revision; otherwise it will describe every path present in the repository as of that revision.  (In either case, the second and subsequent revisions, if any, describe only paths changed in those revisions.)

有効なオプション:
  -r [--revision] &lt;ARG&gt;    : リビジョン番号を &lt;ARG&gt; (または範囲 X:Y) と指定します
  --incremental            : 増分のみをダンプします
  --deltas                 : ダンプの出力として差分を用います
  -q [--quiet]             : 標準エラー出力に (エラー以外の) 進行状況を出力しません
</pre>

<p>関連資料：</p>

<ul>
<li><a href="http://www.caldron.jp/~nabetaro/svn/svnbook-1.5-final/html-chunk/index.html" title="Subversion によるバージョン管理">Subversion によるバージョン管理 For Subversion 1.5</a> &raquo; <a href="http://www.caldron.jp/~nabetaro/svn/svnbook-1.5-final/html-chunk/svn.ref.svnadmin.c.dump.html" title="svnadmin dump">svnadmin dump</a></li>
<li><a href="http://svnbook.red-bean.com/index.en.html" title="">Version Control with Subversion</a> For Subversion 1.6 &raquo; <a href="http://svnbook.red-bean.com/nightly/en/svn.ref.svnadmin.c.dump.html" title="svnadmin dump">svnadmin dump</a> （最新英語版・ナイトリービルド）</li>
</ul>

<h6 id="svnadmin-dump-2">svnadmin dump （ver. 1.5.6）</h6>

<p>上記現行版のヘルプが一部英語なので、参考として。</p>

<pre class="brush: powershell; collapse: true; light: false; toolbar: true; wrap-lines: true;">
C:\Users\bono&gt;svnadmin help dump
dump: 使用方法: svnadmin dump &lt;リポジトリパス&gt; [-r &lt;下限&gt;[:&lt;上限&gt;]]
                         [--incremental]

ファイルシステムの内容を「ダンプファイル」可搬形式で標準出力にダンプし、その際フィードバックを標準エラー出力に送信します。ダンプは、リビジョン &lt;下限&gt; からリビジョン &lt;上限&gt; まで行います。リビジョンの指定がないときは、リビジョンツリーすべてをダンプします。&lt;下限&gt; のみが指定されれば、その一つのリビジョンツリーをダンプします。--incremental が渡された場合にはダンプされる最初のリビジョンは、通常の場合のようなフルテキストとはならず、直前のリビジョンとの差分となります。

有効なオプション:
  -r [--revision] &lt;ARG&gt;    : リビジョン番号を &lt;ARG&gt; (または範囲 X:Y) と指定します
  --incremental            : 増分のみをダンプします
  --deltas                 : ダンプの出力として差分を用います
  -q [--quiet]             : 標準エラー出力に (エラー以外の) 進行状況を出力しません
</pre>

<p>関連資料：</p>

<ul>
<li><a href="http://www.caldron.jp/~nabetaro/svn/svnbook-1.5-final/html-chunk/index.html" title="Subversion によるバージョン管理">Subversion によるバージョン管理 For Subversion 1.5</a> &raquo; <a href="http://www.caldron.jp/~nabetaro/svn/svnbook-1.5-final/html-chunk/svn.ref.svnadmin.c.dump.html" title="svnadmin dump">svnadmin dump</a></li>
</ul>

<h5 id="svnadmin-load">svnadmin load</h5>

<pre class="brush: powershell; collapse: true; light: false; toolbar: true; wrap-lines: true;">
C:\Users\bono&gt;svnadmin help load
load: 使用方法: svnadmin load &lt;リポジトリパス&gt;

「ダンプファイル」形式のストリームを標準入力から読み、リポジトリのファイルシステムに新しいリビジョンとしてコミットします。リポジトリがそれまで空だった場合、その UUID はデフォルトではストリーム中で指定されたものに変更されます。進行状況のフィードバックは標準出力に送られます。

有効なオプション:
  -q [--quiet]             : 標準エラー出力に (エラー以外の) 進行状況を出力しません
  --ignore-uuid            : ストリーム中にリポジトリ UUID があっても無視します
  --force-uuid             : ストリーム中に UUID があればリポジトリに設定します
  --use-pre-commit-hook    : リビジョンをコミットする前に pre-commit フックを呼び出します
  --use-post-commit-hook   : リビジョンをコミットした後に post-commit フックを呼び出します
  --parent-dir &lt;ARG&gt;       : リポジトリ内の指定したディレクトリでロードします
</pre>

<p>関連資料：</p>

<ul>
<li><a href="http://www.caldron.jp/~nabetaro/svn/svnbook-1.5-final/html-chunk/index.html" title="Subversion によるバージョン管理">Subversion によるバージョン管理 For Subversion 1.5</a> &raquo; <a href="http://www.caldron.jp/~nabetaro/svn/svnbook-1.5-final/html-chunk/svn.ref.svnadmin.c.load.html" title="svnadmin load">svnadmin load</a></li>
<li><a href="http://svnbook.red-bean.com/index.en.html" title="">Version Control with Subversion</a> For Subversion 1.6 &raquo; <a href="http://svnbook.red-bean.com/nightly/en/svn.ref.svnadmin.c.load.html" title="svnadmin load">svnadmin load</a> （最新英語版・ナイトリービルド）</li>
</ul>

<h5 id="svnadmin-create">svnadmin create</h5>

<pre class="brush: powershell; collapse: true; light: false; toolbar: true; wrap-lines: true;">
C:\Users\bono&gt;svnadmin help create
create: 使用方法: svnadmin create &lt;リポジトリパス&gt;

空のリポジトリを &lt;リポジトリパス&gt; に新規に作成します。

有効なオプション:
  --bdb-txn-nosync         : トランザクションコミット時の fsync を無効にします [Berkeley DB]
  --bdb-log-keep           : ログファイルの自動削除を無効にします [Berkeley DB]
  --config-dir &lt;ARG&gt;       : ディレクトリ &lt;ARG&gt; からユーザ設定ファイルを読み込みます
  --fs-type &lt;ARG&gt;          : リポジトリ形式: 'fsfs' (デフォルト) または 'bdb'
  --pre-1.4-compatible     : Subversion バージョン 1.4 以前と互換性のある形式を使用します
  --pre-1.5-compatible     : Subversion バージョン 1.5 以前と互換性のある形式を使用します
  --pre-1.6-compatible     : use format compatible with Subversion versions earlier than 1.6
</pre>

<p>関連資料：</p>

<ul>
<li><a href="http://www.caldron.jp/~nabetaro/svn/svnbook-1.5-final/html-chunk/index.html" title="Subversion によるバージョン管理">Subversion によるバージョン管理 For Subversion 1.5</a> &raquo; <a href="http://www.caldron.jp/~nabetaro/svn/svnbook-1.5-final/html-chunk/svn.ref.svnadmin.c.create.html" title="svnadmin create">svnadmin create</a></li>
<li><a href="http://svnbook.red-bean.com/index.en.html" title="">Version Control with Subversion</a> For Subversion 1.6 &raquo; <a href="http://svnbook.red-bean.com/nightly/en/svn.ref.svnadmin.c.create.html" title="svnadmin create">svnadmin create</a> （最新英語版・ナイトリービルド）</li>
</ul>

<h5 id="svn-mkdir">svn mkdir</h5>

<pre class="brush: powershell; collapse: true; light: false; toolbar: true; wrap-lines: true;">
C:\Users\bono&gt;svn help mkdir
mkdir: 新しいディレクトリを作成しバージョン管理下におきます。
使用方法: 1. mkdir &lt;パス&gt;...
          2. mkdir &lt;URL&gt;...

  バージョン管理されたディレクトリを作成します。

  1. 作業コピーの &lt;パス&gt; で指定された各ディレクトリがローカルに作られ、次回のコミット時に追加されるよう準備されます。

  2. &lt;URL&gt; で指定された各ディレクトリが直接のコミットによってリポジトリ内に作られます。

  どちらの場合でも、--parents オプションが指定されていない場合は、途中のディレクトリはすべて存在していなくてはなりません。

有効なオプション:
  -q [--quiet]             : 何も表示しないか、要約情報のみを表示します
  --parents                : 途中のディレクトリを作成します
  -m [--message] &lt;ARG&gt;     : ログメッセージを &lt;ARG&gt; と指定します
  -F [--file] &lt;ARG&gt;        : ファイル &lt;ARG&gt; からログメッセージを読み込みます
  --force-log              : ログメッセージを含むファイルを強制的に有効にします
  --editor-cmd &lt;ARG&gt;       : 外部エディタとして &lt;ARG&gt; を用います
  --encoding &lt;ARG&gt;         : 文字エンコーディングが &lt;ARG&gt; であるとして処理します
  --with-revprop &lt;ARG&gt;     : 「名前[=値]」の形式で指定されたリビジョン属性
                             &lt;ARG&gt; を新しいリビジョンに設定します

グローバルオプション:
  --username &lt;ARG&gt;         : ユーザ名を &lt;ARG&gt; と指定します
  --password &lt;ARG&gt;         : パスワードを &lt;ARG&gt; と指定します
  --no-auth-cache          : 認証情報をキャッシュしません
  --non-interactive        : 対話式の認証用プロンプト表示をしません
  --trust-server-cert      : accept unknown SSL server certificates without prompting (but only with '--non-interactive')
  --config-dir &lt;ARG&gt;       : ディレクトリ &lt;ARG&gt; からユーザ設定ファイルを読み込みます
  --config-option &lt;ARG&gt;    : set user configuration option in the format:
                                 FILE:SECTION:OPTION=[VALUE]
                             For example:
                                 servers:global:http-library=serf
</pre>

<p>関連資料：</p>

<ul>
<li><a href="http://www.caldron.jp/~nabetaro/svn/svnbook-1.5-final/html-chunk/index.html" title="Subversion によるバージョン管理">Subversion によるバージョン管理 For Subversion 1.5</a> &raquo; <a href="http://www.caldron.jp/~nabetaro/svn/svnbook-1.5-final/html-chunk/svn.ref.svn.c.mkdir.html" title="svn mkdir">svn mkdir</a></li>
<li><a href="http://svnbook.red-bean.com/index.en.html" title="">Version Control with Subversion</a> For Subversion 1.6 &raquo; <a href="http://svnbook.red-bean.com/nightly/en/svn.ref.svn.c.mkdir.html" title="svn mkdir">svn mkdir</a> （最新英語版・ナイトリービルド）</li>
</ul>

<h5 id="svnadmin-upgrade">svnadmin upgrade</h5>

<pre class="brush: powershell; collapse: true; light: false; toolbar: true; wrap-lines: true;">
C:\Users\bono&gt;svnadmin help upgrade
upgrade: 使用方法: svnadmin upgrade &lt;リポジトリパス&gt;

&lt;リポジトリパス&gt; にあるリポジトリを、サポートされている最新のスキーマバージョンにアップグレードします。

この機能は、リポジトリ全体のダンプやロードという、高負荷になる可能性がある操作を行わずに、新しい Subversion の機能を利用できるようにするもので、そのようなことを望むリポジトリ管理者の利便性のために提供されています。そのため、アップグレードでは、リポジトリの完全性を維持しながら目的を実現するのに必要となる最小量の作業しか行われません。ダンプしたデータをロードすることで達成されるような、最も最適化されたリポジトリ状態になることは、保証されてはいません。
</pre>

<p>関連資料：</p>

<ul>
<li><a href="http://www.caldron.jp/~nabetaro/svn/svnbook-1.5-final/html-chunk/index.html" title="Subversion によるバージョン管理">Subversion によるバージョン管理 For Subversion 1.5</a> &raquo; <a href="http://www.caldron.jp/~nabetaro/svn/svnbook-1.5-final/html-chunk/svn.ref.svnadmin.c.upgrade.html" title="svnadmin upgrade">svnadmin upgrade</a></li>
<li><a href="http://svnbook.red-bean.com/index.en.html" title="">Version Control with Subversion</a> For Subversion 1.6 &raquo; <a href="http://svnbook.red-bean.com/nightly/en/svn.ref.svnadmin.c.upgrade.html" title="svnadmin upgrade">svnadmin upgrade</a> （最新英語版・ナイトリービルド）</li>
</ul>

<h5 id="svnadmin-verify">svnadmin verify</h5>

<pre class="brush: powershell; collapse: true; light: false; toolbar: true; wrap-lines: true;">
C:\Users\bono&gt;svnadmin help verify
verify: 使用方法: svnadmin verify &lt;リポジトリパス&gt;

リポジトリに保存されたデータを検証します。

有効なオプション:
  -r [--revision] &lt;ARG&gt;    : リビジョン番号を &lt;ARG&gt; (または範囲 X:Y) と指定します
  -q [--quiet]             : 標準エラー出力に (エラー以外の) 進行状況を出力しません
</pre>

<p>関連資料：</p>

<ul>
<li><a href="http://www.caldron.jp/~nabetaro/svn/svnbook-1.5-final/html-chunk/index.html" title="Subversion によるバージョン管理">Subversion によるバージョン管理 For Subversion 1.5</a> &raquo; <a href="http://www.caldron.jp/~nabetaro/svn/svnbook-1.5-final/html-chunk/svn.ref.svnadmin.c.verify.html" title="svnadmin verify">svnadmin verify</a></li>
<li><a href="http://svnbook.red-bean.com/index.en.html" title="">Version Control with Subversion</a> For Subversion 1.6 &raquo; <a href="http://svnbook.red-bean.com/nightly/en/svn.ref.svnadmin.c.verify.html" title="svnadmin verify">svnadmin verify</a> （最新英語版・ナイトリービルド）</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://bono.s206.xrea.com/2010/08/1851-merging_repositories/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WP: カテゴリウィジェットのカスタマイズ &#8211; オプション項目を追加・変更する</title>
		<link>http://bono.s206.xrea.com/2010/08/1960-wp_widget_categories_args/</link>
		<comments>http://bono.s206.xrea.com/2010/08/1960-wp_widget_categories_args/#comments</comments>
		<pubDate>Fri, 20 Aug 2010 12:00:39 +0000</pubDate>
		<dc:creator>ぼの</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://bono.s206.xrea.com/?p=1960</guid>
		<description><![CDATA[WordPress 3.0＋Twenty Tenテーマにしてウィジェットにまともに向き合ってみると、テンプレートタグに比べて指定できるオプションが格段に少ないでござる。。。カテゴリーウィジェットだと表示順はカテゴリ名順で固定、フィードへのリンクを付けられる設定項目もない。困った。。(´・ω・｀) そこで、フィルターフックを利用してオプションを変更したり追加したりしてみた。 目次： WordPress 3.0.1のカテゴリウィジェット カスタマイズ ぼのをさんの悩み 参考資料 WordPress 3.0.1のカテゴリウィジェット 463行目： wp_list_categories() に渡すパラメータ $cat_args（配列）を widget_categories_args フックでいじれるようになっている。 （ウィジェット画面で箇条書きを選んでいるので、ドロップダウンメニュー用の441～457行目は無視） /** * Categories widget class * * @since 2.8.0 */ class WP_Widget_Categories extends WP_Widget { function WP_Widget_Categories() { $widget_ops = array( 'classname' =&#62; 'widget_categories', 'description' =&#62; __( &#34;A list or dropdown of categories&#34; ) ); $this-&#62;WP_Widget('categories', [...]]]></description>
			<content:encoded><![CDATA[<p>WordPress 3.0＋Twenty Tenテーマにして<a href="http://wpdocs.sourceforge.jp/Appearance_Widgets_SubPanel" title="管理パネル/外観/ウィジェット - WordPress Codex 日本語版">ウィジェット</a>にまともに向き合ってみると、<a href="http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0" title="テンプレートタグ - WordPress Codex 日本語版">テンプレートタグ</a>に比べて指定できるオプションが格段に少ないでござる。。。カテゴリーウィジェットだと表示順はカテゴリ名順で固定、フィードへのリンクを付けられる設定項目もない。困った。。(´・ω・｀)</p>

<p>そこで、フィルターフックを利用してオプションを変更したり追加したりしてみた。</p>

<p><span id="more-1960"></span></p>

<div class="toc"><p>目次：</p>
<ol>
<li><a href="#h0">WordPress 3.0.1のカテゴリウィジェット</a></li>
<li><a href="#h1">カスタマイズ</a></li>
<li><a href="#h2">ぼのをさんの悩み</a></li>
<li><a href="#h3">参考資料</a></li>
</ol>
</div>

<h4 id="h0">WordPress 3.0.1のカテゴリウィジェット</h4>

<p>463行目： wp_list_categories() に渡すパラメータ <code>$cat_args</code>（配列）を <code>widget_categories_args</code> フックでいじれるようになっている。<br />
（ウィジェット画面で箇条書きを選んでいるので、ドロップダウンメニュー用の441～457行目は無視）</p>

<pre class="brush: php; first-line: 414; highlight: [438,462,463];">
/**
 * Categories widget class
 *
 * @since 2.8.0
 */
class WP_Widget_Categories extends WP_Widget {

    function WP_Widget_Categories() {
        $widget_ops = array( 'classname' =&gt; 'widget_categories', 'description' =&gt; __( &quot;A list or dropdown of categories&quot; ) );
        $this-&gt;WP_Widget('categories', __('Categories'), $widget_ops);
    }

    function widget( $args, $instance ) {
        extract( $args );

        $title = apply_filters('widget_title', empty( $instance['title'] ) ? __( 'Categories' ) : $instance['title'], $instance, $this-&gt;id_base);
        $c = $instance['count'] ? '1' : '0';
        $h = $instance['hierarchical'] ? '1' : '0';
        $d = $instance['dropdown'] ? '1' : '0';

        echo $before_widget;
        if ( $title )
            echo $before_title . $title . $after_title;

        $cat_args = array('orderby' =&gt; 'name', 'show_count' =&gt; $c, 'hierarchical' =&gt; $h);

        if ( $d ) {
            $cat_args['show_option_none'] = __('Select Category');
            wp_dropdown_categories(apply_filters('widget_categories_dropdown_args', $cat_args));
?&gt;

&lt;script type='text/javascript'&gt;
/* &lt;![CDATA[ */
    var dropdown = document.getElementById(&quot;cat&quot;);
    function onCatChange() {
        if ( dropdown.options[dropdown.selectedIndex].value &gt; 0 ) {
            location.href = &quot;&lt;?php echo home_url(); ?&gt;/?cat=&quot;+dropdown.options[dropdown.selectedIndex].value;
        }
    }
    dropdown.onchange = onCatChange;
/* ]]&gt; */
&lt;/script&gt;

&lt;?php
        } else {
?&gt;
        &lt;ul&gt;
&lt;?php
        $cat_args['title_li'] = '';
        wp_list_categories(apply_filters('widget_categories_args', $cat_args));
?&gt;
        &lt;/ul&gt;
&lt;?php
        }

        echo $after_widget;
    }
</pre>

<h4 id="h1">カスタマイズ</h4>

<p>wp-bonowoプラグイン<sup id="fnref:wp-bonowo"><a href="#fn:wp-bonowo" rel="footnote">1</a></sup>に次のコードを追加：</p>

<pre class="brush: php;">
add_filter( 'widget_categories_args',
    create_function('$cat_args',
    'return array_merge($cat_args, array(\'orderby\' =&gt; \'ID\', \'feed_image\' =&gt; \'/img/feed10.png\'));') );
</pre>

<p>パラメータ：</p>

<ul>
<li><code>orderby</code>: <code>name</code>（438行目で決め打ち） → <code>ID</code> に変更</li>
<li><code>feed_image</code>: パラメータ追加</li>
<li><code>title_li</code>: <code>''</code>（462行目で決め打ち） → <code>$cat_args</code> に入っているのをそのまま使用</li>
<li><code>show_count</code>, <code>hierarchical</code>: ウィジェット画面で指定 → <code>$cat_args</code> に入っているのをそのまま使用</li>
</ul>

<h4 id="h2">ぼのをさんの悩み</h4>

<ul>
<li>シングルクォートとダブルクォートの使い分け</li>
<li>クォートがいっぱい、エスケープもいっぱい。。。</li>
<li>配列の扱い方：

<ul>
<li>フックで配列をやり取りするとき、こんなんでだいじょぶ？</li>
<li><code>array_merge</code> でよいのかな。。</li>
</ul></li>
<li>この目的でここをいじるのは果たして正解か？普通はどうする？</li>
<li>クォート？クオート？</li>
</ul>

<p>（……はい、全部です。。orz）</p>

<h4 id="h3">参考資料</h4>

<ul>
<li><a href="http://core.trac.wordpress.org/browser/tags/3.0.1/wp-includes/default-widgets.php#L414" title="/tags/3.0.1/wp-includes/default-widgets.php – WordPress Trac">/tags/3.0.1/wp-includes/default-widgets.php – WP_Widget_Categories</a> &#8212; デフォルトウィジェットが定義されているファイル</li>
<li><a href="http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/wp_list_categories" title="テンプレートタグ/wp list categories - WordPress Codex 日本語版">テンプレートタグ/wp list categories</a> &#8212; パラメータの説明</li>
<li><a href="http://another.maple4ever.net/archives/1262/" title="hiromasa.another :o)» Blog Archive » WordPress 3.0 と プラグインアクション・フィルターフックへのクロージャ渡し">hiromasa.another &#58;o)» WordPress 3.0 と プラグインアクション・フィルターフックへのクロージャ渡し</a> &#8212; サーバが PHP 5.2.xだったので「5.3じゃなくても楽する方法」を使ってみた。命名下手なぼのをにはちょー便利。ありがとうありがとう！ <img src='http://bono.s206.xrea.com/wp/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
<li><a href="http://php.net/manual/ja/function.create-function.php" title="PHP: create_function - Manual">PHP: create_function &#8211; Manual</a> &#8212; 匿名関数を作成する <code>create_function</code> の使い方</li>
<li><a href="http://www.php.net/manual/ja/function.array-merge.php" title="PHP: array_merge - Manual">PHP: array_merge</a> &#8212; 「例3 簡単な array_merge() の例」に<q cite="http://www.php.net/manual/ja/function.array-merge.php">二番目の配列の要素を最初の配列に追加したい (最初の配列に存在する要素は上書きせず、添字も変更しない) 場合は、配列結合演算子 <code>+</code> を使います。</q>とあるが、今回は <code>orderby</code> の値を上書きしたかったので、<code>+</code> ではなく <code>array_merge</code> を使った。</li>
<li><a href="http://wpdocs.sourceforge.jp/%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3_API" title="プラグイン API - WordPress Codex 日本語版">プラグイン API</a> &#8212; そもそもフィルターフックとはなんぞや、とか</li>
</ul>

<div class="footnotes">
<hr />
<ol>

<li id="fn:wp-bonowo">
<p>このサイト用のミニプラグイン詰め合わせ。テーマを切り替えても使えるよう、<code>functions.php</code> じゃなくてプラグイン化している。&#160;<a href="#fnref:wp-bonowo" rev="footnote">&#8617;</a></p>
</li>

</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://bono.s206.xrea.com/2010/08/1960-wp_widget_categories_args/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>WP Theme: Thematic 0.9.6.2</title>
		<link>http://bono.s206.xrea.com/2010/08/1938-wp-themartic_0962/</link>
		<comments>http://bono.s206.xrea.com/2010/08/1938-wp-themartic_0962/#comments</comments>
		<pubDate>Thu, 19 Aug 2010 21:00:01 +0000</pubDate>
		<dc:creator>ぼの</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[テーマ]]></category>

		<guid isPermaLink="false">http://bono.s206.xrea.com/?p=1938</guid>
		<description><![CDATA[Thematic 0.9.6.2を入れてみるも、WordPress 3.0のナビゲーションメニュー機能に対応していないようだったので一旦 Twenty Tenに戻す。1 （ということをした、ということだけを綴る自分用ログ） &#35; しかし Twenty Tenだと自分の記事が見づらくて困る。。。orz 将来参考になるかもしれないリンク Thematic : A WordPress Theme Framework のススメ &#8212; おでこによる解説スライド RGBlog.net &#187; 【Thematic子テーマ作り覚書・その１】構造の図解 &#8212; 構造図解、関連資料リンクあり わーどぷれすっ！ &#187; Thematic 日本語リソース 自作テーマ＆プラグインをあちこち・あれこれウィジェット化しかけていたら、Thematicがそういう仕組みになっているっぽいことを知ってしまったのでした。おでこのスライドで……！ それならこれの子テーマを作るほうが早いかと思ったんだけどな。。 Twenty Tenは結構手直しが要りそうだし。。。ううーむ、悩む。&#160;&#8617;]]></description>
			<content:encoded><![CDATA[<p><a href="http://wordpress.org/extend/themes/thematic" title="WordPress › Thematic « Free WordPress Themes">Thematic</a> 0.9.6.2を入れてみるも、WordPress 3.0のナビゲーションメニュー機能に対応していないようだったので一旦 Twenty Tenに戻す。<sup id="fnref:1"><a href="#fn:1" rel="footnote">1</a></sup><br />
（ということをした、ということだけを綴る自分用ログ）</p>

<p>&#35; しかし Twenty Tenだと自分の記事が見づらくて困る。。。orz</p>

<h4>将来参考になるかもしれないリンク</h4>

<ul>
<li><a href="http://www.slideshare.net/odysseygate/themantic-a-wordpress-theme-framework" title="Thematic : A WordPress Theme Framework のススメ">Thematic : A WordPress Theme Framework のススメ</a> &#8212; <a href="http://www.odysseygate.com/" title="Odysseygate.com | WordPressでつづる、おでのこの道わが旅。">おでこ</a>による解説スライド</li>
<li><a href="http://www.rgblog.net/2010/02/21/thematic-structure-diagram/" title="【Thematic子テーマ作り覚書・その１】構造の図解">RGBlog.net &raquo; 【Thematic子テーマ作り覚書・その１】構造の図解</a> &#8212; 構造図解、関連資料リンクあり</li>
<li><a href="http://wp.tekapo.com/?s=Thematic+%E6%97%A5%E6%9C%AC%E8%AA%9E&amp;searchsubmit=%E6%A4%9C%E7%B4%A2" title="検索結果: Thematic 日本語">わーどぷれすっ！ &raquo; Thematic 日本語リソース</a></li>
</ul>

<div class="footnotes">
<hr />
<ol>

<li id="fn:1">
<p>自作テーマ＆プラグインをあちこち・あれこれウィジェット化しかけていたら、Thematicがそういう仕組みになっているっぽいことを知ってしまったのでした。おでこのスライドで……！<br />
それならこれの子テーマを作るほうが早いかと思ったんだけどな。。<br />
Twenty Tenは結構手直しが要りそうだし。。。ううーむ、悩む。&#160;<a href="#fnref:1" rev="footnote">&#8617;</a></p>
</li>

</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://bono.s206.xrea.com/2010/08/1938-wp-themartic_0962/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Subversion[up]: 1.6.12に統一 &#8211; TortoiseSVN・svnadminをアップグレード</title>
		<link>http://bono.s206.xrea.com/2010/08/1822-subversion_1612/</link>
		<comments>http://bono.s206.xrea.com/2010/08/1822-subversion_1612/#comments</comments>
		<pubDate>Tue, 17 Aug 2010 13:00:19 +0000</pubDate>
		<dc:creator>ぼの</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Subversion]]></category>

		<guid isPermaLink="false">http://bono.s206.xrea.com/?p=1822</guid>
		<description><![CDATA[複数のリポジトリをマージ（統合）する際の障害（※）を前向きに乗り越えるべく、TortoiseSVNとSubversion（コマンドライン版）のバージョンを最新に揃えることにし、アップグレードを決行した。 ※ 旧リポジトリのダンプを統合先の新リポジトリ（TortoiseSVNで作成）に読み込ませようとして svnadmin load すると、「svnadmin: 期待されるファイルシステム形式は 1 から &#8217;3&#8242; の間ですが、実際の形式は &#8217;4&#8242; です」と弾かれてしまう問題。Subversionのバージョン齟齬が原因らしい。後ろ向きな方法は2つ試したが、今回は前向きに。詳細は別記。 目次： 作業前の環境 最新版の捜索 TortoiseSVN Subversion TortoiseSVN 1.6.7→1.6.10へアップグレード Subversion（コマンドライン版） 1.5.6→1.6.12へアップグレード リポジトリ統合テスト 付録： svnadmin ヘルプ 作業前の環境 Windows Vista （32bit版） TortoiseSVN 1.6.7 TortoiseSVN 1.6.7, Build 18415 &#8211; 32 Bit , 2010/01/22 17:55:06 Subversion 1.6.9, apr 1.3.8 apr-utils 1.3.9 neon 0.29.3 OpenSSL 0.9.8k 25 Mar 2009 [...]]]></description>
			<content:encoded><![CDATA[<p>複数のリポジトリをマージ（統合）する際の障害（※）を前向きに乗り越えるべく、TortoiseSVNとSubversion（コマンドライン版）のバージョンを最新に揃えることにし、アップグレードを決行した。</p>

<p>※ 旧リポジトリのダンプを統合先の新リポジトリ（TortoiseSVNで作成）に読み込ませようとして <code>svnadmin load</code> すると、「svnadmin: 期待されるファイルシステム形式は 1 から &#8217;3&#8242; の間ですが、実際の形式は &#8217;4&#8242; です」と弾かれてしまう問題。Subversionのバージョン齟齬が原因らしい。後ろ向きな方法は2つ試したが、今回は前向きに。<a href="http://bono.s206.xrea.com/2010/08/1851-merging_repositories/" title="Subversion: 複数リポジトリの統合（マージ・結合）">詳細は別記</a>。</p>

<p><span id="more-1822"></span></p>

<div class="toc"><p>目次：</p>
<ol>
<li><a href="#h0">作業前の環境</a></li>
<li><a href="#h1">最新版の捜索</a>
<ol><li><a href="#h2-tortoisesvn">TortoiseSVN</a></li>
<li><a href="#h3-subversion">Subversion</a></li></ol>
</li>
<li><a href="#h4">TortoiseSVN 1.6.7→1.6.10へアップグレード</a></li>
<li><a href="#h5">Subversion（コマンドライン版） 1.5.6→1.6.12へアップグレード</a></li>
<li><a href="#h6">リポジトリ統合テスト</a></li>
<li><a href="#appendix">付録： svnadmin ヘルプ</a></li>
</ol>
</div>

<h4 id="h0">作業前の環境</h4>

<ul>
<li>Windows Vista （32bit版）</li>
<li><p>TortoiseSVN 1.6.7</p>

<blockquote>
  <p>TortoiseSVN 1.6.7, Build 18415 &#8211; 32 Bit , 2010/01/22 17:55:06
  Subversion 1.6.9,<br />
  apr 1.3.8<br />
  apr-utils 1.3.9<br />
  neon 0.29.3<br />
  OpenSSL 0.9.8k 25 Mar 2009<br />
  zlib 1.2.3</p>
</blockquote></li>
<li>svnadmin ＝ Subversion 1.5.6 （コマンドライン版）</li>
<li>作業者： ぼのを。英語苦手。subversion Lv:1。</li>
</ul>

<h4 id="h1">最新版の捜索</h4>

<p>前回マージに挑戦したとき（一年以上前）は、TortoiseSVNとつり合うバージョンのSubversionを見つけられなかった。<br />
今回はなるべく最新に近いバージョンでつり合うものを探す。</p>

<h5 id="h2-tortoisesvn">TortoiseSVN</h5>

<p><a href="http://tortoisesvn.net/downloads" title="TortoiseSVN downloads | TortoiseSVN"><code>TortoiseSVN-1.6.10.19898-win32-svn-1.6.12.msi</code></a></p>

<p>今使っている TortoiseSVN 1.6.7は、ファイル名が <code>TortoiseSVN-1.6.7.18415-win32-svn-1.6.9.msi</code> で Subversion 1.6.9だったので、「<code>svn-*.*.*</code>」のとこがSubversionのバージョンっぽい。</p>

<p>ということで、Subversion <strong>1.6.12</strong>にロックオン。</p>

<h5 id="h3-subversion">Subversion</h5>

<p>プロジェクトのサイト <a href="http://subversion.tigris.org/" title="subversion.tigris.org">subversion.tigris.org</a>に行くと、<br />
<q cite="http://subversion.tigris.org/">This is the former website of the Subversion software project, which now calls <a href="http://subversion.apache.org/" title="Apache Subversion">subversion.apache.org</a> home.</q><br />
と書かれている。サイト移転した模様。スｶﾞ━━ΣΣ(ﾟДﾟ;)━━ﾝ <sup id="fnref:wikipedia"><a href="#fn:wikipedia" rel="footnote">1</a></sup></p>

<p>一応Tigris.orgサイト内を見てみたけど、</p>

<ul>
<li><a href="http://subversion.tigris.org/servlets/ProjectDocumentList?expandFolder=74&amp;folderID=91" title="subversion: ドキュメント &amp; ファイル: Windows Binaries">subversion: ドキュメント &amp; ファイル: Windows Binaries</a>にはファイルがない。  </li>
<li><a href="http://www.tigris.org/" title="Tigris.org: Open Source Software Engineering">サイトアナウンス</a>に載っているリリースも <a href="http://subversion.tigris.org/servlets/NewsItemView?newsItemID=2329" title="Subversion 1.6.6 Released">Subversion 1.6.6 Released</a>（2009-10-21）が最後。</li>
</ul>

<p>というわけで、</p>

<ol>
<li>観念して <a href="http://subversion.apache.org/" title="Apache Subversion">Apache Subversion</a>のサイトに移動。</li>
<li>サイドバーから、Getting Subversion > <a href="http://subversion.apache.org/packages.html" title="Subversion Binary Packages">Binary Packages</a></li>
<li><p><a href="http://subversion.apache.org/packages.html#windows" title="Subversion Binary Packages">Windows</a>をクリックする。<br />
が、複数あってどれがいいのか分からなぁーい。(>_&lt;)</p>

<ul>
<li><p><a href="http://www.collab.net/downloads/subversion/" title="CollabNet Subversionダウンロード">CollabNet</a> (professionally supported and certified by CollabNet)</p>

<blockquote>
  <p>Subversionは、グローバルな分散型組織に向けたバージョン管理とソフトウェア構成管理（SCM）の新たなスタンダードです。CollabNet Subversionはエンタープライズ対応の分散型Subversionで、Eclipse、HP Quality Center、およびIBM Rational ClearCaseの認定バイナリ、プラットフォーム別インストーラ、認定プラグインを含みます。</p>
</blockquote>

<p>なんかEclipseとかも入った大掛かりなパッケージみたい？<br />
「<strong>CollabNet Subversion Command-Line Client v1.6.12 (for Windows)</strong>」っていうのがあるけど、<q>Platforms: Windows XP SP2, Windows Server 2003, Standard Edition</q> だし、ダウンロードするにはユーザ登録も必要みたい。</p></li>
<li><p><a href="http://www.sliksvn.com/en/download" title="Download Subversion Client | Slik SVN">SlikSVN</a> (32- and 64-bit client MSI; maintained by Bert Huijben, SharpSvn project)<br />
「MSI」に惹かれるが。。</p>

<blockquote>
  <p>We provide a standalone command line Subversion package for Windows. The installer contains all command line tools (svn, svnadmin, svnsync, svnserve, svnmucc, etc.) but no application bindings nor Apache modules.</p>
</blockquote>

<p>こ、これか！これなのか――！！<br />
……ハイ、もういいです、これにします。<br />
あと2つあるけど英語読むのに疲れますた。orz</p></li>
</ul></li>
</ol>

<p>てなわけで、アップグレード決行であります。</p>

<h4 id="h4">TortoiseSVN 1.6.7→1.6.10へアップグレード</h4>

<p>配布元に注意書きあり。英語からの逃避に失敗。orz</p>

<blockquote cite="http://tortoisesvn.net/downloads">

<p><strong>Important Note</strong><br />
If you&#8217;re updating from an earlier version (pre 1.6.10), you have to run the installation twice. Just use the &quot;Repair Install&quot; the second time.</p>

<p>If you want to know the details about why the repair install is necessary, read <a href="http://tortoisesvn.net/majorupgrade" title="Problems with upgrading | TortoiseSVN">my post</a> about it.</p>

<address><a href="http://tortoisesvn.net/downloads" title="">TortoiseSVN downloads | TortoiseSVN</a></address>

</blockquote>

<p>旧バージョン（1.6.10未満）からアップグレードする場合、インストールを2回実行する必要あり。2回目は「Repair Install」でね、とのこと。</p>

<p>いざ。</p>

<ol>
<li><a href="http://tortoisesvn.net/downloads" title="TortoiseSVN downloads | TortoiseSVN">TortoiseSVN &raquo; downloads</a>より次の2つをダウンロード。

<ul>
<li>本体： <strong>Download Application</strong>の <code>TortoiseSVN-1.6.10.19898-win32-svn-1.6.12.msi</code></li>
<li>日本語化： <strong>Language packs</strong>のJapanese・32Bit（<code>LanguagePack_1.6.10.19898-win32-ja.msi</code>）</li>
</ul></li>
<li><code>TortoiseSVN-1.6.10.19898-win32-svn-1.6.12.msi</code>をダブルクリックしてセットアップウィザードを起動し、インストールを実行。</li>
<li>PC再起動を求められるので素直に再起動。<br />
（再起動後に試しにデスクトップ上で右クリックしてみると、TortoiseSVNのメニューが出ない。Windowsの「プログラムのアンインストールと変更」画面の一覧には載っている）</li>
<li>いざ2回目。もう一度 <code>TortoiseSVN-1.6.10.19898-win32-svn-1.6.12.msi</code>をダブルクリックし、セットアップウィザードを起動。

<ol>
<li>「Next >」をクリック</li>
<li>「Modify」「Repair」「Remove」の3ボタンから選ぶ画面になるので、「Repair」をクリック</li>
<li>確認画面（Click Repair to repair the instllation of ～）になるので、「Repair」をクリック</li>
</ol></li>
<li>終了するとPC再起動を求められるので、やはり素直に再起動。<br />
（再起動後に右クリックしてみると、今度はTortoiseSVNのメニューが出た）</li>
<li>日本語化するため、<code>LanguagePack_1.6.10.19898-win32-ja.msi</code>をダブルクリックしてインストール。</li>
</ol>

<p>で完了。</p>

<p>バージョン情報：</p>

<blockquote>
  <p>TortoiseSVN 1.6.10, Build 19898 &#8211; 32 Bit , 2010/07/16 15:46:08
  Subversion 1.6.12,<br />
  apr 1.3.8<br />
  apr-utils 1.3.9<br />
  neon 0.29.3<br />
  OpenSSL 0.9.8o 01 Jun 2010<br />
  zlib 1.2.3</p>
</blockquote>

<h4 id="h5">Subversion（コマンドライン版） 1.5.6→1.6.12へアップグレード</h4>

<ol>
<li><a href="http://www.sliksvn.com/en/download" title="Download Subversion Client | Slik SVN">Download Subversion Client | Slik SVN</a>から「SlikSVN 1.6.12 32bit edition」をポチっとな。</li>
<li>今までとは別製品っぽいので、旧バージョン Subversion 1.5.6を一旦アンインストールしておいてみる。<br />
（これの発行元、CollabNetってなってるんだけどな。。）</li>
<li>言われないけど一応PC再起動</li>
<li><code>Slik-Subversion-1.6.12-win32.msi</code> をダブルクリックして、セットアップウィザードを起動

<ol>
<li>一応「Custom Setup」を覗くと、Repository Toolsに svnadminが入ってる模様。デフォルトではsvnserveは入らないけど使わないよね、ということで、デフォルトのまま続行、インストール。</li>
</ol></li>
<li><p>コマンドプロンプトでバージョンを確認</p>

<pre class="brush: bash; highlight: [2]; wrap-lines: true;">
C:\Users\bono&gt;svnadmin --version
svnadmin, バージョン 1.6.12 (SlikSvn/1.6.12) WIN32
   コンパイル日時: Jun 22 2010, 20:45:29

Copyright (C) 2000-2009 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet (http://www.Collab.Net/).

以下のリポジトリバックエンド (FS) モジュールが利用できます:

* fs_base : Berkeley DB リポジトリを扱うためのモジュール。
* fs_fs : プレインファイル (FSFS) リポジトリを扱うためのモジュール。


C:\Users\bono&gt;
</pre>

<p><a href="#appendix">ヘルプ</a>を見たところ、一部日本語化されていなかったり、増えたコマンドやオプションはあったけど、使いそうなコマンドの機能が劣ることはなさそう。</p></li>
<li><p>コントロールパネル > プログラムと機能 では「Slik Subversion 1.6.12 (x86)」</p></li>
</ol>

<h4 id="h6">リポジトリ統合テスト</h4>

<p>肝心の懸案事項がクリアできるか。</p>

<ol>
<li>Windowsで新規フォルダを作成、「wpextendRepos」にリネーム。</li>
<li>右クリックして、TortoiseSVN &#8211; ここにリポジトリを作成</li>
<li><p>コマンドプロンプトで</p>

<pre class="brush: bash; wrap-lines: true;">
C:\Users\bono&gt;svnadmin dump H:\Develop\svn\wp\ps_modified_info &gt; ps_modified_info.proj
* リビジョン 0 をダンプしました。
* リビジョン 1 をダンプしました。
* リビジョン 2 をダンプしました。

C:\Users\bono&gt;svn mkdir file:///H:/Develop/svn/wpextendRepos/ps_modified_info -m &quot;make directory to merge repositories&quot;

リビジョン 1 をコミットしました。

C:\Users\bono&gt;svnadmin load H:\Develop\svn\wpextendRepos --parent-dir ps_modified_info &lt; ps_modified_info.proj
&lt;&lt;&lt; オリジナルのリビジョン 1 に基づき、新しいトランザクションを開始しました
     * パスを追加しています : ps_modified_info/branches ... 完了しました。
     * パスを追加しています : ps_modified_info/tags ... 完了しました。
     * パスを追加しています : ps_modified_info/trunk ... 完了しました。
     * パスを追加しています : ps_modified_info/trunk/ps_modified_info.php ... 完了しました。

------- 新しいリビジョン 2 を (オリジナルのリビジョン 1 からロードして) コミットしました &gt;&gt;&gt;

&lt;&lt;&lt; オリジナルのリビジョン 2 に基づき、新しいトランザクションを開始しました
     * パスを追加しています : ps_modified_info/tags/wp233_080823 ...COPIED... 完了しました。

------- 新しいリビジョン 3 を (オリジナルのリビジョン 2 からロードして) コミットしました &gt;&gt;&gt;


C:\Users\bono&gt;
</pre></li>
<li>右クリックして TortoiseSVN &#8211; リポジトリブラウザ で見てみると、ちゃんと取り込まれてるー！ファイルの中身もok。<br />
やほーい！ヽ(・∀・)人(・∀・)ノ</li>
</ol>

<p>次号、いよいよリポジトリの統合、本番です。</p>

<h4 id="appendix">付録： svnadmin ヘルプ</h4>

<pre class="brush: bash; wrap-lines: true;">
C:\Users\bono&gt;svnadmin --version
svnadmin, バージョン 1.6.12 (SlikSvn/1.6.12) WIN32
   コンパイル日時: Jun 22 2010, 20:45:29

Copyright (C) 2000-2009 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet (http://www.Collab.Net/).

以下のリポジトリバックエンド (FS) モジュールが利用できます:

* fs_base : Berkeley DB リポジトリを扱うためのモジュール。
* fs_fs : プレインファイル (FSFS) リポジトリを扱うためのモジュール。


C:\Users\bono&gt;svnadmin help
一般的な使用方法: svnadmin &lt;サブコマンド&gt; &lt;リポジトリパス&gt; \
                           [&lt;引数やオプション&gt; ...]
特定のサブコマンドに関するヘルプを読みたいときは 'svnadmin help &lt;サブコマンド&gt;'と打ってください。
プログラムのバージョンや FS モジュールを参照するには 'svnadmin --version' と打ってください。

利用可能なサブコマンド:
   crashtest
   create
   deltify
   dump
   help (?, h)
   hotcopy
   list-dblogs
   list-unused-dblogs
   load
   lslocks
   lstxns
   pack
   recover
   rmlocks
   rmtxns
   setlog
   setrevprop
   setuuid
   upgrade
   verify


C:\Users\bono&gt;svnadmin help dump
dump: usage: svnadmin dump REPOS_PATH [-r LOWER[:UPPER] [--incremental]]

Dump the contents of filesystem to stdout in a 'dumpfile' portable format, sending feedback to stderr.  Dump revisions LOWER rev through UPPER rev.  If no revisions are given, dump all revision trees.  If only LOWER is given, dump that one revision tree.
If --incremental is passed, the first revision dumped will describe only the paths changed in that revision; otherwise it will describe every path present in the repository as of that revision.  (In either case, the second and subsequent revisions, if any, describe only paths changed in those revisions.)

有効なオプション:
  -r [--revision] &lt;ARG&gt;    : リビジョン番号を &lt;ARG&gt; (または範囲 X:Y) と指定します
  --incremental            : 増分のみをダンプします
  --deltas                 : ダンプの出力として差分を用います
  -q [--quiet]             : 標準エラー出力に (エラー以外の) 進行状況を出力しません


C:\Users\bono&gt;svnadmin help load
load: 使用方法: svnadmin load &lt;リポジトリパス&gt;

「ダンプファイル」形式のストリームを標準入力から読み、リポジトリのファイルシステムに新しいリビジョンとしてコミットします。リポジトリがそれまで空だった場合、その UUID はデフォルトではストリーム中で指定されたものに変更されます。進行状況のフィードバックは標準出力に送られます。

有効なオプション:
  -q [--quiet]             : 標準エラー出力に (エラー以外の) 進行状況を出力しません
  --ignore-uuid            : ストリーム中にリポジトリ UUID があっても無視します
  --force-uuid             : ストリーム中に UUID があればリポジトリに設定します
  --use-pre-commit-hook    : リビジョンをコミットする前に pre-commit フックを呼び出します
  --use-post-commit-hook   : リビジョンをコミットした後に post-commit フックを呼び出します
  --parent-dir &lt;ARG&gt;       : リポジトリ内の指定したディレクトリでロードします


C:\Users\bono&gt;svnadmin help create
create: 使用方法: svnadmin create &lt;リポジトリパス&gt;

空のリポジトリを &lt;リポジトリパス&gt; に新規に作成します。

有効なオプション:
  --bdb-txn-nosync         : トランザクションコミット時の fsync を無効にします [Berkeley DB]
  --bdb-log-keep           : ログファイルの自動削除を無効にします [Berkeley DB]
  --config-dir &lt;ARG&gt;       : ディレクトリ &lt;ARG&gt; からユーザ設定ファイルを読み込みます
  --fs-type &lt;ARG&gt;          : リポジトリ形式: 'fsfs' (デフォルト) または 'bdb'
  --pre-1.4-compatible     : Subversion バージョン 1.4 以前と互換性のある形式を使用します
  --pre-1.5-compatible     : Subversion バージョン 1.5 以前と互換性のある形式を使用します
  --pre-1.6-compatible     : use format compatible with Subversion versions earlier than 1.6


C:\Users\bono&gt;svnadmin help upgrade
upgrade: 使用方法: svnadmin upgrade &lt;リポジトリパス&gt;

&lt;リポジトリパス&gt; にあるリポジトリを、サポートされている最新のスキーマバージョンにアップグレードします。

この機能は、リポジトリ全体のダンプやロードという、高負荷になる可能性がある操作を行わずに、新しい Subversion の機能を利用できるようにするもので、そのようなことを望むリポジトリ管理者の利便性のために提供されています。そのため、アップグレードでは、リポジトリの完全性を維持しながら目的を実現するのに必要となる最小量の作業しか行われません。ダンプしたデータをロードすることで達成されるような、最も最適化されたリポジトリ状態になることは、保証されてはいません。

C:\Users\bono&gt;
</pre>

<div class="footnotes">
<hr />
<ol>

<li id="fn:wikipedia">
<p>後で<a href="http://ja.wikipedia.org/wiki/Subversion" title="Subversion - Wikipedia">Wikipedia</a>を見たら<q cite="http://ja.wikipedia.org/wiki/Subversion">2009年11月7日にApache Incubatorプロジェクトのひとつとなった。</q>って書いてあったー。ありがとうウィキペディアン。コマンドラインツールのことも教えて～。&#160;<a href="#fnref:wikipedia" rev="footnote">&#8617;</a></p>
</li>

</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://bono.s206.xrea.com/2010/08/1822-subversion_1612/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WP: Subversionで3.0→3.0.1へアップグレード</title>
		<link>http://bono.s206.xrea.com/2010/08/1745-wp_30_to_301_with_subversion/</link>
		<comments>http://bono.s206.xrea.com/2010/08/1745-wp_30_to_301_with_subversion/#comments</comments>
		<pubDate>Sat, 31 Jul 2010 16:00:55 +0000</pubDate>
		<dc:creator>ぼの</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[core]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[アップグレード]]></category>

		<guid isPermaLink="false">http://bono.s206.xrea.com/?p=1745</guid>
		<description><![CDATA[WordPress 3.0.1へアップグレード。今回はDBバージョン（db_version）が変わるので、データベースの更新アリ。 マイナーアップグレードなので一部手抜きして、下記のうち取り消し線の作業を省略した。 準備 XREA 管理画面 > ホスト情報登録 で [SSH登録] ボタンをクリック （5-10分かかると表示されるが 1-2分で使えるようになる） WPファイル一式バックアップ FTPでローカルへコピー （サーバ上で画像・プラグイン等追加／変更したときはローカルにコピーするようにしてるけど、念のため、他のシステムも含めて public_html/ ディレクトリをまるっとコピー） ローカルリ svnリポジトリにタグ打ち （この時点の構成として記録） DBバックアップ前に WordPress管理パネルでスパムコメント削除 phpMyAdminでオーバーヘッドのあるテーブルを最適化 DB バックアップ 3種 WordPress管理パネル > ツール > エクスポート XREA 管理画面 > データベース で「保存」 phpMyAdmin でエクスポート 全テーブル WordPress以外の各システム WordPress WordPress本体のみ WordPressプラグイン用テーブルのみ WordPress設定控え （画面コピー） プラグイン一覧 各設定画面（プラグイン含む） アップグレード実行 全プラグインを無効化、デフォルトテーマに切り替え Poderosa 起動、タグを切り替える svn sw http://core.svn.wordpress.org/tags/3.0.1/ [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://ja.wordpress.org/2010/07/30/wordpress-3-0-1/" title="WordPress | 日本語 » WordPress 3.0.1">WordPress 3.0.1</a>へアップグレード。今回は<a href="http://wpdocs.sourceforge.jp/WordPress_Versions" title="WordPress Versions - WordPress Codex 日本語版">DBバージョン（<code>db_version</code>）が変わる</a>ので、データベースの更新アリ。</p>

<p>マイナーアップグレードなので一部手抜きして、下記のうち取り消し線の作業を省略した。</p>

<p><span id="more-1745"></span></p>

<h4>準備</h4>

<ol>
<li>XREA 管理画面 > ホスト情報登録 で [SSH登録] ボタンをクリック<br />
（5-10分かかると表示されるが 1-2分で使えるようになる）</li>
<li>WPファイル一式バックアップ

<ul>
<li><del>FTPでローカルへコピー<br />
（サーバ上で画像・プラグイン等追加／変更したときはローカルにコピーするようにしてるけど、念のため、他のシステムも含めて <code>public_html/</code> ディレクトリをまるっとコピー）</del></li>
<li>ローカルリ svnリポジトリにタグ打ち （この時点の構成として記録）</li>
</ul></li>
<li>DBバックアップ前に

<ol>
<li>WordPress管理パネルでスパムコメント削除</li>
<li>phpMyAdminでオーバーヘッドのあるテーブルを最適化</li>
</ol></li>
<li>DB バックアップ 3種

<ul>
<li><del>WordPress管理パネル > ツール > エクスポート</del></li>
<li>XREA 管理画面 > データベース で「保存」</li>
<li>phpMyAdmin でエクスポート

<ul>
<li>全テーブル</li>
<li><del>WordPress以外の各システム</del></li>
<li>WordPress</li>
<li><del datetime="2010-07-31T15:53:53+00:00">WordPress本体のみ</del></li>
<li><del datetime="2010-07-31T15:53:53+00:00">WordPressプラグイン用テーブルのみ</del></li>
</ul></li>
</ul></li>
<li><del datetime="2010-07-31T15:53:53+00:00">WordPress設定控え （画面コピー）</del>

<ul>
<li><del datetime="2010-07-31T15:53:53+00:00">プラグイン一覧</del></li>
<li><del datetime="2010-07-31T15:53:53+00:00">各設定画面（プラグイン含む）</del></li>
</ul></li>
</ol>

<h4>アップグレード実行</h4>

<ol>
<li><del datetime="2010-07-31T15:53:53+00:00">全プラグインを無効化、デフォルトテーマに切り替え</del></li>
<li><p>Poderosa 起動、タグを切り替える<br />
<code>svn sw http://core.svn.wordpress.org/tags/3.0.1/ public_html/wp</code><br />
（↑ XREA無料版では <code>cd</code> でディレクトリ移動できないためこんなん）</p>

<pre><code>bono@s206:~&gt; pwd
/virtual/bono
bono@s206:~&gt; svn sw http://core.svn.wordpress.org/tags/3.0.1/ public_html/wp
U    public_html/wp/wp-signup.php
U    public_html/wp/wp-includes/default-filters.php
U    public_html/wp/wp-includes/nav-menu-template.php
U    public_html/wp/wp-includes/taxonomy.php
U    public_html/wp/wp-includes/class-http.php
U    public_html/wp/wp-includes/update.php
U    public_html/wp/wp-includes/post.php
U    public_html/wp/wp-includes/version.php
U    public_html/wp/wp-includes/default-widgets.php
U    public_html/wp/wp-includes/theme.php
U    public_html/wp/wp-includes/comment-template.php
U    public_html/wp/wp-includes/ms-blogs.php
U    public_html/wp/wp-includes/query.php
U    public_html/wp/wp-includes/link-template.php
U    public_html/wp/wp-includes/wp-db.php
U    public_html/wp/wp-includes/formatting.php
U    public_html/wp/wp-includes/ms-deprecated.php
U    public_html/wp/wp-includes/general-template.php
U    public_html/wp/wp-includes/canonical.php
U    public_html/wp/wp-includes/capabilities.php
U    public_html/wp/wp-includes/ms-load.php
U    public_html/wp/wp-includes/classes.php
U    public_html/wp/wp-includes/deprecated.php
U    public_html/wp/wp-includes/kses.php
U    public_html/wp/wp-includes/ms-functions.php
U    public_html/wp/wp-includes/meta.php
U    public_html/wp/wp-includes/nav-menu.php
U    public_html/wp/wp-app.php
U    public_html/wp/xmlrpc.php
U    public_html/wp/wp-content/themes/twentyten/style.css
U    public_html/wp/wp-content/themes/twentyten/functions.php
U    public_html/wp/wp-content/themes/twentyten/loop.php
U    public_html/wp/wp-content/themes/twentyten/page.php
U    public_html/wp/wp-content/themes/twentyten/languages/twentyten.pot
U    public_html/wp/wp-content/themes/twentyten/editor-style.css
U    public_html/wp/wp-content/themes/twentyten/header.php
U    public_html/wp/wp-content/themes/twentyten/attachment.php
U    public_html/wp/readme.html
U    public_html/wp/wp-admin/ms-edit.php
U    public_html/wp/wp-admin/edit-comments.php
U    public_html/wp/wp-admin/admin-ajax.php
U    public_html/wp/wp-admin/includes/bookmark.php
U    public_html/wp/wp-admin/includes/post.php
U    public_html/wp/wp-admin/includes/dashboard.php
U    public_html/wp/wp-admin/includes/upgrade.php
U    public_html/wp/wp-admin/includes/class-wp-upgrader.php
U    public_html/wp/wp-admin/includes/schema.php
U    public_html/wp/wp-admin/includes/meta-boxes.php
U    public_html/wp/wp-admin/includes/update-core.php
U    public_html/wp/wp-admin/includes/template.php
U    public_html/wp/wp-admin/includes/user.php
U    public_html/wp/wp-admin/includes/ms.php
U    public_html/wp/wp-admin/includes/media.php
U    public_html/wp/wp-admin/includes/export.php
U    public_html/wp/wp-admin/includes/nav-menu.php
U    public_html/wp/wp-admin/includes/class-wp-importer.php
U    public_html/wp/wp-admin/edit-tags.php
U    public_html/wp/wp-admin/admin.php
U    public_html/wp/wp-admin/edit-attachment-rows.php
U    public_html/wp/wp-admin/ms-sites.php
U    public_html/wp/wp-admin/user-new.php
U    public_html/wp/wp-admin/menu.php
U    public_html/wp/wp-admin/nav-menus.php
U    public_html/wp/wp-admin/plugins.php
U    public_html/wp/wp-admin/edit.php
U    public_html/wp/wp-admin/press-this.php
U    public_html/wp/wp-admin/install.php
U    public_html/wp/wp-admin/update-core.php
U    public_html/wp/wp-admin/import.php
U    public_html/wp/wp-admin/export.php
Updated to revision 15483.
</code></pre></li>
<li><p>ブラウザで管理パネル（<code>wp/wp-admin/</code>）にアクセスしようとすると、<br />
「Database Upgrade Required」画面が表示されるので、「Upgrade WordPress Database」ボタンをクリック。</p>

<pre><code>**Upgrade Complete**

Your WordPress database has been successfully upgraded!
</code></pre>

<p>「Continue」ボタンをクリック、で完了！ <img src='http://bono.s206.xrea.com/wp/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p></li>
</ol>

<h4>関連リンク</h4>

<ul>
<li>リリースアナウンス（和訳版）： <a href="http://ja.wordpress.org/2010/07/30/wordpress-3-0-1/" title="WordPress | 日本語 » WordPress 3.0.1">WordPress | 日本語 » WordPress 3.0.1</a></li>
<li>リリースノート、改訂ファイル一覧： <a href="http://codex.wordpress.org/Version_3.0.1" title="Version 3.0.1 « WordPress Codex">WordPress Codex &raquo; Version 3.0.1</a></li>
<li>変更点一覧： <a href="http://core.trac.wordpress.org/query?group=status&amp;milestone=3.0.1" title="Custom Query – WordPress Trac">WordPress Trac &#8211; Milestone 3.0.1</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://bono.s206.xrea.com/2010/08/1745-wp_30_to_301_with_subversion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WP Plugin: 動作環境検診プラグイン &#8211; Health Check 0.1</title>
		<link>http://bono.s206.xrea.com/2010/07/1712-wp_health-check_01/</link>
		<comments>http://bono.s206.xrea.com/2010/07/1712-wp_health-check_01/#comments</comments>
		<pubDate>Wed, 28 Jul 2010 15:00:42 +0000</pubDate>
		<dc:creator>ぼの</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://bono.s206.xrea.com/?p=1712</guid>
		<description><![CDATA[PHP 4・MySQL 4対応は WordPress 3.1で終わり、WordPress 3.2からは動作要件が PHP 5.2以上、MySQL 5.0.15 以上となる――、ということで、動作環境をチェックするプラグインを用意してくれたので、うちのサーバもチェック。 Health Check 機能概要サーバが WordPress 3.2 に対応しているかどうかチェックする。将来は他の問題点もチェックしてくれるようになるらしい。 バージョン0.1 (2010-7-22) 作者（web)The WordPress.org communityさま 配布元WordPress Plugins &#187; Health Check ドキュメント 同上 動作見本&#8211; 「ページ」対応&#8211; 適用したWPWordPress 3.0 [UTF-8] （稼働環境） 導入手順 Plugins > Add New 画面を開く Term: 「Health Check」と入力して「Serach Plugins」ボタンをクリック 「Details」をクリックしてプラグインディレクトリの情報が出たら、 右上の Install Now ボタンをクリック Installing Plugin: Health Check 0.1 Downloading [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://wordpress.org/news/2010/07/eol-for-php4-and-mysql4/" title="WordPress › News » PHP 4 and MySQL 4 End of Life Announcement">PHP 4・MySQL 4対応は WordPress 3.1で終わり、WordPress 3.2からは動作要件が PHP 5.2以上、MySQL 5.0.15 以上となる</a>――、ということで、動作環境をチェックするプラグインを用意してくれたので、うちのサーバもチェック。</p>

<table class="introduction">
<caption>Health Check</caption>
<tr><th>機能概要</th><td>サーバが WordPress 3.2 に対応しているかどうかチェックする。将来は他の問題点もチェックしてくれるようになるらしい。</td></tr>
<tr><th>バージョン</th><td>0.1 (2010-7-22)</td></tr>
<tr><th>作者（web)</th><td>The WordPress.org communityさま</td></tr>
<tr><th>配布元</th><td><a href="http://wordpress.org/extend/plugins/health-check/" title="WordPress › Health Check « WordPress Plugins">WordPress Plugins &raquo; Health Check</a></td></tr>
<tr><th>ドキュメント</th><td>

<p>同上</p>

</td></tr>
<tr><th>動作見本</th><td>&#8211;</td></tr>
<tr><th>「ページ」対応</th><td>&#8211;</td></tr>
<tr><th>適用したWP</th><td>WordPress 3.0 [UTF-8] （<a href="http://bono.s206.xrea.com/wordpress/" title="WordPress">稼働環境</a>）</td></tr>
</table>

<p><span id="more-1712"></span></p>

<h4 id="installation">導入手順</h4>

<ol>
<li>Plugins > Add New 画面を開く</li>
<li>Term: 「Health Check」と入力して「Serach Plugins」ボタンをクリック</li>
<li>「Details」をクリックしてプラグインディレクトリの情報が出たら、</li>
<li><p>右上の <span class="wporg-action-button">Install Now</span> ボタンをクリック</p>

<blockquote>
  <p>Installing Plugin: Health Check 0.1</p>
  
  <p>Downloading install package from http://downloads.wordpress.org/plugin/health-check.0.1.zip…<br />
  Unpacking the package…<br />
  Installing the plugin…</p>
  
  <p>Successfully installed the plugin Health Check 0.1.</p>
  
  <p>Actions: Activate Plugin | Return to Plugin Installer</p>
</blockquote></li>
<li>「Activate Plugin」をクリックして有効化</li>
</ol>

<p>サーバには <code>wp-content/plugins/health-check</code> ディレクトリが出来る。</p>

<h4 id="usage">使い方</h4>

<p>プラグインを有効化すると、プラグイン管理画面の上部に次のようなメッセージが表示される。<br />
（有効化したときだけ見られるっぽい。他の画面や当画面を再表示したときは表示されない）</p>

<p class="screen"><strong>Excellent</strong>: Your server is running PHP version 5.2.5 and MySQL version 5.1.11 which will be great for WordPress 3.2 onward.</p>

<p>（訳）<br />
<strong>優秀</strong>： あなたのサーバは、WordPress 3.2 以降にも適した PHP バージョン 5.2.5 ならびに MySQL バージョン 5.1.11 が稼動しています。</p>

<ul>
<li>動作要件を満たさないときは警告が表示される。</li>
<li>見終わったら無効化。  </li>
<li>サーバがアップグレードした場合、再度有効化してチェックする。</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://bono.s206.xrea.com/2010/07/1712-wp_health-check_01/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WP: Subversionで2.9.2→3.0へアップグレード</title>
		<link>http://bono.s206.xrea.com/2010/07/1466-wp_292_to_30_with_subversion/</link>
		<comments>http://bono.s206.xrea.com/2010/07/1466-wp_292_to_30_with_subversion/#comments</comments>
		<pubDate>Fri, 09 Jul 2010 14:45:41 +0000</pubDate>
		<dc:creator>ぼの</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[core]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[アップグレード]]></category>

		<guid isPermaLink="false">http://bono.s206.xrea.com/?p=1466</guid>
		<description><![CDATA[WordPress 2.9.1から3.0へアップグレードしているところ。作業内容をリアルタイム更新。 目次： サーバ環境の確認 本体アップグレード作業 準備 アップグレード実行 サーバ環境の確認 サーバ要件変更なし 本体アップグレード作業 準備 XREA 管理画面 > ホスト情報登録 で [SSH登録] ボタンをクリック （5-10分かかると表示されるが 1-2分で使えるようになる） WP ファイル一式バックアップ FTP でローカルへコピー （サーバ上で画像・プラグイン等追加／変更したときはローカルにコピーするようにしてるけど、念のため、他のシステムも含めて public_html/ ディレクトリをまるっとコピー） ローカルリ svn リポジトリにタグ打ち （この時点の構成として記録） DBバックアップ前に WordPress管理パネルでスパムコメント削除 phpMyAdminでオーバーヘッドのあるテーブルを最適化 DB バックアップ 3種 WordPress管理パネル > ツール > エクスポート XREA 管理画面 > データベース で「保存」 phpMyAdmin でエクスポート 全テーブル WordPress以外の各システム WordPress WordPress本体のみ WordPressプラグイン用テーブルのみ WordPress設定控え [...]]]></description>
			<content:encoded><![CDATA[<p>WordPress 2.9.1から3.0へアップグレードしているところ。作業内容をリアルタイム更新。</p>

<div class="toc"><p>目次：</p>
<ol>
<li><a href="#h0">サーバ環境の確認</a></li>
<li><a href="#h1">本体アップグレード作業</a>
<ol><li><a href="#h2">準備</a></li>
<li><a href="#h3">アップグレード実行</a></li></ol>
</li>
</ol>
</div>

<p><span id="more-1466"></span></p>

<h4 id="h0">サーバ環境の確認</h4>

<p><a href="http://wpdocs.sourceforge.jp/%E3%82%B5%E3%83%BC%E3%83%90%E3%81%AE%E7%94%A8%E6%84%8F" title="サーバの用意 - WordPress Codex 日本語版">サーバ要件</a>変更なし</p>

<h4 id="h1">本体アップグレード作業</h4>

<h5 id="h2">準備</h5>

<ol>
<li>XREA 管理画面 > ホスト情報登録 で [SSH登録] ボタンをクリック<br />
（5-10分かかると表示されるが 1-2分で使えるようになる）</li>
<li>WP ファイル一式バックアップ

<ul>
<li>FTP でローカルへコピー<br />
（サーバ上で画像・プラグイン等追加／変更したときはローカルにコピーするようにしてるけど、念のため、他のシステムも含めて <code>public_html/</code> ディレクトリをまるっとコピー）</li>
<li>ローカルリ svn リポジトリにタグ打ち （この時点の構成として記録）</li>
</ul></li>
<li>DBバックアップ前に

<ol>
<li>WordPress管理パネルでスパムコメント削除</li>
<li>phpMyAdminでオーバーヘッドのあるテーブルを最適化</li>
</ol></li>
<li>DB バックアップ 3種

<ul>
<li>WordPress管理パネル > ツール > エクスポート</li>
<li>XREA 管理画面 > データベース で「保存」</li>
<li>phpMyAdmin でエクスポート

<ul>
<li>全テーブル</li>
<li>WordPress以外の各システム</li>
<li>WordPress</li>
<li>WordPress本体のみ</li>
<li>WordPressプラグイン用テーブルのみ</li>
</ul></li>
</ul></li>
<li>WordPress設定控え （画面コピー）

<ul>
<li>プラグイン一覧</li>
<li>各設定画面（プラグイン含む）</li>
</ul></li>
</ol>

<p>※ プラグインはあえて事前にアップグレードせず、後回しに。</p>

<h5 id="h3">アップグレード実行</h5>

<ol>
<li>全プラグインを無効化、デフォルトテーマに切り替え</li>
<li><p>Poderosa 起動、タグを切り替える<br />
<code>svn sw http://core.svn.wordpress.org/tags/3.0/ public_html/wp</code><br />
（↑ XREA無料版では <code>cd</code> でディレクトリ移動できないためこんなん）</p>

<pre><code>bono@s206:~&gt; pwd
/virtual/bono
bono@s206:~&gt; svn sw http://core.svn.wordpress.org/tags/3.0/ public_html/wp
A    public_html/wp/wp-signup.php
U    public_html/wp/wp-comments-post.php
U    public_html/wp/wp-login.php
U    public_html/wp/wp-load.php
U    public_html/wp/wp-includes/feed-rss2.php
U    public_html/wp/wp-includes/class-snoopy.php
U    public_html/wp/wp-includes/default-filters.php
U    public_html/wp/wp-includes/plugin.php
（中略）
A    public_html/wp/wp-includes/ms-functions.php
UU   public_html/wp/wp-includes/meta.php
U    public_html/wp/wp-includes/category-template.php
U    public_html/wp/wp-includes/class-smtp.php
A    public_html/wp/wp-includes/nav-menu.php
U    public_html/wp/wp-app.php
U    public_html/wp/xmlrpc.php
U    public_html/wp/wp-mail.php
U    public_html/wp/wp-content/plugins/hello.php
D    public_html/wp/wp-content/themes/classic
svn: Won't delete locally modified directory 'public_html/wp/wp-content/themes'
svn: File 'public_html/wp/wp-content/themes/default/index.php' has local modifications
</code></pre>

<p>……（待機）<br />
……<br />
(；ﾟДﾟ)ｽﾞｶﾞｰﾝ 途中で終わった！</p></li>
<li><p>仕方ないので、とりあえず別ディレクトリに新規チェックアウトして復旧させる。</p>

<ol>
<li>現在の <code>wp</code> ディレクトリを別名にリネーム</li>
<li><p>新たにチェックアウト<br />
<code>svn co http://core.svn.wordpress.org/tags/3.0/ public_html/wp</code></p>

<p>Checked out revision 15380.</p></li>
<li><p><code>wp-config.php</code> を <code>wp</code> にアップロード<br />
（<code>.htaccess</code> はドキュメントルートにあるのでokなはず）</p></li>
<li>だが、サイトは真っ白、ページソースも真っ白。<br />
→ DBアップグレードが必要だった。てへ。  </li>
<li><p>ブラウザで <code>wp/wp-admin/</code> にアクセスして、<br />
「Database Upgrade Required」画面で「Upgrade WordPress Database」ボタンをクリック。</p>

<p>Upgrade Complete<br />
Your WordPress database has been successfully upgraded!</p>

<p>「Continue」ボタンをクリック</p></li>
<li>状況確認

<ul>
<li>テーマ管理画面では、テーマは「Twenty Ten」に切り替わってる。</li>
<li>サイトは一度真っ白表示になったけど、アクセスしなおしたら表示された。一通り見て回ったところ、なんとなく動いてるみたい。</li>
</ul></li>
</ol></li>
<li>必須プラグインを一つずつ有効化

<ul>
<li>Akismet 2.3.0</li>
<li>Markdown Extra 1.2.4 （改）</li>
<li>Decoder 1.0.0</li>
<li>wp-bonowo 0.1 alpha</li>
<li>psPermalinker for Markdown only 0.1α3</li>
<li>WP-Footnotes 3.3</li>
<li>runPHP 2.3.1</li>
</ul></li>
<li>さらにいけそうなので

<ul>
<li>SyntaxHighlighter Evolved 2.3.8</li>
<li>change_syntax_priority 1.0.1</li>
<li>Template Tag Shortcodes 0.1 （後で要アップグレード）</li>
</ul></li>
<li>画像とかも再アップロード<br />
<code>wp-content/upload/</code> ごとサーバへアップ、パーミッションを <code>707</code> に変更</li>
<li>さらにプラグイン

<ul>
<li>Revision Control<br />
1.9.7 を使ってたけど、3.0対応の 2.0 が出ているので、プラグイン管理画面で「upgrade automatically」をクリック。<br />
→ Connection Information 画面になった。  </li>
</ul></li>
<li>セーフモード対策の <code>wp-admin/.htaccess</code> を入れんの忘れてた。<br />
アップロードしてもう一度「upgrade automatically」、成功したので有効化。<strong>← <span class="attn">イマココ</span></strong></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://bono.s206.xrea.com/2010/07/1466-wp_292_to_30_with_subversion/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>ただ今、サイトの工事中です。</title>
		<link>http://bono.s206.xrea.com/2010/07/1458-maintenance/</link>
		<comments>http://bono.s206.xrea.com/2010/07/1458-maintenance/#comments</comments>
		<pubDate>Fri, 09 Jul 2010 14:40:59 +0000</pubDate>
		<dc:creator>ぼの</dc:creator>
				<category><![CDATA[ps*news]]></category>

		<guid isPermaLink="false">http://bono.s206.xrea.com/?p=1458</guid>
		<description><![CDATA[現在、サイトを生成するシステムの更新作業を行なっています。 しばらくハリボテ状態が続く見込みです。 ぼのがあたふたと作業するのを眺めながら、コーヒーでも飲んでおくつろぎください。]]></description>
			<content:encoded><![CDATA[<p>現在、<a href="http://bono.s206.xrea.com/wordpress/" title="WordPress">サイトを生成するシステム</a>の更新作業を行なっています。<br />
しばらくハリボテ状態が続く見込みです。<br />
ぼのがあたふたと作業するのを眺めながら、コーヒーでも飲んでおくつろぎください。</p>
]]></content:encoded>
			<wfw:commentRss>http://bono.s206.xrea.com/2010/07/1458-maintenance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WP Plugin: SyntaxHighlighter Evolved 2.3.8 日本語化ファイル</title>
		<link>http://bono.s206.xrea.com/2010/03/1186-wp_syntaxhighlighter-evolved-ja-file-238/</link>
		<comments>http://bono.s206.xrea.com/2010/03/1186-wp_syntaxhighlighter-evolved-ja-file-238/#comments</comments>
		<pubDate>Sat, 20 Mar 2010 22:00:01 +0000</pubDate>
		<dc:creator>ぼの</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[SyntaxHighlighter Evolved]]></category>
		<category><![CDATA[コード表示]]></category>
		<category><![CDATA[言語ファイル]]></category>

		<guid isPermaLink="false">http://bono.s206.xrea.com/?p=1186</guid>
		<description><![CDATA[update 3.22: 日本語表示のみバージョンも追加公開。 コード色分け表示＆部分強調表示ができるWordPressプラグイン、SyntaxHighlighter Evolvedを自分用に日本語化したので、試験的に公開してみます。試してくれた人に勇者の称号を贈るのです……！ 注意 実際の機能が分かりにくく感じた箇所を、意訳したり言葉を補ったりしています。 しかし、公開するなら原文に忠実な方がいいのでは。。。と悩んだ挙句、 原文併記という暴挙に出ました。（管理パネル内のみ） 日本語を見て？？？と思ったら、英文を見て察してください。。 どっちがいいのかなあ。。ご意見もらえたら小躍りして喜びます。 動作環境 SyntaxHighlighter Evolved 2.3.7、2.3.8 ダウンロード 日英併記： syntaxhighlighter-238-ja-en.zip 日本語表示のみ： syntaxhighlighter-238-ja-only.zip 追加 &#8212; 英語が邪魔／細けーこたァいいんだよ、という豪気な勇者向け （最新ウィルス＆スパイウェアスキャン済み） 日本語化の仕方 上記 zipファイルをダウンロードして展開 syntaxhighlighter-ja.mo ファイルを、サーバの wp-content/plugins/syntaxhighlighter/localization/ ディレクトリにバイナリモードでアップロード （poファイルはアップロード不要） 日本語化される箇所 設定 > SyntaxHighlighter 画面 コード表示の右上にある「ツールバー」にポインタを合わせたときのポップアップとか、クリップボードにコピーしたときのダイアログとか （注） 設定画面の「プレビュー」のスマートタブの表示見本のとこ（↓）、翻訳が効かない模様なのです。 &#60;!DOCTYPE html PUBLIC &#34;-//W3C//DTD XHTML 1.0 Strict//EN&#34; &#34;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&#34;&#62; &#60;html xmlns=&#34;http://www.w3.org/1999/xhtml&#34; xml:lang=&#34;en&#34; lang=&#34;en&#34;&#62; &#60;head&#62; &#60;meta http-equiv=&#34;Content-Type&#34; [...]]]></description>
			<content:encoded><![CDATA[<p class="update"><span class="attn">update</span> 3.22: 日本語表示のみバージョンも追加公開。

</p>

<p>コード色分け表示＆部分強調表示ができるWordPressプラグイン、<a href="http://wordpress.org/extend/plugins/syntaxhighlighter/" title="WordPress › SyntaxHighlighter Evolved « WordPress Plugins">SyntaxHighlighter Evolved</a>を自分用に日本語化したので、試験的に公開してみます。試してくれた人に勇者の称号を贈るのです……！</p>

<p><span id="more-1186"></span></p>

<h4>注意</h4>

<ul>
<li>実際の機能が分かりにくく感じた箇所を、意訳したり言葉を補ったりしています。</li>
<li>しかし、公開するなら原文に忠実な方がいいのでは。。。と悩んだ挙句、

<ul>
<li><strong>原文併記</strong>という暴挙に出ました。（管理パネル内のみ）</li>
<li>日本語を見て？？？と思ったら、英文を見て察してください。。</li>
<li>どっちがいいのかなあ。。ご意見もらえたら小躍りして喜びます。</li>
</ul></li>
</ul>

<h4>動作環境</h4>

<ul>
<li>SyntaxHighlighter Evolved 2.3.7、2.3.8</li>
</ul>

<h4>ダウンロード</h4>

<ul>
<li>日英併記： <a href='http://bono.s206.xrea.com/wp/wp-content/uploads/syntaxhighlighter-238-ja-en.zip'>syntaxhighlighter-238-ja-en.zip</a></li>
<li>日本語表示のみ： <a href='http://bono.s206.xrea.com/wp/wp-content/uploads/syntaxhighlighter-238-ja-only.zip'>syntaxhighlighter-238-ja-only.zip</a> <span class="attn">追加</span> &#8212; 英語が邪魔／細けーこたァいいんだよ、という豪気な勇者向け</li>
</ul>

<p>（最新ウィルス＆スパイウェアスキャン済み）</p>

<h4>日本語化の仕方</h4>

<ol>
<li>上記 zipファイルをダウンロードして展開</li>
<li><strong><code>syntaxhighlighter-ja.mo</code></strong> ファイルを、サーバの <code>wp-content/plugins/syntaxhighlighter/localization/</code> ディレクトリにバイナリモードでアップロード<br />
（poファイルはアップロード不要）</li>
</ol>

<h4>日本語化される箇所</h4>

<ul>
<li>設定 > SyntaxHighlighter 画面</li>
<li>コード表示の右上にある「ツールバー」にポインタを合わせたときのポップアップとか、クリップボードにコピーしたときのダイアログとか</li>
<li>（注） 設定画面の「プレビュー」のスマートタブの表示見本のとこ（↓）、翻訳が効かない模様なのです。</li>
</ul>

<pre class="brush: php; collapse: true; highlight: [15,16,17]; light: false; toolbar: true;">
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;
&lt;head&gt;
    &lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot; /&gt;
    &lt;title&gt;PHP Code Example&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;h1&gt;PHPコードの例&lt;/h1&gt;

    &lt;p&gt;&lt;?php echo 'Hello World!'; ?&gt;&lt;/p&gt;

    &lt;p&gt;この行は強調表示&lt;/p&gt;

    &lt;div class=&quot;foobar&quot;&gt;
        This    is  an
        example of  smart
        tabs.
    &lt;/div&gt;

    &lt;p&gt;&lt;a href=&quot;http://wordpress.org/&quot;&gt;WordPress&lt;/a&gt;&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>

<h4>日本語化できない場合</h4>

<ul>
<li>ブラウザをスーパーリロードしてみる。</li>
<li><a href="http://wpdocs.sourceforge.jp/FAQ/%E4%BD%9C%E6%A5%AD%E3%83%9A%E3%83%BC%E3%82%B8#.E6.97.A5.E6.9C.AC.E8.AA.9E.E5.8C.96.E3.83.95.E3.82.A1.E3.82.A4.E3.83.AB.E3.82.92.E8.A8.AD.E7.BD.AE.E3.81.97.E3.81.9F.E3.81.AE.E3.81.AB.E6.97.A5.E6.9C.AC.E8.AA.9E.E8.A1.A8.E7.A4.BA.E3.81.AB.E3.81.AA.E3.82.8A.E3.81.BE.E3.81.9B.E3.82.93" title="FAQ/作業ページ - WordPress Codex 日本語版">FAQ &#8211; 日本語化ファイルを設置したのに日本語表示になりません</a>を確認。</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://bono.s206.xrea.com/2010/03/1186-wp_syntaxhighlighter-evolved-ja-file-238/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

