问题标签 [svn2git]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - svn2git:无法设置跟踪信息
我正在尝试在 svn2git 的帮助下将 SVN 项目迁移到 git。执行命令时退出并出现以下错误:
开始它:
我找不到任何解决方案,而且似乎没有多少用户有同样的问题。
我能做些什么来解决这个问题?
git - Svn2Git - 将大型 GIT 存储库推送到远程
我目前正在尝试将我们的大型 Subversion 存储库(包括历史记录在内大约 25GB)移动到 GIT 中,我似乎遇到了两个问题。其中一个我认为我已经解决了,但为了完整起见,我会涵盖两者,以防我搞砸了第一个修复;
Subversion 存储库似乎没有遵循一致的分支模式,看起来这种模式多年来发生了变化,所以首先我使用 rootistrunk 选项将整个 repo 获取到 git:
svn2git http://svnurl/repo --rootistrunk --authors authors.txt
这可行,但是回购太大而无法推送到远程,我收到以下错误;[远程拒绝] master -> master (超过最大请求长度)
为了解决这个问题,我使用以下方法获取了 Subversion 存储库的一部分,希望一次可以得到 500 次提交并解决大型打包问题;
svn2git http://svnurl/repo --rootistrunk --authors authors.txt --revision 1:500
然后我推送并成功了,然后我跑去git svn fetch -r 501:1000
获取下一个 500 次提交,但是当我尝试在最新的获取之后推送时,我收到一条消息说“一切都是最新的”,尽管事实并非如此。
我已经搜索了 git 和 svn2git 的帮助文件,希望能找出我做错了什么,但经过几天的研究,我仍然没有解决方案,我是 git 的新手,很可能我已经错过了一个老帽子明显的东西。任何人都可以阐明我做错了什么吗?如果我做了一个错误的假设并且我做错了,我会很高兴听到它,因为在这个阶段它不会让我感到惊讶!
我目前正在尝试推进 TFS 2013 项目和 Stash repo,两者都表现出相同的行为,所以我一定在 GIT 方面做错了。第一次推送在这两种情况下都有效,只有第二次不想接受新文件。我正在执行推送的服务器运行 Ubuntu,TFS 在 Windows Server 2012 上,而 Stash 在另一个 Ubuntu 机器上。
欢迎任何提示,我现在很困惑,不知道下一步该去哪里。
谢谢,基冈
git - 在不丢失提交历史的情况下将代码从 SVN 迁移到 GIT?
我想将现有的 svn repo 迁移到 git repo。我使用'svn2git'。情况是:
SVN 回购:
- ./svn_repo/a/
- ./svn_repo/b/
我在文件夹 svn_repo、'a' 和 'b' 中有不同的 svn 日志。例如:
- svn_repo: 'svn 日志' -> bla, bla
- svn_repo/a: 'svn 日志' -> asd, asd
- svn_repo/b: 'svn 日志' -> 123, 123
移民:
- svn2git -v 'svn_repo' --trunk / --nobranches --notags
- 创建一个文件 authors.txt,其中包含要进行的转换列表,每行一个。
- 然后将作者选项传递给指向文件的 svn2git: svn2git 'svn_repo' --authors ~/authors.txt
- git remote add origin ..git_repo 然后'git push origin master'
现在:GIT 回购:
- ./git_repo/a/
- ./git_repo/b/
一切都很好,除了日志。
迁移后:
- git_repo: 'git log' -> bla, bla
- git_repo/a: 'git log' -> bla, bla * (而不是 asd, asd)
- git_repo/b: 'git log' -> bla, bla * (而不是 123, 123)
迁移后如何在 git 中拥有与 svn 中(在目录 a、b 等中)相同的日志?
BR
git - svn2git 忽略“--username”-参数
我刚刚尝试将 svn-repo 导入到 git repo,但我遇到了一些问题。在开始导入第一个 repo 后,svn2git http://path.to.repo.com/repos/a/ --username abc --verbose
我认为“这花费了太长时间”。由于此时它仅用于测试目的,我决定先CTRL-C
导入一个较小的存储库。所以我输入了svn2g http://path.to.repoe.com/repos/b/ --username xyz --verbose
.
这给了我这个
我确定,用户名是正确的,所以我查看了 svn_access_log 并在那里看到,每次我运行第二个命令--username xyz
时都会在我的 svn_access_log 中弹出:
为什么 svn2git 在这里使用了错误的用户名,即使我提供了它?
更新:它工作,在我跑之后svn co http://path.to.repo.com/repos/b/ --username xyz
。谁能给我解释一下?
git - svn2git 无法正确导入标签
我有一个SVN
-repository,我想将它转换成一个git
-repository。我正在使用svn2git
来实现这一点。不幸的是,该工具似乎无法正确获取标签。我的SVN
-repository 看起来像这样:
但是 git 存储库并不代表这一点。标签如下所示:
注意缺少的标签。由于某种原因,它们被存储为远程分支:
这里发生了什么?
编辑:我忘了添加我的命令:svn2git http://path/to/repository --no-minimize-url --verbose --username='username' --trunk trunk --nobranches --tags tags
Edit2:我刚刚检查并发现,看似随机的数字实际上是SVN
-repository 中的修订版,标签是由它制作的。有点奇怪,大约 20 个标签中只有 3 个会添加修订版......
Edit3:显然问题与一个标签的注释有关,其中包含"
. 之后的所有标签都保存为分支,因为svn2git
不会转义"
并尝试执行类似的操作
由于明显的原因而失败。我仍然不知道,为什么对于某些标签它会添加修订号。如果有人对如何克服这个问题有任何建议,我将非常感激。
Edit4:我找到了逃避问题的解决方案。-source中的转义函数svn2git
有点奇怪......它只'
用'\''
. 我受够了...
git - 不存在标签的 Maven 发布插件“标签已存在”
我的设置: -servergit
上的 -repositoryAtlassian Stash
和Atlassian Bamboo
. 我正在Maven 3.1.1
使用release-plugin 2.3.2
. 中的计划Bamboo
如下所示:
- 从
git
-repository 签出 - 执行一个
clean install
- 执行
release:prepare
andrelease:perform
withignoreSnapshots=true
andresume=false
直到最后一步的一切工作正常,但Maven
声明它不能标记发布,因为标记已经存在。这是日志:
好吧,显然标签已经存在,没什么大不了的。但是,这就是git tag
我的存储库的样子:
-repositorygit
是通过svn2git
从svn
-repository 克隆的。我已尝试多次重新导入存储库并在stash
-server 上删除并重新克隆它。然而,标签6.2.2
似乎存在于Maven
. 这里发生了什么?
更新:我刚刚尝试从存储库中删除所有标签。结果相同。将版本从 更改6.2.2
为6.2.3
显示出积极的结果。
另一个更新:它似乎与存储库的名称有关。创建一个具有相同名称但-2
最后添加的新存储库有帮助。
git - 包括转换后创建的分支
我正在将大型存储库从 SVN 转换为 Git。我使用 SVN2Git 来处理转换。但是,这需要很长时间。因此,在我们测试、准备 CI 和构建基础架构等时,我一直在使用该svn2git --rebase
命令进行更改。
但是,我不确定我应该如何处理对分支或添加的分支的更改。例如,今天有人创建了一个分支,我需要将其引入。我运行了我的svn2git --rebase
(针对 [master]),它按预期更新了 master,但新分支没有转换过来。
这让我怀疑它是否正在更新现有的分支。那么,svn2git 在 期间做了什么--rebase
,确切地说,但更重要的是,我如何确保我的分支正在更新并且任何新的分支也正在转换?
我什至会决定如何从 svn 手动转换或更新 git 分支,因为数量不多,但它们很重要。
git - 将只读 Subversion 导入 Git 被“编辑根的读取访问被拒绝”阻止
我正在尝试将代码从半公开的 Subversion 存储库导入到我自己的 Git 存储库中。 此处解释了 Subversion 存储库访问(启用 JavaScript 读取;查看“[下载]”链接)。
我尝试过git svn clone
手动以及通过svn2git实用程序使用。无论哪种方式,我都会遇到如下所示的相同错误。
我可以验证我是否可以访问 Subversion 存储库:svn co svn+ssh://harmony@eniac.seas.upenn.edu/trunk
有效。
帮助!
git - svn 到 git 迁移失败
我有一个包含大约 45000 个修订版的 subversion 存储库。我正在尝试将其转换为 git,但它一直失败。
我试过 git svn clone、subgit、svn2git 和 atlassian 提供的 svn-migration-scripts.jar
git svn clone 和 atlassian 提供 jar 使用导致类似错误 - perl.exe.dump
subgit 给了我一个内存不足的错误
svn2git 给出了不同的错误
我不确定我是否做错了什么/如果我没有为迁移分配足够的资源(内存/CPU 等......)。或者,如果我的 SVN 存储库有问题导致这些失败。
有关如何解决这些问题的任何建议/想法?此外,45000 个修订是否使它成为一个大型存储库?
谢谢
jenkins - 在 Jenkins 中运行 svn2git
我正在尝试在 Jenkins 作业中运行 svn2git 以定期将 Git 存储库与其在本地服务器上的 SVN 目录同步。
作业失败并输出以下消息
Jenkins 在 Windows 中以本地管理员用户帐户运行。
我已经使用同一个帐户通过命令提示符运行 svn2git --rebase 并永久接受了证书。
命令提示符中的后续 svn2git --rebase 不会引发此消息,但是当我尝试通过 Jenkins 作业运行 svn2git 时仍然收到该消息。
关于如何让詹金斯永久接受这个证书的任何想法?