前提条件として、Bitbucket にアカウントとリポジトリを作成し、公開鍵も登録しておきます。秘密鍵じゃなくて公開鍵なので間違わないように。
さて、最新の TortoiseHG のバージョンは 4.9.0 です。
TortoiseHG は SSH 接続する際に、付属の TortoisePlink.exe を使います。これは PuTTY の Plink.exe をベースにしているらしいです。
見ての通り、バージョンは 0.68 です。
一方、PuTTY のほうは最新バージョンは 0.71 です。PuTTY のほうでも、一応 PuTTY wish ed25519 にあるように、Ed25519 はサポートしているようです。
ただ、秘密鍵を .PPK(PuTTY形式)にしないといけないようで、そのためには puttygen.exe が必要です。ということでこちらからダウンロードします。
0.68 の puttygen.exe は、あらかじめ秘密鍵のパスフレーズを抜いておかないとインポートできませんが、最新の 0.71 はそのままでインポートできます。パスフレーズを入力してから、"Save private key" で PuTTY形式の秘密鍵を作成します。
次に ~/mercurial.ini を編集します。
[ui] ssh = "C:\Program Files\TortoiseHg\lib\TortoisePlink.exe" -ssh -i C:\Users\chiyosuke\.ssh\id_ed25519.ppkこんな感じで定義します。
そうしたら、
hg clone ssh://hg@bitbucket.org/chiyosuke/repos
みたいな感じで使えます。次にリポジトリを作成して clone します。
まず、Bitbucket の ダッシュボードを開きます。
"+" リンクをクリックして、"CREATE" → "リポジトリ" します。
下の方に "IMPORT" というのがあるのが気になります。これは他のホスティングサイトからリポジトリをインポートするための機能のようです。
さあ、空のリポジトリ(README.mdがあるかも)ができました。
次はこれをローカルに clone します。
まずコマンドプロンプトを起動してクローンしたい場所に移動します。
次に今 Bitbucket に作成したリポジトリを開きます。
この「クローンの作成」をクリックすると、Mercurial でクローンするためのコマンドを表示してくれますので、それをコピーし、コマンドプロンプトに貼り付けて実行します。
ローカルにクローンできたら、そのリポジトリのディレクトリを開いて、
.hg/hcrc
を編集します。以下は ~/.config
をリポジトリに登録してクローンしたときの設定です。--- C:/Users/chiyosuke/.config/.hg/hgrc~ Sun Apr 7 07:53:53 2019 +++ C:/Users/chiyosuke/.config/.hg/hgrc Sun Apr 7 08:42:07 2019 @@ -1,6 +1,8 @@ # example repository config (see 'hg help config' for more info) [paths] default = ssh://hg@bitbucket.org/chiyosuke/.config +default:pushurl = ssh://hg@bitbucket.org/chiyosuke/.config + # path aliases to other clones of this repo in URLs or filesystem paths # (see 'hg help config.paths' for more info) @@ -11,4 +13,22 @@ [ui] # name and email (local to this repository, optional), e.g. -# username = Jane Doe <jdoe@example.com> +merge = winmergeu +editor = nvim +username = chiyosuke +askusername = True +ssh = "C:\Program Files\TortoiseHg\lib\TortoisePlink.exe" -ssh -i C:\Users\chiyosuke\.ssh\id_ed25519.ppk + +[tortoisehg] +ui.language = ja +vdiff = winmergeu +editor = nvim +shell = powershell +summarylen = 80 +closeci = False +confirmdeletefiles = True + +[extensions] +win32mbcs = +mq =ここまでやったらあとは通常通り。ファイルを作成して、add して、commit して、push します。
TortoiseHG では push は Synchronize というメニューから呼び出されるので、push を探しても見つかりません。さらに Synchronize はリポジトリのトップディレクトリでしか現れませんので、ないよないよと探さないように。
一方、すでにローカルにあるリポジトリを Bitbucket に登録して使う方法です。Push versioned code to an empty repositoryの翻訳です。
---
存在するリポジトリを Bitbucket の空のプロジェクトにアップロードできます。こうすることで、Bitbucketはコミット履歴を管理するようになります。
もしまだ Bitbucket リポジトリを持っていないなら、最初に Bitbucket にリポジトリを作成してください。
- 最初の設定ファイルを編集します。
(リポジトリ)/.hg/hgrc
を開き、作成したリポジトリの「クローンの作成」で表示される URL をコピーして貼り付けます。 - コマンドプロンプトでローカルリポジトリのルートディレクトリに移動します。
hg push
します。
ということのようです。
0 件のコメント:
コメントを投稿