2016-08-25 3 views
0

私はac2gitを使って私のaccurevデポをgitリポジトリに変換しています。私は変換を成功させることができましたが、新しいリポジトリを作成した後の手順に従うと、コミットされているaccurevトランザクションを表す変更をプッシュすることができません。ac2gitとそれに続くbitbucket

私は、歴史を失っていることを意味します。ビットバケットのコミットオプションをチェックすると、私はヒストとdiffファイルしか見ることができません。

私は、次の手順に従っ:

python ac2git.py 
cd existing-project 
git add --all 
git commit -m "Initial Commit" 
git remote add origin http://****@bitbucket.******.git 
git push -u origin master 

私はのBitbucketに新しいですので、私は問題が何であるかわかりませんか?誰もこのaccurev-> git-> bitbucketを試しましたか?

つまり、ac2gitの結果として作成されたローカルのgitリポジトリをbitbucketの新しいリポジトリに移動するにはどうすればよいですか?

The commit in bitbucket gives me the diff.xml/hist.xml/stream.xml

+0

コミットメッセージの履歴はどういう意味ですか?ローカルリポジトリで 'git log'を実行すると、すべてのデータを見ることができますか?その場合、 'git push --all -u origin master'を実行してみてください – Av4t4r

+0

はい、私のローカルでは、プッシュメッセージを実行すると、このエラーが出ます:src refspec masterが一致しません。 だから、私はhttp://stackoverflow.com/questions/4181861/src-refspec-master-does-not-match-any-when-pushing-commits-in-gitを見ましたが、これを行うことで私はdiffビットバケットコミットのヒストファイルと私はコードの履歴を見ることができます。 –

+0

リモートのRepoを先に追加する必要があります。 'git remote add origin http:// **** @ bitbucket。******。git'そしてそれ以降は、プッシュしてください。 'git remote'で現在のリモコンを確認することができます。編集: 'set-url'は*既存の* repoのURLを変更することです – Av4t4r

答えて

1

あなたの最初のステップは、のBitbucketリポジトリを作成することです。そして、あなたは単にビットバケットの指示に従ってくださいする必要があります。

cd /path/to/my/repo 
git remote add origin http://****@bitbucket.******.git 
git push -u origin --all # pushes up the repo and its refs for the first time 
git push origin --tags # pushes up any tags 
+0

それで、私のbitbucketリポジトリには、実際のコードの代わりにdiff.xmlがあります。それは私が歴史を得ていないと言ったときの意味です。私はコミットのスクリーンショットを添付しています。 –

+0

間違ったディレクトリにリポジトリを作成したようです。 'git show'と 'ls'(Windowsでは' dir')のスクリーンショットを添付してください。 – Av4t4r

+0

いいえ、それは問題ではありません。私はなぜそれが起こっているのか知っていると思う。ツールにはいくつかのバグがあります。ファイルが存在するにもかかわらず、私にファイルが見つからないというエラーが出ています。 –

0

私はこれが起こったことであることを100%かどうか分からないが、それは含めて、ac2gitスクリプトがrefs/ac2git/*レフリーの下でのメタデータの多くを保存することは注目に値しますあなたのストリームのトランザクションごとにコミット履歴にhist.xml,streams.xmlおよびdiff.xmlを格納する参照があります。約refs/ac2git/depots/<depot_number>/streams/<stream_number>/infoを説明するhow_it_works.mdを参照してください。

このリファレンスはブランチとして機能しますが、ドキュメントではrefs/heads/以下のものしかプッシュしないと主張しているので、git push origin -u -allを呼び出すことによってこのリファレンスがプッシュアップされるべきではありません。しかし、エラーが発生した場合、スクリプトは変換されたブランチを正確にチェックアウトしない可能性があります。デタッチされたHEADステートにローカルリポジトリを残して、内部参照の1つを実際にチェックアウトします。

この場合、新しいBitbucketリポジトリの場合はgit push origin -u --allが何をするのか分かりませんが、HEAD refをrepoにプッシュした場合は、リモートでこのメタデータを取得します。

しかしこれは単なる理論に過ぎず、誰かがこの情報を使用してより明確な解決策を導くことができれば幸いです。

関連する問題