我正在使用ac2git将我的accurev depot转换为git仓库。我能够成功进行转换,但是当我在创建新存储库后按照步骤操作时,我无法推送代表现在提交的accurev事务的更改。
我的意思是我放弃了历史记录,当我检查bitbucket上的提交选项时,我只能看到hist和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吗?
换句话说,如何将我的本地git存储库作为ac2git的结果创建到bitbucket上的新存储库?
答案 0 :(得分:1)
您的第一步是在BitBucket中创建一个存储库。然后你只需要按照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
答案 1 :(得分:0)
我不是百分之百确定这是发生了什么但是值得注意的是 ac2git 脚本在refs/ac2git/*
refs下存储了很多元数据,包括一个会参考的refs为您的每个流的交易在其提交历史记录中存储hist.xml
,streams.xml
和diff.xml
。请参阅how_it_works.md,其中解释了refs/ac2git/depots/<depot_number>/streams/<stream_number>/info
。
虽然这个引用充当了一个分支,但它不应该通过调用git push origin -u -all
来推高它,因为文档声称这只会推动refs/heads/
下的事情。但是,如果出现错误,脚本可能无法正确检出已转换的分支,并且可能使本地存储库处于分离的HEAD 状态,在该状态下,它将实际检出其中一个内部引用。< / p>
我不知道git push origin -u --all
在这种情况下对于一个全新的Bitbucket仓库会做什么,但是如果它已经将你的HEAD ref推到了repo那么你就会在遥控器上获得这个元数据。
但是,目前这只是一个理论,希望有人能够利用这些信息为您提供更清晰的解决方案。