问题标签 [reposurgeon]
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 - How do I use reposurgeon with a repository containing spaces?
I have a git repository that has tons of binary files/build artifacts in it. I'm trying to remove them using reposurgeon. Initially, it choked and died when reading the state of the directory. I was able to hack the source a bit and get past that.
But now when I'm trying to rebuild the result, I get it badly:
Any clue how to work around or fix this?
git - 使用快速导入/导出流的 SVN 到 Git
我一直致力于将约 32,000 次提交的 SVN 存储库转换为任何 DVCS(Git、Bazaar、Mercurial、Plastic SCM)。一两个星期后,我意识到最好的选择是将 SVN 存储库转换为 Git,获取快速导出流,然后将 .fe 流导入任何 DVCS,因为它们都支持 git 快速导出/导入方法。
我已经尝试了互联网上的所有内容:在 Windows 7 和 Linux Ubuntu 上。由于 repo 的大小,我使用 reposurgeon 和 git-svn 取得了最大的成功。但是同样,由于大小的原因,这两种工具都无法一次性隐藏完整的 repo。我也尝试过 SubGit,虽然它可以工作,但速度极慢(处理 1060 次提交约 24 小时)。
所以我想我可以分别转换 repo 中的每个文件夹(主干、分支、标签、自定义文件夹),然后在 Git 中组合。然后我意识到这是不可能的,因为 git 的 repo 结构与 SVN 有很大不同。
我的问题是,是否可以使用我上面的方法并通过一些魔法将单独的转换组合到一个 Git 存储库中?
本质上,我需要为我的 SVN 存储库获得一个快速的导出/导入流,以将其转换为另一个 DVCS,并且认为 Git 中间步骤是最简单的。如果有的话,还有哪些其他选项可用于成功转换?
提前致谢。
git - 如何使用 reposurgeon 将 svn repo 转换为 git?
你能举个例子,我如何将路径添加到我的旧 svn 并从中创建一个 git 文件夹,其中包含整个历史记录和所有分支/标签?
我发现这个网站值得一试吗?它使用svnpull
,我可以使用不在我的系统上repopuller
吗?
我安装了 reposurgeon
(我会在没有建议的情况下安装,因为这里不需要大约 700MB)
git - 如何完全删除包含空格的 SVN 标签?
我试图清理 svn 存储库并删除包含空格的标签,因此所有标签和分支都符合 git:
但似乎,这在这里不起作用:如何使用 reposurgeon 将 svn repo 转换为 git?
如何完全删除它?
git - 如何在没有注释标签的情况下将 SVN 存储库转换为 GIT?
我在这里使用 reposurgeon 将 ma svn 转换为 git 存储库:(如何使用 reposurgeon 将 svn repo 转换为 git?)。
似乎它将所有标签都转换为“带注释的标签”。我怎样才能改变这种行为?
我尝试tagify
了选项,但这并没有改变它。
问题是,转换后的标签显示在我创建标签时的日志中,而不是它们所属的修订版的位置。在 SVN 中,无论我创建它们多长时间,它们都会显示在它们所属的日志中的正确位置。
似乎这与 reposurgeon 在每个看起来像这样的标签中添加了 .gitignore 的提交有关:
如何让 reposurgeon 不在所有标签中为 gitignore 创建这样的提交?让它创建不会作为提交出现在时间线中的简单标签?
git - 使用 reposurgeon 将 SVN 存储库转换为 git 而不创建 .gitignore 文件?
我在这里使用 reposurgeon 将我的 svn 转换为 git 存储库:(如何使用 reposurgeon 将 svn repo 转换为 git?)。
问题是,转换后的标签显示在我创建标签时的日志中,而不是它们所属的修订版的位置。在 SVN 中,无论我创建它们多长时间,它们都会显示在它们所属的日志中的正确位置。
似乎这与 reposurgeon 在每个看起来像这样的标签中添加了 .gitignore 的提交有关:
如何让 reposurgeon 不在所有标签中为 gitignore 创建这样的提交?让它创建不会作为提交出现在时间线中的简单标签?
reposurgeon手册说:
用户生成的 .gitignore
此消息意味着 reposurgeon 在它正在分析的 Subversion 存储库中找到了一个 .gitignore 文件。这可能是因为有人使用 git-svn 作为实时网关,并创建了忽略,这些忽略可能与 Subversion 忽略属性将被转换成的生成的 .gitignore 文件中的那些一致或不一致。您需要就在转换中使用哪一组忽略做出策略决定,并可能删除生成的 .gitignore 文件或用户创建的文件。
但是没有示例如何做出该决定。我该如何管理?
git - 当我在 reposurgeon 中使用 `--fossilize` 写出存储库状态时,“读取”是否会恢复这些标记?
当使用转换存储库时reposurgeon
,我通过执行以下操作将状态写入git-fast-export
:
将是一个后续:
恢复使用该--fossilize
选项转储的其他标记,还是我必须通过以下方式使用单独的“化石文件”:
和:
分别?
关键是,由于我是从 SVN 转换的,因此我需要使用文档中调用的化石 ID,它们对应于 SVN 中的相应全局修订 ID。
python - Reposurgeon 在使用 exec 时给了我一个 SyntaxError,为什么?
使用reposurgeon
并尝试扩展其功能,我面临:
这转换为从调用中SyntaxError
引发的扩展。是什么赋予了?我想要的代码很简单:execfile()
RepoSurgeon.do_exec()
exec
我也使用了 Python CLI,execfile
并且没有任何抱怨?
使用版本:reposurgeon
3.10
python - 如何通过'exec'和'eval'替换(或以其他方式扩展)RepoSurgeon的现有Python类方法?
关于该主题的文档(在撰写本文时)很少。define
如果宏 ( ) 的使用不足以满足我的目的,我该如何扩展 reposurgeon 功能?
它给出的唯一线索是:
该代码可以完全访问所有内部数据结构。以后的eval调用可以访问定义的函数。
但这甚至意味着什么?
我们还了解到:
通常这将是对前一个 exec 定义的函数的调用。变量 _repository 和 _selection 将具有明显的值。请注意,_selection 将是一个整数列表,而不是对象。
python-2.7 - 如何向 RepoSurgeon 添加新功能(就像 dsc 或 amp 或 min)
这是一个专门的版本:如何通过“exec”和“eval”来替换(或扩展)RepoSurgeon 的现有 Python 类方法?
如何使用该exec
工具(即不编辑上游代码)向 RepoSurgeon 添加新功能以添加新功能,增强现有功能。
问题:如果您使用 RepoSurgeon 并且从脚本或命令行调用函数并且该函数抛出异常,这将抛出嵌套函数调用。
示例:您想在单个函数中按分支名称查找分支上的所有化石。以下复合命令将为名为 的分支执行该工作BRANCH
:
如果BRANCH
存在,这可以正常工作。但如果没有呢?在这种情况下,RepoSurgeon 会对我们非常生气并抛出异常:
问题是这意味着您的整个提升脚本将脱轨。
该怎么办?