ここの情報は古いです。ご理解頂いた上でお取り扱いください。
- Timestamp:
-
Mar 31, 2008, 11:52:27 AM (14 years ago)
- Author:
-
imoto
- Comment:
-
--
Legend:
- Unmodified
- Added
- Removed
- Modified
-
v10
|
v11
|
|
7 | 7 | 文:井本 |
8 | 8 | == 概要 == |
9 | | OpenPNE開発では、SVNを用いてソースコードの管理やバグの修正の管理などを行っています。なかでも、これから紹介するブランチとマージはOpenPNE開発において非常に効率よく開発を進める手段として使っています。 |
| 9 | OpenPNEの開発では、SVNを用いてソースコードの管理やバグの修正の管理などを行っています。なかでも、これから紹介するブランチとマージはOpenPNE開発において非常に効率よく開発を進める手段として使っています。 |
10 | 10 | |
11 | 11 | そこで、今回は、OpenPNE開発で実際に使われているSVNの使い方をOpenPNEのTracを一部参照しながらブランチとマージを紹介していきます。 |
| 12 | |
12 | 13 | {{{ |
13 | 14 | OpenPNE開発情報 |
… |
… |
|
25 | 26 | |
26 | 27 | === root === |
27 | | 次に、上のグローバルメニューから「Browse Source」をクリックすると、Tracで管理されているOpenPNEのソースを見ることが出来ます。(http://trac.openpne.jp/browser) |
28 | | ここはrootディレクトリで一番上にのディレクトリです。 |
29 | | このrootディレクトリは、大きく分けて二種類のディレクトリ構成になっています。一つ目がOpenPNE本線開発のディレクトリ(/OpenPNE)で、もう一つはOpenPNE本線開発とはことなるプロジェクトです。(NEKOGET_PNESKIN、PNEMonster) |
| 28 | 次に、上のグローバルメニューから「Browse Source」をクリックすると、Tracで管理されているOpenPNEのソースを見ることができます。(http://trac.openpne.jp/browser) |
| 29 | ここはrootディレクトリで一番上のディレクトリです。 |
| 30 | このrootディレクトリは、大きく分けて二種類のディレクトリ構成になっています。一つ目はOpenPNE本線開発のディレクトリ(/OpenPNE)で、もう一つはOpenPNE本線開発とはことなるプロジェクトです。(NEKOGET_PNESKIN、PNEMonster) |
30 | 31 | |
31 | 32 | {{{ |
… |
… |
|
44 | 45 | === root/OpenPNE === |
45 | 46 | それでは、OpenPNE本線開発のディレクトリを見ていきましょう。[[BR]] |
46 | | OpenPNE以下のディレクトリにはbranches、tags、trunkと3つのディレクトリがあります。まず、一番下にあるtrunkはOpenPNE本線開発のメインディレクトリです。基本的に開発版のリリースはこのtrunkでされます。 |
47 | | |
48 | | 次に、一番上にあるbranchesですが、直訳すると「枝」です。このbranchesは安定したバージョンの開発や、各個人がもっている機能追加やプロジェクトなどに使われている作業用ディレクトリです。[[BR]] |
49 | | 最後に、tagsはOpenPNEの開発でバージョンを固定した場合にこのディレクトリにソースコードを残しておくためのディレクトリです。 |
| 47 | OpenPNE以下のディレクトリにはbranches、tags、trunkと3つのディレクトリがあります。まず、一番下にあるtrunkがOpenPNE本線開発のメインディレクトリです。基本的に開発版のリリースはこのtrunkでリリースされます。 |
| 48 | |
| 49 | 次に、一番上にあるbranchesですが、直訳すると「枝」です。このbranchesは安定したバージョンの開発や、各個人がもっている機能追加やプロジェクトなどに使われている作業用のディレクトリです。[[BR]] |
| 50 | 最後に、tagsはOpenPNEの開発でバージョンを固定した場合に、このディレクトリにソースコードを残しておくためのディレクトリです。 |
50 | 51 | |
51 | 52 | {{{ |
… |
… |
|
63 | 64 | |
64 | 65 | {{{ |
65 | | prj:プロジェクトとしてチームで開発するためのディレクトリ |
| 66 | prj:プロジェクトとしてチームで開発を行うディレクトリ |
66 | 67 | stable-x.x.x:安定版のバグ修正などを行うディレクトリ |
67 | 68 | work:個人で行う小さな機能開発を行うディレクトリ |
… |
… |
|
69 | 70 | |
70 | 71 | prjディレクトリとworkディレクトリは基本的には新しい機能の開発に使われるディレクトリです。[[BR]] |
71 | | 具体的にどのようにprjディレクトリとworkディレクトリが使われているか実際のOpenPNE開発事例を参照しながら説明していきます。[[BR]] |
| 72 | 具体的にどのようにprjディレクトリとworkディレクトリが使われているか実際のOpenPNE開発事例を参照しながら解説していきます。[[BR]] |
72 | 73 | stable-x.x.xは安定版の機能修正やバグ修正などを行うためのディレクトリです。[[BR]] |
73 | 74 | 例えば、stable-2.10.0で何かバグが発見されたとします。するとまず、stable-2.10.xディレクトリで発見されたバグなどを修正します。そして、一通り修正が終わったら、tagsディレクトリ(root/OpenPNE/tags)にソースを移して、stable-2.10.1として正式にリリースされます。[[BR]] |
74 | 75 | この様に、stable-x.x.xディレクトリでは、安定版のバグ修正などを行う一時的なディレクトリとなります。 |
75 | 76 | |
76 | | それでは、具体的にどのようにprjディレクトリとworkディレクトリがどの様に使われているか実際のOpenPNE開発事例を参照しながら説明していきます。 |
| 77 | それでは、具体的にどのようにprjディレクトリとworkディレクトリがどの様に使われているか実際のOpenPNE開発事例を参照しながら解説していきます。 |
77 | 78 | |
78 | 79 | {{{ |
… |
… |
|
92 | 93 | 現在prjディレクトリには以下のような主要プロジェクトがあります。[[BR]] |
93 | 94 | |
94 | | このprjディレクトリはプロジェクトごとの機能開発に使用されているディレクトリです。ですので、そのプロジェクトに所属しているメンバーであれば基本的に誰でもソースコードを修正することが許されています。 |
95 | | |
96 | | 現在OpenPNEではOpenIDを外部認証として使うことが出来ます。そのときに開発用ディレクトリとして使用されていたディレクトリがこのprjディレクトリにあるopenidディレクトリです。[[BR]] |
97 | | このopenidのディレクトリのリビジョンを見てもらうと分かると思いますが、ogawa、maruyama、ebiharaなど複数の人でチームを組んでOpenIDの機能開発を行っていたことが分かります。 |
| 95 | このprjディレクトリはプロジェクトごとの機能開発に使用されているディレクトリです。ですので、そのプロジェクトに所属しているメンバーであれば基本的に誰でもソースコードを修正することが許可されています。 |
| 96 | |
| 97 | 現在OpenPNEではOpenIDを外部認証として使うことができます。そのときに開発用ディレクトリとして使用されていたディレクトリがこのprjディレクトリにあるopenidディレクトリです。[[BR]] |
| 98 | このopenidのディレクトリのリビジョンを見てもらうと分かりますが、ogawa、maruyama、ebiharaなど複数の人でチームを組んでOpenIDの機能開発を行っていたことが分かります。 |
98 | 99 | |
99 | 100 | |
… |
… |
|
118 | 119 | |
119 | 120 | 次に、workディレクトリを見ていきましょう。 |
120 | | まず、このディレクトリを見て分かるのは個人名が多いということです。基本的にこのworkディレクトリは個人で行う小さな機能開発を行うディレクトリです。 |
121 | | ですので個人が比較的自由にこのディレクトリを使うことが出来るので、小さな機能開発以外にも、OpenPNEで追加してみたい実験的な機能開発や、プロジェクトの機能開発だがprjにソースをマージ(あとで説明)させるほど完成度が高くないソースをここで改良するなどの使い方があります。 |
| 121 | まず、このディレクトリを見てディレクトリ名に個人名が使われていることが多いということが分かります。基本的にこのworkディレクトリは個人で行う小さな機能開発を行うディレクトリだからです。 |
| 122 | ですので、個人が比較的自由にこのディレクトリを使うことができるので、小さな機能開発以外にも、OpenPNEで追加してみたい実験的な機能開発や、プロジェクトの機能開発だがprjにソースをマージ(後ほど解説)させるほど完成度が高くないソースをここで改良するなどの使い方があります。 |
122 | 123 | prjディレクトリにあったxhtmlcssディレクトリはこのworkディレクトリである程度開発したあとで、prjディレクトリに移動したという経緯があります。 |
123 | 124 | また、workディレクトリは基本的には各個人のディレクトリですので、他の人がソースを書き換えるということはありません。 |
… |
… |
|
138 | 139 | |
139 | 140 | 例として、work以下のebiharaディレクトリを見てみます。[[BR]] |
140 | | 主にebiharaディレクトリでは、プロジェクトに移す前段階でのソースコードを管理しています。ディレクトリのprj_というのは「プロジェクトに移行させるためのディレクトリですよ」ということを表しています。[[BR]] |
141 | | 現在はすべてprj_がついたディレクトリ名ですが、個人的にOpenPNEに取り込んで欲しい機能などがあれば分かりやすい機能名のディレクトリを作って開発することもあります。[[BR]] |
142 | | prj_dashboadというディレクトリは主にダッシュボード改善プロジェクトの個人開発用として作ったディレクトリです。ダッシュボード改善プロジェクトというプロジェクトが立ち上がった段階でまず、このebiharaディレクトリにprj_dashboadというディレクトリを作ります。ここである程度ソースコードが完成した段階で、prjにソースコードを移してプロジェクトを進めています。[[BR]] |
| 141 | 主にebiharaディレクトリでは、プロジェクトに移す前段階のソースコードを管理しています。ディレクトリの【prj_】というのは「プロジェクトに移行させるためのディレクトリですよ」ということを表しています。[[BR]] |
| 142 | 現在はすべて【prj_】がついたディレクトリ名ですが、個人的にOpenPNEに取り込んで欲しい機能などがあれば分かりやすい機能名のディレクトリを作って開発しています。[[BR]] |
| 143 | prj_dashboadというディレクトリは主にダッシュボード改善プロジェクトの個人開発用として作ったディレクトリです。ダッシュボード改善プロジェクトというプロジェクトが立ち上がった段階でまず、このebiharaディレクトリにprj_dashboadというディレクトリを作ります。ある程度ソースコードが完成した段階で、prjにソースコードを移してプロジェクトを進めています。[[BR]] |
143 | 144 | |
144 | 145 | リビジョンを見てもらうと分かると思いますが、ここはebiharaディレクトリで、ebiharaが管理しているので、修正は基本的にebiharaしか行っていません。[[BR]] |
… |
… |
|
158 | 159 | |
159 | 160 | この様に、prjとworkにはプロジェクトで開発するか個人で開発するかかという大きな特徴があります。 |
160 | | この特徴に注目しながらtrac.openpne.jpを見ていただけると、「お!この機能はプロジェクトとして動いてるんだ」「この機能はogawaさんが個人で開発しているけど本線に取り込まれるのかな」などまたOpenPNEの最新の動向と今後の方向性も見えてくるかも知れません。 |
| 161 | この特徴に注目しながらtrac.openpne.jpを見ていただけると、「お!この機能はプロジェクトとして動いてるんだ」「この機能はogawaさんが個人で開発しているけど本線に取り込まれるのかな」など、OpenPNEの最新の動向と今後の方向性も見えてくるかも知れません。 |
161 | 162 | |
162 | 163 | == ブランチ == |
163 | 164 | それでは、OpenPNE開発ではどのようにしてブランチを作っているか、どのような方法でブランチを作っているかを実際にブランチを作りながら紹介します。 |
164 | 165 | 現在、OpenPNE開発者は主に二種類の方法でブランチを作っています。二種類の方法とは「TortoiseSVNでブランチを作る方法」と「SVNコマンドでブランチを作る方法」です。 |
165 | | OpenPNE開発者には、Eclipseなどの開発環境を使っている人もいますし、vimなどを使ってコマンドラインで開発している人もいます。ですので、それぞれに適したブランチの作り方があります。 |
166 | | そこでこの章ではWindowsクライアントであるTortoiseSVNでブランチを作る方法とsvnコマンドでブランチを作る方法の二種類の方法を紹介するので、ぜひ環境に合わせて使いやすい方法でブランチを作ってみてください。 |
167 | | |
168 | | 今回、Subversionの詳しいインストールは割愛しますが、 |
169 | | Debian系であればapt-get、CentOS系であれば、yumで取得できると思います。 |
170 | | {{{ |
| 166 | OpenPNE開発者には、Eclipseなどの開発環境を使っている人もいますし、vimなどを使ってコマンドラインで開発している人もいます。よって、それぞれの開発者に適した方法でブランチを作っています。 |
| 167 | そこでこの章ではWindowsクライアントであるTortoiseSVNでブランチを作る方法とsvnコマンドでブランチを作る方法の二種類の方法を紹介するので、適宜環境に合わせて使いやすい方法でブランチ作成に取り組んでください。 |
| 168 | |
| 169 | 今回、Subversionの詳しいインストールは割愛しますが、Debian系であればapt-get、CentOS系であれば、yumで取得できます。 |
| 170 | |
| 171 | {{{ |
| 172 | |
171 | 173 | Debian系 |
172 | 174 | apt-get install subversion |
173 | | }}} |
174 | | |
175 | | {{{ |
| 175 | |
| 176 | }}} |
| 177 | |
| 178 | {{{ |
| 179 | |
176 | 180 | CentOS系 |
177 | 181 | yum install subversion |
| 182 | |
178 | 183 | }}} |
179 | 184 | 詳しくは、マニュアルを参照してください。 |
180 | 185 | {{{ |
| 186 | |
181 | 187 | Debian ユーザ文書 |
182 | 188 | http://www.debian.org/doc/index.ja.html |
… |
… |
|
184 | 190 | CentOS Documentation |
185 | 191 | http://www.centos.org/docs/ |
| 192 | |
186 | 193 | }}} |
187 | 194 | |
… |
… |
|
196 | 203 | ==== ブランチの作成 ==== |
197 | 204 | それでは早速ブランチの作成に入ります。 |
198 | | 今回はroot/OpenPNE/branches/work/ebihara以下に個人用ブランチを実際に作りながら、説明していきます。 |
| 205 | 今回はroot/OpenPNE/branches/work/ebihara以下に個人用ブランチを実際に作りながら、解説していきます。 |
199 | 206 | |
200 | 207 | {{{ |
… |
… |
|
212 | 219 | |
213 | 220 | |
214 | | 例として、ここにOpenPNEグローバル変数改善プロジェクトを作っていくことにします。 |
| 221 | 例として、ここにOpenPNEグローバル変数改善プロジェクトを作成していきます。 |
215 | 222 | |
216 | 223 | [[Image(https://trac.openpne.jp/svn/prj/pne-book/pne-book-9/pne-book-9-2/3-drectory.png,650)]] |
… |
… |
|
218 | 225 | まず、ローカル環境でOpenPNEのソースをコピーしてきたいディレクトリに移動します。[[BR]] |
219 | 226 | 次に、そのディレクトリで右クリックして、メニューの中から「Repo-browser」をクリックします。[[BR]] |
220 | | ※ディレクトリを移動しなくても右クリックでメニューが出ますが後にその場所にチェックアウト(ソースのダウンロード)することになるので移動しておいたほうがいいと思います。 |
| 227 | ※ディレクトリを移動しなくても右クリックでメニューが出ますが後にその場所にチェックアウト(ソースのダウンロード)することになるので移動しています。 |
221 | 228 | |
222 | 229 | |
… |
… |
|
229 | 236 | }}} |
230 | 237 | |
231 | | 入力後に「Repository Browser」という新しいウィンドウが開きSVNを見ることが出来る様になります。[[BR]] |
| 238 | 入力後に「Repository Browser」という新しいウィンドウが開きSVNを見ることができるようになります。[[BR]] |
232 | 239 | |
233 | 240 | [[Image(https://trac.openpne.jp/svn/prj/pne-book/pne-book-9/pne-book-9-2/5-repo2.png,650)]] |
… |
… |
|
250 | 257 | このログを残したら、prj_remove_globalsディレクトリが作成され、OpenPNE-2.10.3のソースコードがコピーされています。[[BR]] |
251 | 258 | |
252 | | 指定したバージョンがコピーされているか不安な場合はwebapp/version.phpを開いてOPENPNE_VERSIONを確認してみるといいと思います。[[BR]] |
| 259 | 指定したバージョンがコピーされているかの確認はwebapp/version.phpを開いてOPENPNE_VERSIONを確認してください。[[BR]] |
253 | 260 | |
254 | 261 | |
… |
… |
|
279 | 286 | [[Image(https://trac.openpne.jp/svn/prj/pne-book/pne-book-9/pne-book-9-2/9-checkout_migi.png,650)]] |
280 | 287 | |
281 | | クリックすると、Caeckoutという新しいウィンドウが表示されます。[[BR]] |
| 288 | クリックすると、Checkoutという新しいウィンドウが表示されます。[[BR]] |
282 | 289 | |
283 | 290 | 「Repository」の中に「URL of repository」「Checkout directory」とあるので項目を入力します。 |
… |
… |
|
298 | 305 | |
299 | 306 | コミットとは作業した結果をリポジトリに登録することです。[[BR]] |
300 | | フォルダ上で右クリックから「SVN Commit...」メニューを選択し、OKを押せば簡単に作業した結果をリポジトリに反映することが出来ます。 |
301 | | |
302 | | |
303 | | ==== コメント ==== |
304 | | この様に、TortoiseSVNを使用することで、GUIで簡単にブランチの作成、チェックアウト、コミットを行うことが出来ます。[[BR]] |
| 307 | フォルダ上で右クリックから「SVN Commit...」メニューを選択し、OKを押せば簡単に作業した結果をリポジトリに反映することができます。 |
| 308 | |
| 309 | |
| 310 | ==== まとめ ==== |
| 311 | この様に、TortoiseSVNを使用することで、GUIで簡単にブランチの作成、チェックアウト、コミットを行うことができます。[[BR]] |
305 | 312 | |
306 | 313 | 今回の事例ではcolinuxを使用していますが、XAMPPなどを用いてWindowsで開発している人でもTortoiseSVNを使用することが出来るの非常に導入しやすく、使いやすいツールだと思います。 |
… |
… |
|
329 | 336 | 例) |
330 | 337 | co3k@colinux:~/Programming/sns$ svn copy https://trac.openpne.jp/svn/OpenPNE/tags/stable/OpenPNE-2.10.3/ https://trac.openpne.jp/svn/OpenPNE/branches/work/ebihara/prj_remove_globals/ |
| 338 | |
331 | 339 | }}} |
332 | 340 | |
… |
… |
|
334 | 342 | ==== チェックアウト ==== |
335 | 343 | 次に、リポジトリのソースをローカルにチェックアウトします。 |
336 | | 先ほどはcopyコマンドを使いましたが、チェックアウトはcheckoutコマンドを使用します。チェックアウトしたいディレクトリに移動して、チェックアウトコマンドを実行するだけでそのディレクトリにチェックアウトすることが出来ます。 |
| 344 | 先ほどはcopyコマンドを使用しましたが、チェックアウトはcheckoutコマンドを使用します。チェックアウトしたいディレクトリに移動して、チェックアウトコマンドを実行するだけでそのディレクトリにチェックアウトすることができます。 |
337 | 345 | |
338 | 346 | {{{ |
… |
… |
|
349 | 357 | SVNのコマンドヘルプ |
350 | 358 | {{{ |
| 359 | |
351 | 360 | svn --help |
| 361 | |
352 | 362 | }}} |
353 | 363 | |
… |
… |
|
355 | 365 | |
356 | 366 | {{{ |
| 367 | |
357 | 368 | svn copy --help |
358 | | }}} |
359 | | |
360 | | |
361 | | ==== コメント ==== |
| 369 | |
| 370 | }}} |
| 371 | |
| 372 | |
| 373 | ==== まとめ ==== |
362 | 374 | |
363 | 375 | SVNコマンドでブランチを作る方法は非常にシンプルでコマンドを覚えればすばやくブランチを作ったりチェックアウトすることが可能になります。[[BR]] |
… |
… |
|
365 | 377 | 実際、OpenPNE開発者はsvnコマンドを使っている人が多くいます。 |
366 | 378 | |
| 379 | |
367 | 380 | == マージ == |
368 | 381 | |
369 | 382 | マージする方法を説明していきます。[[BR]] |
370 | 383 | |
371 | | マージは直訳すると、「合併する」「融合する」といった意味がありますが、ここでは、ソースコードとソースコードを融合させることをいいます。[[BR]] |
| 384 | マージは直訳すると、「合併する」「融合する」といった意味があります。ここでは、ソースコードとソースコードを融合させることの意味だと考えてください。[[BR]] |
372 | 385 | 基本的には、先ほどブランチとしてtrunkから派生させたコードをまたtrunkに融合させるという作業をOpenPNEでは使っています。しかし、マージはその他にもさまざまな使い方があります。[[BR]] |
373 | | 例えば、2.10.0から派生した個人作業ディレクトリのブランチでのんびり機能追加を開発していたが、trunkが2.11.6になっていたときに、その追加機能をtrunkに取り込んでも動かないということがないように、ある程度trunkの開発が進んだときに、個人作業ディレクトリにtrunkをマージさせておけばtrunkにマージさせたときに現在のtrunkのバージョンと相性が悪いから動かないということがなくなります。 |
374 | | |
375 | | マージは基本的に、あるリビジョンからあるリビジョンでの変更箇所を取り込む作業になります。ファイルをそれぞれ変更するのではなく、修正されている箇所だけ取り込むという作業です。 |
376 | | |
377 | | それでは、ブランチと同じく、「TortoiseSVNでマージする方法」と「SVNコマンドでマージする方法」の2種類を紹介します。[[BR]] |
| 386 | |
| 387 | マージは基本的に、あるリビジョンからあるリビジョンでの変更箇所を取り込む作業です。ファイルをそれぞれ変更するのではなく、修正されている箇所だけ取り込みます。 |
| 388 | |
| 389 | それでは、ブランチと同じく、「TortoiseSVNでマージする方法」と「SVNコマンドでマージする方法」のニ種類を紹介します。[[BR]] |
378 | 390 | マージにはさまざまな種類がありますが、ここでのマージは、個人のローカル作業用ディレクトリにTrunkの変更箇所をマージする方法を紹介します。 |
379 | 391 | |
… |
… |
|
382 | 394 | |
383 | 395 | ==== マージ ==== |
384 | | まず、TortoiseSVNでマージする方法ですが、先ほどのブランチでの使い方同様TortoiseSVNのメニューは右クリックをすることでメニューを開くことが出来ます。 |
| 396 | まず、TortoiseSVNでマージする方法ですが、先ほどのブランチでの使い方同様TortoiseSVNのメニューは右クリックをすることでメニューを開くことができます。 |
385 | 397 | 今回はマージさせたいディレクトリの上で、右クリックをし、「TortoiseSVN」を選択し「Merge...」を選択します。 |
386 | 398 | |
… |
… |
|
388 | 400 | |
389 | 401 | 「Merge...」を選択したらMergeウィンドウが表示されます。 |
390 | | マージをする上で一番分かりにくい点は、このFromとToだと思います。先ほど、「マージは基本的に、あるリビジョンからあるリビジョンでの変更箇所を取り込む作業」の述べましたが、それがここと一致します。このFromとToの間で変更された箇所を取り込みます。URLには、取り込みたい先のリビジョンのURLを指定します。 |
| 402 | マージをする上で一番分かりにくい点は、この【From】と【To】だと思います。先ほど、「マージは基本的に、あるリビジョンからあるリビジョンでの変更箇所を取り込む作業」の述べましたが、それがここと一致します。この【From】と【To】の間で変更された箇所を取り込みます。URLには、取り込みたい先のリビジョンのURLを指定します。 |
391 | 403 | |
392 | 404 | {{{ |
… |
… |
|
427 | 439 | 次に、SVNのsvn mergeコマンドを使ってマージします。[[BR]] |
428 | 440 | |
429 | | svn mergeコマンドは下記のように指定します。この-rオプションというのはリビジョン指定をするときには必要なので忘れない様に注意が必要です。[[BR]] |
| 441 | svn mergeコマンドは下記のように指定します。この-rオプションというのはリビジョン指定をするときには必要なので忘れないように注意が必要です。[[BR]] |
430 | 442 | この例を解説すると、trunkの5114から5115の変更点をローカルのprj_remove_globalsディレクトリにマージするという意味になります。 |
431 | 443 | |
… |
… |
|
436 | 448 | co3k@colinux:~/Programming/sns$ merge -r 5114:5115 https://trac.openpne.jp/svn/OpenPNE/trunk/ prj_remove_globals |
437 | 449 | }}} |
438 | | |
439 | 450 | |
440 | 451 | |
… |
… |
|
446 | 457 | |
447 | 458 | ==== マージ==== |
448 | | |
449 | | |
450 | 459 | マージをするときに、「マージは基本的に、あるリビジョンからあるリビジョンでの変更箇所を取り込む作業」と説明しましたが、このマージの性質を利用して逆マージを行います。[[BR]] |
451 | 460 | 逆マージは、FromとToのリビジョンを変えるだけです。[[BR]] |
… |
… |
|
457 | 466 | }}} |
458 | 467 | |
459 | | この様に、FromとToを逆に指定するだけで、失敗などを取り消す逆マージをすることが出来ます。[[BR]] |
460 | | また、svnコマンドを使用した場合の逆マージも同じくFromとToを逆に指定するだけで逆マージをすることが出来ます。 |
| 468 | この様に、FromとToを逆に指定するだけで、失敗などを取り消す逆マージをすることができます。[[BR]] |
| 469 | また、svnコマンドを使用した場合の逆マージも同じくFromとToを逆に指定するだけで逆マージをすることができます。 |
461 | 470 | |
462 | 471 | (画像 逆マージ) |
… |
… |
|
464 | 473 | === tags間でのマージ === |
465 | 474 | その他にも、OpenPNE開発でよく使われるのがtags間でのマージです。[[BR]] |
466 | | 簡単にバージョンアップをすることが出来て、便利な機能です。[[BR]] |
467 | | |
468 | | 例えば、ローカルの開発環境にあるOpenPNE-2.10.3をOpenPNE-2.10.4にバージョンアップしたいときに使用すると、非常に簡単にバージョンを上げることが出来ます。[[BR]] |
| 475 | このtags間でのマージを使用すると簡単にバージョンアップをすることができて、便利です。[[BR]] |
| 476 | |
| 477 | 例えば、ローカルの開発環境にあるOpenPNE-2.10.3をOpenPNE-2.10.4にバージョンアップしたいときに使用すると、非常に簡単にバージョンを上げることができます。[[BR]] |
469 | 478 | それでは実際にOpenPNE-2.10.3をOpenPNE-2.10.4にバージョンアップする方法を見ていきましょう。 |
470 | 479 | |
471 | 480 | ==== マージ ==== |
472 | 481 | これまでのマージと同じように、マージしたいディレクトリ上で右クリックしてメニューをだし、Margeウィンドウを出してください。[[BR]] |
473 | | 先ほどまでは、リビジョンを指定していましたが、このtags間でのリビジョンは基本的にHEAD Rebisionです。ですので、ラジオボタンがRebisionに指定されている場合はFrom、To共にHEAD Rebisionに変更してください。[[BR]] |
| 482 | 先ほどまでのマージでは、リビジョンを指定していましたが、このtags間でのリビジョンは基本的にHEAD Rebisionです。ですので、ラジオボタンがRebisionに指定されている場合はFrom、Toの両方をHEAD Rebisionに変更してください。[[BR]] |
474 | 483 | そして、次にURLですが、Fromに前のバージョンのURLを指定し、Toに更新したいバージョンのURLを指定します。[[BR]] |
475 | | あとは、普通のマージと同じで、「Merge」ボタンでマージしてください。[[BR]] |
| 484 | あとは、通常のマージと同じで、「Merge」ボタンでマージしてください。[[BR]] |
476 | 485 | |
477 | 486 | このとき、Toの「Use"From:"URL(revision range is selectable in the above log dialog)」というチェックボックスが外れていないと、URLを入力できないので注意が必要です。 |
478 | | |
479 | | {{{ |
| 487 | |
| 488 | {{{ |
| 489 | |
480 | 490 | 例) |
481 | 491 | From:https://trac.openpne.jp/svn/OpenPNE/tags/stable/OpenPNE-2.10.3/ |
482 | 492 | To:https://trac.openpne.jp/svn/OpenPNE/tags/stable/OpenPNE-2.10.4/ |
| 493 | |
483 | 494 | }}} |
484 | 495 | |