我们正在从Subversion迁移到Mercurial,并且在SVN-> Hg转换过程中遇到了麻烦.现在,我们的单个SVN仓库为几个不同的"项目"保留代码,我们希望在迁移过程中将它们分开.我们的SVN回购组织为:
.
|-- proj1
| |-- branches
| |-- tags
| `-- trunk
`-- proj2
|-- branches
|-- tags
`-- trunk
Run Code Online (Sandbox Code Playgroud)
我们想简单地制作proj1和proj2他们自己的Hg回购.当然,我们也没有特定的历史记录proj1出现在proj2日志中.现在,hg convert转换什么时候,它只是非常愚蠢地读取所有文件,甚至没有区分分支与中继.
按目录过滤和识别SVN分支的过程是hg convert什么?
我正在使用Mercurial Convert扩展来从PerForce存储库导入数据.转换似乎已正常工作,但所有Windows行结尾(CRLF)都被unix结尾(LF)取代.
有没有办法让这个扩展单独留下行结尾?
将我的项目FakeItEasy的VCS 从SVN 更改为Google Code上的Mercurial时,我有点过于渴望(我很有趣).我所做的只是检查SVN的最新版本,然后将结帐作为新Mercurial仓库的第一个修订版.这显然会导致所有历史遗失.
后来当我对Mercurial采取了更好的习惯时,我意识到有一个"转换扩展"这样的东西允许你将SVN仓库转换为Mercurial仓库.现在我要做的是转换旧的SVN仓库,然后将当前存在的Mercurial仓库中的所有变更集导入到此转换后的仓库中,除了第一次提交到Mercurial.
我已经将SVN回购转换为当地的Mercurial回购,但现在是我被困的时候.我以为我能够使用转换扩展来将当前的Mercurial存储库转换为已转换的存储库并且使用拼接映射删除第一次提交,但我似乎无法使其工作.
我也尝试过使用不带拼接映射的转换来从当前的Mercurial repo到转换后的版本中获取所有更改集,并将当前第二个版本的rebase从旧SVN存储库中的最后一次提交但是我无法获得那要么工作.
为了使这个更清楚,我可以说我有这两个存储库:
A: revA1-revA2
B: revB1-revB2-revB3 (Where revB1 is actually a copy of revA2)
Run Code Online (Sandbox Code Playgroud)
现在我想将这两个组合到包含以下内容的新存储库中:
C: revA1-revA2-revB2-revB3
Run Code Online (Sandbox Code Playgroud) 类似于这个链接,但对于mercurial.我想找到最有助于我的mercurial存储库大小的文件.
我打算使用hg convert来创建一个新的,更小的存储库.我只是不确定哪些文件对存储库大小有贡献.它们可能是已被删除的文件.
在存储库历史记录中的任何位置找到这些内容的好方法是什么?有超过20,000个提交.我正在考虑使用PowerShell脚本,但我不确定最好的方法是什么.
我有一个包含5个子目录的存储库.
回购/
a/
file-a
b/
file-b
c/
file-c
d/
file-d
e/
file-e
Run Code Online (Sandbox Code Playgroud)
如何将每个子目录转换为不同的存储库?(只应将给定子目录的相关变更集转换为新的存储库)
我刚用Mercurial-2.9安装了TortoiseHG v2.11
我试图转换使用TortoiseSVN 1.8创建的本地Subversion存储库.4,Subversion 1.8.5
可以肯定,我的老Subversion版本库没有我创建了一个新的SVN回购称为test_repo用默认的文件夹结构的任何奇怪的怪癖,进行结帐到test_repowc,然后添加一些文本文件到躯干,然后修改并提交文件几次提供一些历史.
然后我打开cmd.exe,导航到该文件夹并尝试
hg convert test_repo
Run Code Online (Sandbox Code Playgroud)
并得到以下:
assuming destination test_repo-hg
initializing destination test_repo-hg repository
test_repo does not look like a CVS checkout
test_repo does not look like a Git repository
file:///C:/Users/xxxxxx/Documents/Subversion/test_repo does not look like a Subversion repository
test_repo is not a local Mercurial repository
test_repo does not look like a darcs repository
test_repo does not look like a monotone repository
test_repo does not look like a GNU Arch repository
test_repo does not look like a …Run Code Online (Sandbox Code Playgroud) 我在Windows机器上有一个perforce存储库说(p4).我可以通过提供IP:PortNumber详细信息使用p4v客户端访问此p4存储库.
现在我想在Linux机器上的这个p4存储库上运行"hg convert"命令,这样p4就会被转换为"p4-hg"一个mercurial存储库.
Mercurial已安装在linux机箱上,并且还启用了"hg convert"扩展.hg convert命令运行正常.
我尝试使用linux下的命令将p4转换为hg,但它不起作用:
hg转换为http:// ipAddressandPortNumber/home/p4-hg
在本地机器上,我可以将任何perforce repo转换为mercurial repo.这意味着,URL路径不适用于"hg convert"命令?
请给我一些建议.
我在远程perforce存储库上进行了hg转换,并在我的Linux机器上创建了一个Mercurial存储库.
我可以看到我的工作目录中没有任何内容,所有文件都位于该.hg/文件夹下.
如何让我的工作目录开始处理这些文件?我试图hg update让根级别的所有文件成为工作目录,但无法成功.
/my-hgrepo
.hg/store/data/.. [whole files are kept under this folder]
[no working directory]
如何让我的文件在这里开始工作?
我现在能做什么?如果没有让我的工作目录hg convert在perforce上执行repo对我来说没用?
我通过"hg convert"将旧的cvs存储库转换为mercurial.一切似乎都没问题(至少使用默认分支),但所有功能分支都缺少分支中未更改的文件.有什么方法可以解决这个问题吗?
我正在使用1.5版本,转换已通过"hg convert cvs/checkout newrepo"完成.
我有一个subversion repo,具有以下布局:
svnrepo/projectA/trunk
svnrepo/projectA/tags
svnrepo/projectA/branches
svnrepo/projectB/trunk
svnrepo/projectB/tags
svnrepo/projectB/branches
Run Code Online (Sandbox Code Playgroud)
我想转移到一个经过修改的布局的mercurial repo:
hgrepo/projectA
hgrepo/projectB
这样做的最佳方式是什么?我的一些想法是:
选项1
将subversion中的路径(使用svn move)重新排列为中间格式:
svnrepo/trunk/projectA
svnrepo/trunk/projectB
svnrepo/tags/projectA
svnrepo/tags/projectB
svnrepo/branches/projectA
svnrepo/branches/projectB
Run Code Online (Sandbox Code Playgroud)
然后hg转换为svnrepo/trunk.这会混淆hg导入吗?
选项2 hg将每个项目/主干转换为单独的hg回购.然后将它们合并到一个单独的hg repo中(使用hg init,hg pull -f projectA等).我认为这将丢失第一个导入项目的分支名称和标签.
我正在尝试将一个Subversion存储库转换为Merurial一个存储库,此时,我只是把头撞在墙上。
在当前的Windows服务器上,安装了以下程序:
Visual SVN服务器,
乌龟汞
Python2.7
在我的控制台中,运行命令
hg convert [dest] [source]
Run Code Online (Sandbox Code Playgroud)
这给出了很多关于存储库类型不同的错误,这也
could not load Subversion python bindings
Run Code Online (Sandbox Code Playgroud)
经过一番谷歌搜索后,我发现这些绑定应该包含在TortoiseHg中,但是正如我已经提到的,我已经安装了TortoiseHg,但仍无法正常工作。然后,我尝试下载svn python绑定,并阅读将其添加到Python27 / Lib / site-packages目录中的某个位置,但仍无法正常工作。我认为我可能不得不用python或其他东西重新编译这些绑定,但是我从未使用过python,所以我很迷路
我有一个包含一个文件(subdir/a.txt)的存储库,以及一个版本,添加它.
如果我hg convert使用包含的文件映射运行include subdir/a.txt,它可以正常工作.
但是,如果文件映射是include subdir/*.txt,include */a.txt或include **/*.txt,则生成的存储库中没有修订.
是否可以在文件映射中使用通配符hg convert?
-
我想这样做的原因是我可以创建一个包含历史记录的新存储库,但没有任何二进制文件.我希望能够做类似的事情exclude **/*.dll.有没有办法做到这一点?
mercurial ×13
svn ×6
branch ×1
cvs ×1
perforce ×1
python ×1
tfs ×1
tortoisehg ×1
tortoisesvn ×1