gpt4 book ai didi

git - 使用 svn-migration-scripts 从 SVN 到 Git

转载 作者:太空狗 更新时间:2023-10-29 13:32:25 24 4
gpt4 key购买 nike

将 SVN 存储库克隆到 Git 存储库工作正常。
但是我对

有疑问
java -Dfile.encoding=utf-8 -jar c:\svn-migration-scripts.jar clean-git --force

上面列出的命令应该将所有远程标签转换为本地标签。
但我收到:

# Creating annotated tags...
tag has diverged: 1.0_RC1
Creating annotated tag '1.0_RC1' at refs/remotes/tags/1.0_RC1.
# Creating local branches...
# Checking for obsolete tags...
svn: E215004: Authentication failed and interactive prompting is disabled; see t
he --force-interactive option
svn: E215004: Unable to connect to a repository at URL 'http://127.0.0.1/svn/dri
veLearner/tags'
svn: E215004: No more credentials or we tried too many times.
Authentication failed
Deleting Git tag '1.0_RC1' not in Subversion.
Deleted tag '1.0_RC1' (was d200bf6)
# Checking for obsolete branches...
svn: E215004: Authentication failed and interactive prompting is disabled; see t
he --force-interactive option
svn: E215004: Unable to connect to a repository at URL 'http://127.0.0.1/svn/dri
veLearner/branches'
svn: E215004: No more credentials or we tried too many times.
Authentication failed
No obsolete branches to remove.
# Cleaning tag names
# Cleaning branch names

我使用本地 winXP,java 1.7_65,VisualSVN 服务器(http,端口 80)。 Repo 在读/写模式下可供所有人使用。
有趣的是我已经完成了这个过程,但在遇到同样的问题后在其他 repo 上成功了,但我不知道我做了什么。
有人有解决办法吗?

最佳答案

Atlassian 的这个 svn-migration-script.java 是个垃圾。以下是如何使用最少的第三方软件并保留本地分支和标签从 SVN 迁移到 Git 的详细说明。

详细教程:
[此原始链接已失效] http://www.sailmaker.co.uk/blog/2013/05/05/migrating-from-svn-to-git-preserving-branches-and-tags-3/
[可更换] https://blog.redbranch.net/2015/06/12/migrating-from-svn-to-git-with-branches-and-tags/

SVN 服务器:
url: [svn_address]/[project_name]/[project_name]
用户:[用户]
通过:[通过]
(用户 [user] 的访问权限:rw)

目标:
c:[eclipse_workspace][project_name](如果不存在则创建目录)

程序:
++ 在您的系统中安装 svn 和 git(使用 Git Bash)(可选择将它们的“bin”目录添加到 PATH)
++ 确保 svn serwer 在 http 模式下工作(而不是在 https 下)
++ 如有必要,制作 authors.txt
++ 将 svn 克隆到 git:git svn clone --stdlayout --authors-file=c:\authors.txt
[svn_address]/[project_name] c:[eclipse_workspace][project_name] [user] [pass]
命令 rebase -b 0x64000000 "c:\program files\git\bin\libsvn_repos-1-0.dll" (或类似的)如果出现一些映射错误则很有用
++ 从上下文菜单运行 Git Bash(你应该已经安装了它)
++ 输入 git branch -a 来检查你的分支和标签
++ 在 Git Bash 中输入:

附加分支:

for branch in `git branch -r | grep "branches/" | sed 's/ branches\///'`; do
git branch $branch remotes/branches/$branch
done

附加标签:

for tag in `git branch -r | grep "tags/" | sed 's/ tags\///'`; do
git tag $tag remotes/tags/$tag
done

++ 创建裸 git 存储库并推送到那里 [project](你将失去 SVN 依赖)
++ 克隆 [project] 到目标位置

关于git - 使用 svn-migration-scripts 从 SVN 到 Git,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25931957/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com