「Gitfs」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(ページの作成:「{{Lowercase title}} Category:バージョン管理システム en:Gitfs [https://www.presslabs.com/gitfs/docs/ gitfs] より: :gitfs は git と完全に統合さ...」)
 
(同期)
1行目: 1行目:
 
{{Lowercase title}}
 
{{Lowercase title}}
  +
[[Category:FUSE]]
 
[[Category:バージョン管理システム]]
 
[[Category:バージョン管理システム]]
 
[[en:Gitfs]]
 
[[en:Gitfs]]
  +
[[ru:Gitfs]]
[https://www.presslabs.com/gitfs/docs/ gitfs] より:
 
  +
[https://www.presslabs.org/gitfs/docs/ gitfs] より:
 
:gitfs は git と完全に統合された FUSE ファイルシステムです。リモートリポジトリのブランチをローカルでマウントすることができ、ファイルに変更を加えると自動的にリモートにコミットされます。
 
:gitfs は git と完全に統合された FUSE ファイルシステムです。リモートリポジトリのブランチをローカルでマウントすることができ、ファイルに変更を加えると自動的にリモートにコミットされます。
 
:あらゆるリポジトリをマウントすることができ、変更は全て自動的にコミットに変換されます。また、gitfs は全てのコミットのスナップショットをシミュレートすることで現在使用しているブランチの履歴を陳列します。
 
:あらゆるリポジトリをマウントすることができ、変更は全て自動的にコミットに変換されます。また、gitfs は全てのコミットのスナップショットをシミュレートすることで現在使用しているブランチの履歴を陳列します。
14行目: 16行目:
   
 
gitfs を使うことでリモートの git リポジトリを [[Fuse|FUSE]] ファイルシステムとしてマウントできます。例:
 
gitfs を使うことでリモートの git リポジトリを [[Fuse|FUSE]] ファイルシステムとしてマウントできます。例:
$ gitfs <nowiki>http://your.repository.org/repository.git</nowiki> ''/mount/directory''
+
$ gitfs <nowiki>http://example.com/repository.git</nowiki> ''/mount/directory''
   
詳しくは [https://www.presslabs.com/gitfs/docs/arguments/ ドキュメント] を見てください。
+
詳しくは [https://www.presslabs.org/gitfs/docs/arguments/ ドキュメント] を見てください。
   
 
== トラブルシューティング ==
 
== トラブルシューティング ==
34行目: 36行目:
 
=== ssh 鍵の使用 ===
 
=== ssh 鍵の使用 ===
   
Gitfs (と依存ライブラリの pygit2) は活発に開発されておりオプションも頻繁に変更されます。[https://www.presslabs.com/gitfs/docs/arguments/ 公式ドキュメント] では {{ic|1=-o key=}} オプションを使って鍵を変更できると書かれていますが、AUR のバージョン 0.4.1-1 では {{ic|1=-o ssh_key=}} を使う必要があります。鍵がパスフレーズによって保護されている場合、gitfs はパスフレーズを要求せず、ただエラーを返します:
+
Gitfs (と依存ライブラリの pygit2) は活発に開発されておりオプションも頻繁に変更されます。[https://www.presslabs.org/gitfs/docs/arguments/ 公式ドキュメント] では {{ic|1=-o key=}} オプションを使って鍵を変更できると書かれていますが、AUR のバージョン 0.4.1-1 では {{ic|1=-o ssh_key=}} を使う必要があります。鍵がパスフレーズによって保護されている場合、gitfs はパスフレーズを要求せず、ただエラーを返します:
 
_pygit2.GitError: Failed to authenticate SSH session: Callback returned error
 
_pygit2.GitError: Failed to authenticate SSH session: Callback returned error
 
以下を実行して別の鍵を作成することを推奨します:
 
以下を実行して別の鍵を作成することを推奨します:

2018年4月20日 (金) 00:42時点における版

gitfs より:

gitfs は git と完全に統合された FUSE ファイルシステムです。リモートリポジトリのブランチをローカルでマウントすることができ、ファイルに変更を加えると自動的にリモートにコミットされます。
あらゆるリポジトリをマウントすることができ、変更は全て自動的にコミットに変換されます。また、gitfs は全てのコミットのスナップショットをシミュレートすることで現在使用しているブランチの履歴を陳列します。
gitfs は全てのファイルを追跡したい場合に有益ですが、同時に、コミットに変換されるのを自分で管理することはできません。

インストール

gitfsAURインストールしてください。

使用方法

gitfs を使うことでリモートの git リポジトリを FUSE ファイルシステムとしてマウントできます。例:

$ gitfs http://example.com/repository.git /mount/directory

詳しくは ドキュメント を見てください。

トラブルシューティング

/var/lib/gitfs への書き込み権限

/var/lib/gitfs ディレクトリが必要ですが自動では作成されません。通常ユーザーで gitfs をマウントしたい場合、そのユーザーに書き込み権限を与えてください:

# mkdir /var/lib/gitfs
# chown username:users /var/lib/gitfs

pygit2 への書き込み権限

gitfs を最初に実行したとき、gitfs は自己解析を開始しますが、通常ユーザーで実行していると失敗します。一度 root で実行してください。何かマウントをする必要はありません。root でヘルプメッセージを表示するだけで十分です:

# gitfs -h

ssh 鍵の使用

Gitfs (と依存ライブラリの pygit2) は活発に開発されておりオプションも頻繁に変更されます。公式ドキュメント では -o key= オプションを使って鍵を変更できると書かれていますが、AUR のバージョン 0.4.1-1 では -o ssh_key= を使う必要があります。鍵がパスフレーズによって保護されている場合、gitfs はパスフレーズを要求せず、ただエラーを返します:

_pygit2.GitError: Failed to authenticate SSH session: Callback returned error

以下を実行して別の鍵を作成することを推奨します:

ssh-keygen
/home/user/.ssh/gitfs_rsa
<empty passphrase>
<empty passphrase again>