多个 svn 项目合并到一个 git 存储库中?

2024-02-01

我已经开始使用 git-svn 来完成我的一些工作,以便能够进行本地提交。这对于使用标准 svn 布局的项目非常有用。最近,我开始开发一个 Java 项目,该项目分为多个连接的模块(20-25),每个模块在同一个 svn 存储库中都有自己的根文件夹,并有自己的主干/分支/标签。

svnrepo/    
  module-1
    trunk
    branches
    tags
  module-N
    trunk
    branches
    tags

我已经使用 git svn clone -s /path/to/svnrepo/module[1-N] 克隆了每个模块。 “问题”是,当我想对所有模块执行 git svn rebase 时,我必须执行 N 次。

我尝试过 git svn clone /path/to/svnrepo/ 避免执行 N 次 rebase 操作,但这给我留下了与 svn 存储库中相同的目录布局。

有没有一种方法可以跟踪一个 git 存储库中所有模块的所有主干?这样我就可以在 git 存储库中得到这样的目录布局:

module-1
module-2
module-N

不幸的是,没有,没有办法做到这一点。一个问题是没有什么可以阻止两个或多个模块拥有同名的分支。那么,在 git-svn 中,当你给它分支名称时,它如何知道你正在谈论哪个模块?

这个问题实际上源于这样一个事实:在 Subversion 中分支不是一流的概念,而在 git 中却是。 git-svn 能够或多或少地使用拼凑来解决这个问题,但是如果存储库具有“非标准”布局(例如您正在使用的布局),拼凑就会崩溃。

我的建议:写一个脚本git-svn rebase商场。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

多个 svn 项目合并到一个 git 存储库中? 的相关文章

  • SVN 到 Git 迁移后如何列出和获取远程分支? [复制]

    这个问题在这里已经有答案了 我将 SVN 存储库迁移到 Git 并将其推送到中央存储库 我们有相当数量的标签和分支 但不知何故 我们无法从 Git 客户端列出和获取它们 这很奇怪 因为标签和分支似乎在服务器上可用 在一个人的帮助下乔恩 马多
  • Git - git-svn 克隆后删除远程分支

    我已经使用以下命令克隆了 SVN 存储库git svn clone trunk trunk tags tags branches branches 该操作已正确执行 现在当我列出我的分支时 我拥有所有过去的标签 例如 git branch
  • git-svn“找不到 revmap”-这是什么意思?

    跑步时git svn clone并且经常在随后的过程中git svn fetch我在许多文件夹中收到此消息 Couldn t find revmap for
  • Git-svn 可以在大型分支存储库上使用吗?

    我正在尝试使用 Git 作为 SVN 存储库的前端 以便能够使用 Git 的优秀功能 例如简单的分支 存储等 问题是 SVN 存储库非常大 8 000 转 并且包含大量分支和标签 旧的和新的 这是一个接近标准的布局 配置包含获取 分支和标签
  • 如何让 git-svn 摆脱不再存在的远程分支?

    有没有一种方便的方法让我的本地 git 存储库忘记已删除的远程分支 git svn fetch并没有像我希望的那样 重新同步所有内容 我的本地存储库是使用标准 svn 存储库布局的导入来设置的 git svn s 有关的 为什么git re
  • Git 归咎于重组的 SVN 存储库

    git blame没有向我显示布局已重新组织的 SVN 存储库的所有历史记录 我正在使用 git svn 访问 SVN 存储库 SVN 存储库过去的结构具有巨大的文件夹树来保存许多项目 去年 我重新组织并将布局扁平化为更标准的主干 标签 分
  • Git 电子邮件挂钩包含提交消息和更改的文件

    我在heroku 中为git 设置了电子邮件挂钩 但是 我得到的只是推送某些内容的消息 我需要提交消息和修改后的文件 what i now get in the email no email protected cdn cgi l emai
  • Git-svn W: -empty_dir 警告。他们的意思是什么?

    在尝试使用标准布局使用 git svn 克隆现有 Subversion 存储库时 我得到了一堆W empty dir and W empty dir 警告 克隆的 git 存储库似乎正在工作 即我可以执行常规的 git 操作并提交到 SVN
  • 从 git svn clone 中排除文件

    我正在将 SVN 存储库迁移到 Git 并且我有 7000 多个二进制文件 我希望从一开始就将它们排除在导入之外并成为 Git 历史记录的一部分 而不是在之后清理它们 参考此question https stackoverflow com
  • SubGit:如何排除分支?

    我正在测试 SubGit 作为从 SVN 迁移到 Git 的一种方式 我想做的是能够在 git 存储库中创建所有用户都可以使用的远程分支does not同步回 SVN 我只希望 SubGit 跟踪 master 分支并将其同步回 SVN 以
  • git 选择性恢复文件中的本地更改

    在我跟踪 svn 存储库的 git 存储库中 我对单个文件进行了多次编辑 现在我想恢复这些更改 如 svn revert 但只是文件的一部分 我希望能够查看文件上的差异 丢弃 恢复 我不想要的更改并保留我想要的更改 the git add
  • git 合并不同的存储库?

    我所有的项目都使用 SVN 有时项目 B 是项目 A 的副本 当项目 A 有一般性变更时 我可以使用svn merge A在目录 B 中 它将合并这些更改 现在 如果我想使用 git 我不喜欢将所有项目放在同一个存储库中 因为这样我就必须克
  • 无法从 HEAD 历史记录确定上游 SVN 信息

    为什么我会收到此错误消息 我收到这条消息是因为克隆了 svn repo no metadata选项 也许您的问题也是如此 当在没有该选项的情况下克隆它时 一切都很好 The no metadata该选项旨在在新版本出现时克隆 SVN 存储库
  • git svncherry pick 忽略警告

    当我跑步时git svn fetch它有时会打印以下警告 W svn cherry pick ignored path in svn
  • 用于清除 Git Bash 屏幕(包括输出缓冲区)的命令

    Git 中是否有任何命令可以清除屏幕 例如在window命令行中执行了很多代码后 如果输入cls 那么它会清除之前的所有代码 所以我想要 Git 中相同类型的功能 所以任何人都可以告诉我命令名称 实际上你正在寻找一个Unix用户环境命令 c
  • 我可以使用 git 提交文件,但在执行 git svn dcommit 时自动忽略它吗?

    我现在开始在 SVN 办公室采用 Git 作为我的个人工作流程 因此 git svn 是我将严重依赖的工具 我遇到的一个我不知道如何解决的问题是如何在一个方向上忽略 对我来说 具体的用例是我们的 ant 构建文件引用 svn 和 svnve
  • 在 git-svn 中克隆主干后克隆分支的最佳方法是什么?

    给定一个包含许多分支的大型 Subversion 存储库 我想开始使用git svn通过克隆trunk首先 然后添加特定分支 我看到至少三种方法可以做到这一点 但是其中任何一种都是 官方的 还是有最好的方法 假设以下布局 https svn
  • 为 RHEL 6 安装/构建 git-svn

    我无权访问 RHEL6 存储库 那么在 RedHat Enterprise Linux 6 上构建和 或安装 git svn 工具的最佳方法是什么 通过卸载现有的 yum擦除git 并从源安装最新的来设法安装git和git svn 1 7
  • 将 git dcommits 切换到 svn 分支

    I had master dcommit到 和rebase来自 颠覆trunk 我创建了一个中间 Subversion 分支tc 合并来自 2 个不同分支的更改 使用 git branch master git svn branch tc
  • 使用 Git 处理 subversion:忽略对跟踪文件的修改

    我目前正在使用 subversion 存储库 但我正在使用 git 在我的计算机上本地工作 它使工作变得更加容易 但也使 subversion 存储库中发生的一些不良行为变得非常明显 这给我带来了问题 拉取代码后 有一个有点复杂的本地构建过

随机推荐

  • 查看运行“sbt”中“.sbtopts”中的选项

    根据这有帮助post https stackoverflow com a 14561346 409976 我删除了我的 sbtconfig 并添加了 sbtopts cd myProject cat sbtopts J Xmx4G J XX
  • 如何将 UIImage 转换为 BMP 并另存为数据(不是 JPG 或 PNG)

    我正在我的 iOS 应用程序 Swift 3 和仅支持 BMP 格式的应用程序 在 MS Windows 上 之间同步 BMP 图像 在 MS Windows 应用程序上创建的 BMP 图像作为 base64 字符串下载 另存为Data并使
  • 当源中存在其他静态文件时,为什么我无法在 django 项目中添加静态文件?

    我正在尝试为 Heroku 构建一个 Django 应用程序 并且已经完成了民意调查教程并且Heroku 文档 https devcenter heroku com articles django assets 当使用基本的 Django
  • Weld/CDI 的最佳调试技巧是什么?

    Java EE 6 的优点之一是新的依赖项注入框架 具有 Weld 参考实现的 CDI 它促使我们开始以与实现无关的方式内部迁移到 JSR 330 其明确目标是能够拥有核心 jar 被冻结 然后能够添加额外的 jar 提供新的模块来替换核心
  • 删除未使用的 HTTP 处理程序以提高性能和安全性

    在哪里可以获得所有默认 IIS HTTP 处理程序的功能列表 我需要文档 我读过一些博客 出于性能和安全原因 建议删除数十个未使用的 HTTP 处理程序 例如 建议删除 TraceHandler Integrated 和 TraceHand
  • 取消使用 Hangfire.io 计划的正在运行的作业

    我使用hangfire io 库安排作业 我可以观察它在内置仪表板中的处理情况 但是 我的系统要求可以从仪表板取消该作业 有一个选项可以删除正在运行的作业 但这只会更改数据库中作业的状态 并不会停止正在运行的作业 我在文档中看到有可以通过的
  • 如何从经验分布函数中制作样本

    我正在尝试在 Python 上实现非参数引导 它需要获取一个样本 从中构建一个经验分布函数 然后从该 edf 生成一堆样本 我该怎么做 在 scipy 中 如果您知道描述它的确切公式 我只能找到如何创建自己的分布函数 但我只有一个 edf
  • 解释为什么 Array.sort 这样做

    当我们尝试对数字数组进行排序时 人们说使用这个 var numbers 4 2 5 1 3 numbers sort function a b debugger return a gt b 1 1 debugger print number
  • 在SAS中使用循环重命名索引列?

    我有一个数据集 其中变量为 col1 col2 col3 col15 我想将它们重命名为new1 new2 new3 new 15 我可以写15次类似的rename col1 new1 在 SAS 中 但如何使用循环实现此目的 谢谢 首先
  • pip install MySQL-python 返回无法找到 vcvarsall.bat

    我一直在努力pip install MySQL python在 Windows 7 上但它返回unable to find vcvarsall bat 我正在使用Python 3 4 我怎样才能以简单的方式完成这项工作 而无需经历安装 Vi
  • Android 如何查看版本

    我在 2 2 环境中完成了我的应用程序 当我在旧版本中安装我的 apk 时 我收到解析器错误 是否有可能显示我们自己的消息而不是解析器错误消息 据我看来 事实并非如此 做这样的事情 private int GetVersion int ve
  • 如何获取 std::thread() 的 Linux 线程 ID

    我正在玩std thread我想知道如何获得新的线程IDstd thread 我不是在谈论std thread id而是给予线程的操作系统 ID 您可以使用pstree 这仅供我所知 并且仅针对 Linux 平台 不需要可移植 我可以像这样
  • 阻止 jQuery 重复,示例已附

    我必须将 jQuery 附加到发票上 有时我必须批量打印多张发票 当这种情况发生时 我的每张发票都会出现完全相同的 jQuery 并且每次创建我不需要的额外元素时它都会运行 有没有办法让出现多次的 jQuery 仅在它最后一次出现在代码中时
  • 使用 SQL 查询查找最接近的匹配字符串及其子字符串

    我想编写一个查询 它将按顺序获取给定字符串及其子字符串的最接近的匹配字符串 例如 假设我有一列中包含所有名称的表 如果我想搜索名字 ATUL 那么结果应该首先列出所有匹配的不同名称 ATUL then ATU then AT 进而 A 最后
  • href 中的内联 JavaScript

    你怎么能做这样的事情 a href myLink a 并在单击链接时执行 href 中的 js 直接把JS代码放进去就可以了 a href fsljk a 不过 您不应该执行内联脚本 您应该不引人注目地附加事件处理程序 a href bla
  • 同时检测父视图和子视图的 Android-Touch 事件

    目前以下是我的应用程序的布局 LinearLayout Button ScrollView RelativeLayout EditText 我在所有这些之上创建了一个透明的 LinearLayout 实现了 OnTouchListener
  • Knockout 将键值对象绑定到下拉菜单

    我有以下型号 var allCategories id 1 name Red id 5 name Blue function model self this self name ko observable self categoryId k
  • 如何从 Google Play 开发者控制台删除草稿?

    我在 Google Play 开发者控制台上有一个测试草案 它是空的 没有 apk 文件 也没有描述 我只是创建它来检查一些东西 现在草稿就在这里 我找不到删除它的按钮 我怎样才能删除该草稿 我找不到任何有关它的文档 Thanks 1 if
  • 如何设置条件编译变量?

    在 C C 中 您可以在代码中定义宏 如下所示 define OLD WAY 1 尽管我从未这样做过 但我认为 C 中也可以实现同样的功能 更重要的是 在 C C 中 可以通过执行以下操作来执行一些条件编译逻辑 if OLD WAY 1 i
  • 多个 svn 项目合并到一个 git 存储库中?

    我已经开始使用 git svn 来完成我的一些工作 以便能够进行本地提交 这对于使用标准 svn 布局的项目非常有用 最近 我开始开发一个 Java 项目 该项目分为多个连接的模块 20 25 每个模块在同一个 svn 存储库中都有自己的根