1
0

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 3 years have passed since last update.

WindowsでSaplingを試す

Posted at

概要

MetaがGit互換のソース管理クライアントをオープンソース化したみたいです。
折角なので試してみようかと思います。

導入

1. 最新リリースを入手する

GitHubのリポジトリから最新リリースを落としてきます。
https://github.com/facebook/sapling

Windowsの場合はzipファイルです。解凍して適当なディレクトリに置きます。
公式ドキュメントではC:\Program Filesに配置していますね。

Saplingの全機能を使うためにはさらに以下が必要みたいです

  • Git for Windows (Gitリポジトリを扱う場合)
  • Node.js (v10以降、sl webコマンドを使うために必要)

2. Pathを通す

slコマンドを使うために環境変数にPathを通しておきます。
PowerShellのSet-Locationと競合するようなので、PowerShellで使うときはエイリアスを変更する必要があるようです。

公式サイトから引用
PS> Set-Alias -Name sl -Value 'C:\Program Files\Sapling\sl.exe' -Force -Option Constant,ReadOnly,AllScope
PS> sl --version
Sapling 20221108.091155.887dee39

3. 設定

初回のみ以下のコマンドで設定ファイルを作る必要があります。

sl config --user

以下の画面が表示されます。
image.png

丁寧に説明文や設定例が記載されているので、それに従って設定します。

4. GitHubと認証する

公式曰く、GitHub CLIを使うのが推奨とのこと。

以下のコマンドで認証できます。

gh auth login --git-protocol https

GitHub Enterprise Serverとも認証できるので企業でも使いやすいですね。

利用

1. クローン

試しにsaplingのリポジトリをクローンします

公式から引用
$ sl clone https://github.com/facebook/sapling
$ cd sapling
$ sl
@  e11a98084  21 minutes ago  evangrayk  remote/main
│  Make code font not red by default
~

ディレクトリの中で、引数なしでslコマンドを実行するとコミットグラフが表示されるようです。
上記の場合Make code font not red by defaultは直近のコミットのタイトルです。

Gitの場合はリポジトリのフォルダ内に.gitというフォルダが作られますが、Saplingの場合は.slフォルダが作られるんですね。

2. コミット

適当にファイルを作ってコミットしてみます

$ echo 'Hello, World!' > hello.txt
$ sl add .
$ sl commit -m "コミット"
$ sl
  @  2xxxxxxxf  2 minutes ago  xxxxxxxx
╭─╯  コミット
│
o  exxxxxxx4  61 minutes ago  remote/main
│
~

コミットグラフが表示されますが、見た感じ自動的にブランチが分岐しているようです。

3. GUI操作

以下のコマンドを打つとコミットグラフがブラウザで表示されます

$ sl web

以下の雰囲気
image.png
簡易GUIが付いていると気軽に使えますね

4. プルリクエストの作成

このリポジトリでは実験できませんが、
プライベートな自分の実験用リポジトリで試せます。

$ sl pr

を打ち込むとプルリクを作成します。
この時、プルリクはpr1というブランチが自動で作られていました。

ブランチを切らなくても自動で別ブランチとしてスタックを作ってプルリクを出してくれるようです。

5. ReviewStackの利用

Metaの内部で利用されるコードレビューツールに触発され、GitHubのUIを意識した、GitHub用プルリクレビューツールのようです。

SaaSみたいで、運営自体はMetaが行っているようです。
なので、利用時にアクセス許可を求められます。認証情報等はブラウザのローカルに保存されるそうですが、企業では使いづらいかもしれません。

とりあえず、使いかたは簡単で、プルリクのアドレスを編集するだけです。

# 何か適当なリポジトリのプルリクをブラウザで開くと、以下のアドレスだと思います。
https://github.com/user/repo/pull/1
# このアドレスの github.com を reviewstack.dev に置き換えます
https://reviewstack.dev/user/repo/pull/1

ブラウザで上記アドレスへアクセスするとアクセス許可を求められ、
許可すると、プルリクのレビュー画面が表示されます。

画面イメージは公式リファレンスを見るのが早いですね( https://sapling-scm.com/docs/addons/reviewstack/ )
シンプルです。しかし、大体これで事足りる気がします。

VSCcode拡張機能について

VSCode用の拡張機能が存在します。
Visual Studio Code Marketplace | Sapling SCM

試しに入れてみました。Ctrl + Shift + Pでコマンドパレットを表示して利用するようです。
以下の感じのインターフェースです。
image.png

しかし、私の環境がイマイチなのかこれらはエラーが出て動いてくれませんでした。

まとめ

今回試しにSaplingを使ってみましたが、最も一般的なワークフローを少ないコマンドで実施している印象を受けました。

GitはVSCodeで強力にサポートされていたり、その他Gitクライアントも多数存在しているため、まだまだGitの方が都合が良い場面が多いかもしれませんが、プルリクを出す機能があったりして面白かったです。

開発状況は気にかけていこうと思います。

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?