Skip to content

Commit fc2cbc5

Browse files
committed
use Git
1 parent a0c543f commit fc2cbc5

File tree

1 file changed

+27
-27
lines changed

1 file changed

+27
-27
lines changed

docs/how_to_write_patches.md

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -16,22 +16,15 @@ Windowsユーザーであれば[Visual Studioでのコンパイル方法](http:/
1616

1717
最新のソースコードを取得する為に、シェル(Windowsであればコマンドプロンプト)から以下を実行します。
1818

19-
$ hg clone https://bitbucket.org/vim-mirror/vim
19+
$ git clone https://github.com/vim/vim
2020

21-
今回の手順では [Mercurial Queue](http://mercurial.selenic.com/wiki/JapaneseMqExtension)を利用するので、あらかじめ機能を有効化しておきましょう
21+
次に修正内容に対応するブランチを作成します
2222

23-
$ cat ~/.hgrc
24-
[extensions]
25-
mq=
26-
27-
次に修正内容に対応するパッチを作成します。
28-
今回はパッチ名を`010-fix-quickfix-on-windows.patch`としました。
29-
30-
$ hg qnew 010-fix-quickfix-on-windows.patch
23+
$ git checkout -b add-new-func-trim
3124

3225
パッチが作成されたらソースファイルを修正します。
3326

34-
$ vim os_win32.c
27+
$ vim evalfunc.c
3528

3629
この際コーディングスタイルは既存のものに合わせるようにしましょう。
3730
[`:help coding-style`](http://vim-jp.org/vimdoc-ja/develop.html#coding-style)にコーディング規約が書かれてあります。
@@ -41,20 +34,33 @@ Windowsユーザーであれば[Visual Studioでのコンパイル方法](http:/
4134

4235
$ patch -p1 < something.patch
4336

44-
ソースファイルを修正したらパッチを更新しましょう
37+
ソースファイルを修正したらコミットしましょう
4538

46-
$ hg qrefresh
39+
$ git commit -m "added new function trim()"
4740

4841
もし、修正中に元のソースコードが変更された場合は、次のコマンドでリポジトリを同期させます。
4942

50-
$ hg qpop -a; hg pull -u; hg qpush -a
43+
$ git fetch --all
44+
$ git rebase master
45+
46+
全ての修正が完了したら pull-request を送信しましょう。GitHub 上で vim のリポジトリから Fork ボタンをクリックするか、[hub](https://github.com/github/hub) コマンドをお持ちであれば `hub fork` でも可能です。fork が出来たら自分のリポジトリに対して push します。
47+
48+
$ hub fork
49+
$ git push [ユーザID] add-new-func-trim
50+
51+
あとはブラウザで vim のリポジトリを開くと pull-request ボタンが表示されるので指示に従って pull-request を作成して下さい。その際、海外の方も開発に参加していますので本文は英語で書いて頂く必要があります。
5152

52-
全ての修正が完了したらパッチファイルを作りましょう。最終的には全修正を一連のパッチファイルとしてメーリングリストに投げます。
53+
pull-request の冒頭で
5354

54-
$ hg qdiff > fix-quickfix-on-windows.diff
55+
- 発生している現象
56+
- 再現手順
57+
58+
を説明します。また、パッチを作成してメーリングリストに送信する方法もあります。
59+
60+
$ git diff master > add-new-func-trim.diff
5561

5662
これで作成したパッチの差分ファイルが作成出来るので、メーリングリスト[vim\_dev](https://groups.google.com/forum/#!forum/vim_dev)に添付ファイルを付けるか本文に貼り付けてメールを投げます。(vim\_dev初回投稿時はBram氏の承認が必要なため、すぐには表示されません。)
57-
メールの冒頭で
63+
pull-request と同様にメールの冒頭で
5864

5965
- 発生している現象
6066
- 再現手順
@@ -68,21 +74,15 @@ Windowsユーザーであれば[Visual Studioでのコンパイル方法](http:/
6874
Vimでは基本的にバグ修正が優先して取り込まれ、新機能の追加は後回しにされる傾向が強いです。
6975
特に巨大な変更の場合、パッチの取り込みがマイナーリリース時点まで保留されることもあります。
7076

71-
パッチが取り込まれ、パッチが不要になったら
77+
パッチが取り込まれたらローカルのブランチを削除しても構いません。
7278

73-
$ hg qdelete
79+
$ git checkout master
80+
$ git branch -D add-new-func-trim
7481

75-
で削除できます。あとは最新版のVimをMercurialで取ってきてコンパイルするだけです
82+
で削除できます。あとは最新版のVimを Git で取ってきてコンパイルするだけです
7683

7784
さぁ君もCONTRIBUTE AUTHORになろう!
7885

79-
※ここで紹介しているMercurial Queueは[quilt](http://savannah.nongnu.org/projects/quilt)と呼ばれるパッチ管理ソフトウェアのコマンド体系をベースにしています。
80-
Mercurial Queueの使い方を勉強するときには、まずquiltについて学んでおくと理解が早いでしょう。
81-
8286
参考資料:
8387

84-
- [Mercurial Queues エクステンション](http://mercurial.selenic.com/wiki/JapaneseMqExtension)
85-
- [Mercurial MQ について](http://d.hatena.ne.jp/dayflower/20090520/1242794877)
86-
- [12 Managing change with Mercurial Queues](http://foozy.bitbucket.org/hgbook-ja/d6ca1334a19d/hgbookch12.html#x105-26500012)
87-
- [13 Advanced uses of Mercurial Queues](http://foozy.bitbucket.org/hgbook-ja/d6ca1334a19d/hgbookch13.html#x108-30000013)
8888
- [Vim development](http://www.vim.org/develop.php)

0 commit comments

Comments
 (0)