ひしだまの変更履歴

ひしだまHPの更新履歴。
主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲームや音楽です。

Gitリポジトリーのコピー

2016-11-28 20:42:08 | PG(CVS・SVN・Git)

Windows10がWindows史上最悪のWindowsなので、Windows7を再インストールして環境構築中なのだが。
Cドライブは再インストールの為にフォーマットしたけど、データはDドライブに入れていたから、基本的にはそのまま使える。
と思っていたら、Cygwin上のGitのアカウント管理でハマったorz

Windows7をインストールしたときにユーザー名は同じにしたんだけど、内部ではIDが異なっていると思われる。そのせいで、Cygwinの今までのディレクトリーおよびファイルが「異なるユーザー」という扱いになってしまう。パーミッションが700のファイルだと、アクセスできない。
そのままだとchmodもchownも実行できない(パーミッションのエラーになる)。管理者モードでCygwin bashを起動すれば実行できたので、オーナーを変更できたが。

やれやれ、これで解決…と思ったら、Gitでブランチを変更するときに問題発生。いくつかのファイルがパーミッションエラーになる。
そのファイルのパーミッションを見てみると、グループだけrwで、ユーザーは権限無し。
たぶんGit内部でユーザーのIDを管理していて、そのIDでファイルを作ろうとしているのではないかと思う。そのIDのユーザーは無いので、ユーザーのパーミッションのrwが付かないのではないかと推測する。
(たぶん、.gitディレクトリーをそのまま別のWindowsマシンに持っていってCygwinで使ったら、同じ問題が起こるのではないかと思う) 

結局、git clone --bareでリポジトリーをコピーして作り直したら、新しいリポジトリーは普通に使えるようになった。(git clone --mirrorでもおおむね大丈夫そうだったが、bareとmirrorの違いはよく分からない…)

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする