git-svn 中的 Unignore 目录(将目录添加到稀疏签出)

2024-01-04

当使用 git svn 时,可以通过以下方式实现中央存储库的稀疏签出:

git clone -s URL-to-root --include-paths 'dir1|dir2|dir3'

使用此设置一段时间后,我想将另一个目录 dir4 添加到跟踪的目录中。这个目录存在于我已经签出的许多提交中。通过运行编辑变量 svn-remote.svn.include-paths

git config --edit

没有达到预期的效果git fetch(只有在将来提交中更改的文件才会在更改时检出;不会立即检出),并且以下内容也不会检出 dir4:

git svn fetch --include-paths dir4

我认为以下方法可以工作,但由于重新获取自 dir4 第一次出现的第一个修订版(我们称之为 REV)以来的所有修订版,效率非常低:

git svn reset -r REV
git svn fetch --include-paths dir4
git svn rebase

跟踪 dir4 的更好方法是什么?如果我不关心 dir4 的历史怎么办?

如果我怀疑稍后想要更改跟踪目录列表,是否有更好的方法来使用 git-svn 进行初始稀疏签出?我也尝试从列出在原始提交中不获取的directoreis开始,但我不知道如何稍后忽略它们:

git svn fetch --ignore-paths dir4

但我如何告诉 git 停止忽略dir4当我决定也想检查一下时?


The resetgit-svn 手册页的部分https://git-scm.com/docs/git-svn/1.9.1#git-svn-emresetem https://git-scm.com/docs/git-svn/1.9.1#git-svn-emresetem指出:

...如果您更改 --ignore-paths 选项,则提取可能会失败,并显示“未在提交中找到”(文件以前不可见)或“校验和不匹配”(错过了修改)。如果问题文件不能永远被忽略(使用 --ignore-paths),修复存储库的唯一方法是使用重置。

我认为原因是这样的:Git 为 svn 历史记录中的每个 svn 提交创建一个单独的 git 提交(由其校验和标识)。通过将目录添加到历史记录中,校验和必然需要更改,因此除了重建整个历史记录之外别无他法。

即使不重新创建历史记录也无法添加目录。添加它的提交必须在本地创建,并且尝试svn dcommit它,有一个错误Item already exists in filesystem...

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

git-svn 中的 Unignore 目录(将目录添加到稀疏签出) 的相关文章

  • 如何让 git-svn 摆脱不再存在的远程分支?

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

    如何让 git svn 忘记 svn 身份验证详细信息 我们有一台运行 Windows Server 2008 的配对机器 在该机器上有一个 git 存储库 并且我们签入到中央 subversion 存储库 我希望 git 在每次签入时提示
  • git 结帐。添加稀疏签出排除的目录

    在稀疏结账场景中 该命令git checkout 恢复应该被忽略的目录 这是设计使然 还是 Git 中的潜在问题 我在用着git checkout 放弃我对工作副本所做的任何更改 是否有另一个命令可以执行相同的操作并且不会遇到此问题 这是一
  • git svn status - 显示未提交到 svn 的更改

    我正在 git svn 中寻找一个命令 该命令将显示我已提交到 git 存储库但尚未提交到中央 svn 存储库的更改 我正在寻找像 svn status 一样工作的东西 但我正在使用 git svn 不幸的是 git svn status不
  • git-svn 中的 Unignore 目录(将目录添加到稀疏签出)

    当使用 git svn 时 可以通过以下方式实现中央存储库的稀疏签出 git clone s URL to root include paths dir1 dir2 dir3 使用此设置一段时间后 我想将另一个目录 dir4 添加到跟踪的目
  • 如何将svn分支和标签导入git-svn?

    我有一个必须提交的中央 SVN 存储库 但我对 git 充满热情 就像我认识的任何其他开发人员一样 此案众所周知 然后我读到了 git svn 并尝试了一下 由于我不需要完整的历史记录 只需要两个月左右的时间 我确实喜欢这样 git svn
  • GitHub:克隆成功,但结账失败

    我在使用时遇到一些问题git clone 这些文件被下载到我的本地 git 文件夹中 运行命令 git checkout f HEAD给我 Error 磁盘空间不足导致无法写入新索引文件错误 我已从计算机中手动删除大文件 但仍然遇到相同的错
  • 自动同步 Subversion 存储库和 Git 存储库

    我的项目在网络文件系统上有一个 Subversion 存储库 新团队希望使用 Git 访问它 并能够提交它并从中获取更新 我的想法是创建一个新的裸git svn在同一网络文件系统上克隆 Subversion 存储库 并确保这两个存储库始终彼
  • git 合并不同的存储库?

    我所有的项目都使用 SVN 有时项目 B 是项目 A 的副本 当项目 A 有一般性变更时 我可以使用svn merge A在目录 B 中 它将合并这些更改 现在 如果我想使用 git 我不喜欢将所有项目放在同一个存储库中 因为这样我就必须克
  • 从SVN迁移后断开GIT分支

    尝试查看几十个帖子 但仍然没有得到我想要的 Preface 我们最初有一个非常大的 SVN 存储库 没有主干 标准结构 等 所以 我正在工作的项目也没有结构 在子文件夹内 我在这个项目上工作了大约几个月 然后遇到了一个情况 我需要一个分支来
  • 如何将非标准 svn 存储库克隆到 git?

    我尝试将 svn 存储库克隆到 git 但某些分支位于 svn 根目录中 如下所示 我试过了 git clone svn url svn root T trunk b branches b branch1 b branch2 and git
  • git svncherry pick 忽略警告

    当我跑步时git svn fetch它有时会打印以下警告 W svn cherry pick ignored path in svn
  • 结构复杂的Git SVN克隆

    我需要将 SVN 存储库克隆到 git SVN 存储库的结构就好像它是存储库的存储库 如下所示 SVNRepo ProjectA branches tags trunk file ProjectB branches tags trunk f
  • 将新的提交添加到现有的 Git 标签

    我创建了一个 Git 标签v1 1 using git tag a v1 1 m my version 1 1 我推了那个标签 后来我做了一些相关的修改v1 1 现在 当我推送新的更改并使用检查 git 标签时git describe它向我
  • git-svn 变基错误

    运行 git svn rebase 后出现以下错误 update index refresh 命令返回错误 1 有任何想法吗 以下是整个输出 git svn rebase dry run xxx iphone xxx prototype2
  • 如何消除autocrlf造成的损害?

    我已经使用 git 并将 autocrlf 设置为 true 一段时间了 我一直通过 cygwin 与 git svn 一起使用它 这给我带来了很多问题 我明白了here https stackoverflow com questions
  • git svn 分支导致身份验证失败

    我正在尝试通过以下方式完成所有分支和合并git svn 但是我对颠覆中的分支很感兴趣 我们的管理员告诉我 我对存储库拥有完整的读 写权限 并且我可以获取最新的代码 为了测试 我删除了我的 subversion svn simple目录并运行
  • 如何使用git-svn切换svn分支?

    复制 如何让 git svn 使用特定的 svn 分支作为远程存储库 https stackoverflow com questions 192736 how do i make git svn use a particular svn b
  • 将 git dcommits 切换到 svn 分支

    I had master dcommit到 和rebase来自 颠覆trunk 我创建了一个中间 Subversion 分支tc 合并来自 2 个不同分支的更改 使用 git branch master git svn branch tc
  • 如何将 git-svn 与 svn+ssh url 一起使用

    我喜欢在cygwin中使用git svn clone使用我们公司 svn 存储库的命令 这个的网址是svn ssh svn

随机推荐