Homebrew、cvsps 2.2b1、git-cvsimportを使用してGit 1.7.8.2をインストールしたMac OS X 10.7.2を使用しています。なぜ "git cvsimport"は空のGitリポジトリを返しますか?
いつかGitリポジトリに変換されたWebサイトプロジェクトのSubversionリポジトリで作業しました。私はこのプロジェクトに取り組んでいませんが、Subversionにアクセスして使用することはできませんでしたが、最新のチェックアウトを行った同僚はCVSリポジトリに変更を保存しました。
彼のCVSを変換して、私のGitリポジトリに適用したいと思います。しかし、私はCVSの経験がありません。以前はSubversionとGitだけで仕事をしていました。
今のところ私は彼のCVSレポをGitに変換しようとしています。 (おそらく、git mergeやgit rebaseを使ってSubversionとCVSリポジトリを1つのGitリポジトリにまとめるのですが、まだその時点ではありません)。
彼は私に彼の圧縮tarballを送りましたCVS "レポ"私はそれを解凍すると、プロジェクトの各ファイルに一致するファイルを持つプロジェクトの名前と一致する1つのディレクトリを取得しますが、各名前の最後に "、v"を付けてバージョン管理します。私が得たtarballは、CVSリポジトリ用のモジュールだと思います。十分なはずです。
は、ここに私のファイルの構造です:
- 〜/サイト/ CVSROOT/
- サイト名/
- の.cvsignore、V
- index.htmlを、
- V画像/
- ...
- サイト名/
私はGitのリポジトリにCVSモジュールを変換するために使用するコマンドは以下の通りです:
$ cd ~/Sites
$ rm -fr sitename # Make way for new git repo of same name.
$ git cvsimport -v -d ~/Sites -C sitename sitename
これは、出力するものである:
Initialized empty Git repository in /Users/remi/Sites/sitename/.git/
Running cvsps...
cvs_direct initialized to CVSROOT /Users/remi/Sites
cvs rlog: Logging sitename
cvs rlog: Logging sitename/.git
cvs rlog: Logging sitename/.git/hooks
cvs rlog: Logging sitename/.git/info
cvs rlog: Logging sitename/.git/objects
cvs rlog: Logging sitename/.git/objects/info
cvs rlog: Logging sitename/.git/objects/pack
cvs rlog: Logging sitename/.git/refs
cvs rlog: Logging sitename/.git/refs/heads
cvs rlog: Logging sitename/.git/refs/tags
DONE; creating master branch
fatal: refs/heads/origin: not a valid SHA1
fatal: master: not a valid SHA1
fatal: You are on a branch yet to be born
checkout failed: 32768
私が入ります新しいGitリポジトリのディレクトリ、git log
を実行すると、fatal: bad default revision 'HEAD'
が生成されます。
紛失しているものがありますか?同僚のCVSレポサーバーから必要なファイルがありますか?
ご協力いただきありがとうございます。
私はこれを使用することをお勧めしますhttp://cvs2svn.tigris.org/cvs2git.html cvspsはサポートされていません - IMHO –
私は後ほど詳しく説明しますが、しばらくの間、あなたの提案はうまくいきました。ありがとう! – remino
クール - 私はそれを答えに移しました。 –