7
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

sourcehut にパッチを投げる方法

Posted at

sourcehut という git のホスティングサービスがあります。
公式サイトは https://sourcehut.org/ です。

日本ではあまり見慣れないサービスですが、利用されている例を上げると Go の GUI ライブラリの Gio はこのサービスでホストされています。
https://git.sr.ht/~eliasnaur/gio

このサービスには Pull Request という概念はなく、自分でパッチをメーリングリストに投稿し、取り込んでもらう必要があります。
git には send-email というコマンドがあり、これを使ってパッチをメーリングリストに送ります。

今回自分がパッチを投げるまでに苦労したので同じことを行いたい人に向けて手順を残します。

前提条件

  • git config の user.email に gmail のアカウントを設定している
  • google のアカウントで2段階認証を設定している
  • gmail の「メール転送と POP/IMAP」の項目で IMAP を有効にしている

事前準備

アプリパスワードを設定する

https://support.google.com/accounts/answer/185833 を見ながら設定します。

https://myaccount.google.com/security からアプリパスワードを作成します。
端末の種類を選ぶ箇所がありますが、その他で設定します。
生成が完了すると、パスワードが表示されます。
このパスワードは一度ページを離れると見れなくなるので、1password などに保存しておく必要があります。

git の config の設定をする

gitconfig ファイルに以下の設定を追加します。
大抵はリポジトリの .git/config に設定すると影響範囲が対象のリポジトリだけになるので便利です。

[sendemail]
	smtpEncryption = tls
	smtpServer = smtp.gmail.com
	smtpUser = username@gmail.com
	smtpServerPort = 587

実際にパッチを送る

実際にコマンドを実行してパッチを送ります。

git send-email HEAD^

HEAD^ の部分は適宜変更する必要がありますが、これを実行するとメールを送信するための編集画面が開きます。

特に変更する必要がなければ、このままエディタを閉じます。

すると「本当に送信するか?」というダイアログが出ます。
yesで送信しようとすると

Password for 'smtp://username@gmail.com@smtp.gmail.com:587':

というダイアログが出るので事前準備で取得したパスワードを入力します。
上手くいくとメールが送信されて、https://lists.sr.ht/USER/REPO から確認することができます。

7
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?