在Jenkins结帐时排除目录
我有20个目录 /trunk/a1 /trunk/a2 /trun/a3 .. .. /trunk/a20 如何排除(不包括)某些(詹金斯结帐期间的任意目录. 例如,我想在/trunk/a3/b1 的行李箱下都有所有目录 如何做? 我已经在 svn Checkout Checkout Checkout Incept Oight ofloe Folder .需要一个更简单的解决方案,我不知道行李箱下的目录数量,除了我要排除的目录. 还如何添加自定义SVN Checkout.LET Say我想执行SVN命令行工具进行结帐? 解决方案 我知道这太晚了,但是也许这很有用: https://issues.jenkins.jenkins.jenkins-ci.org/browse/browse/jenkins/jenkins/jenkins-25273 重要: 此版本包含快速而肮脏的修复程序!在我们的测试中是 稳定没有错误,但为了避免问题,请在詹金斯环境中节省詹金
12 2024-04-04
编程技术问答社区
无法初始化稀疏结帐
当我尝试使用稀疏过滤器中的git存储库中的文件夹"香蕉"时,我会遇到以下错误; git clone --depth 1 --filter=blob:none --sparse https://github.com/gitexpert/testGithub.git cd testGithub git sparse-checkout set banana git版本:2.25.1 错误日志: Cloning into 'testGithub'... fatal: cannot change to '://github.com/gitexpert/testGithub.git': No such file or directory error: failed to initialize sparse-checkout 解决方案 @satbekmyrza提出的解决方案为我工作.我将git从2.25.1升级到2.37.3,现在稀疏的克隆作品. 不幸的是,通过ub
26 2024-03-28
编程技术问答社区
Git克隆由于不良文件路径而无法工作
问题 git克隆Windows 10机器上的存储库会引发此错误: 错误:无效路径'saleor/graphql/core/tests/cassettes/test_get_oembed_data [http:/www.youtube.com/watch? 致命:无法结帐工作树 警告:克隆成功,但结帐失败. >git clone https://github.com/mirumee/saleor.git Cloning into 'saleor'... remote: Enumerating objects: 187180, done. remote: Counting objects: 100% (289/289), done. remote: Compressing objects: 100% (225/225), done. remote: Total 187180 (delta 136), reused 131 (delta 64), pack-reuse
16 2023-12-05
编程技术问答社区
深层目录结构的稀疏svn更新
是否有一种方法可以使具有深嵌套目录结构的SVN存储库进行稀疏结帐. 我正在使用回购中的所有文件的列表和仅 *.xml的过滤: svn list --recursive "http://myRepo.com/trunk" > allFiles.txt 我正在尝试执行以下操作: svn checkout "http://myRepo.com/trunk" --depth empty "myRepo" svn update --set-depth empty project1/dirs/moreDirs/evenMore/file.xml 我尝试了这个错误,但有一个错误,说它是在跳过更新该文件. 如果我手动执行以下操作,我可以在结帐中获取文件(我想要一个 - 集合的空为嵌套SVN路径的父目录). svn update --set-depth empty project1 svn update --set-depth empty project1/dirs
28 2023-11-18
编程技术问答社区
使用稀疏签出改变版本库目录结构
使用新的稀疏结帐功能 git 1.7中. 0,是否可以像在SVN中如何获得子目录的内容?我找到了这个示例,但它保留了完整目录结构.想象一下,我只是想要" perl"目录的内容,而没有名为" perl"的实际目录. - 编辑 - 示例: 我的git存储库包含以下路径 repo/.git/ repo/perl/ repo/perl/script1.pl repo/perl/script2.pl repo/images/ repo/images/image1.jpg repo/images/image2.jpg repo/doc/ repo/doc/readme.txt repo/doc/help.txt 我想要的是能够从上面的存储库中生产此布局: repo/.git/ repo/script1.pl repo/script2.pl 但是,使用当前的稀疏结帐功能,似乎只能获得 repo/.git/ repo/perl/script1.pl repo/
8 2023-11-18
编程技术问答社区
TORTOISESVN:使用SVN结帐对话框"仅此项目"选项后添加其他文件
我们的部门计划在乌龟SVN中使用" SVN结帐"选项.在该对话框中,我们选择"仅此项目"选项,然后单击"选择项目"按钮,然后选择要签出的所有相关文件.假设用户会犯一个错误,而忘了查看重要的文件.从中继中选择该文件(或文件列表)的最简单方法是什么? 编辑: 建议更改 @乍得的答案: a.)如果您要检查的文件夹或文件的父文件夹在工作副本中不存在,则执行以下操作: 为存储库打开 repo-browser . 右键单击错过的文件,然后选择结帐... . 修复/将结帐目录设置为文件应为何处(将单击的文件夹中的文件夹添加到您要查看的文件夹/文件的父文件夹中,并确保您使用的是BackSlash字符) 单击好的. 您将警告"目标文件夹不是空".继续前进,选择结帐到非空文件夹选项. 这些文件将被添加到工作副本中. 免责声明: 如果您不遵循步骤#3,则检查文件的工作副本将位于奇怪的位置,而不是相对于其余文件. b.)如果您要检查的文件夹或文件的父文件夹确实存
28 2023-10-24
编程技术问答社区
改变现有SVN工作副本的深度,无需重新下载
我有一个整个SVN存储库的工作副本,但是由于磁盘空间问题,我想将其更改为稀疏工作副本. 做到这一点的一种方法是: svn up --set-depth immediates projects svn up --set-depth infinity projects/project1 svn up --set-depth infinity projects/project2 但是,这将首先删除project1和project2,然后再删除它们.这确实是不便的,因为它们很大,并且服务器的上传速度非常低.我尝试了这一点(作为一个实验,另一个较小的回购部分): svn up --set-depth infinity projects/project1 svn up --set-depth infinity projects/project2 svn up --set-depth immediates projects 但是最后一个命令只是撤消了第一个2. 如何在不
32 2023-10-06
编程技术问答社区
你能用Subversion做部分签出吗?
如果我有20个目录,每个目录中有很多文件,只需要3个目录,可以使用TRUNK下的3个目录进行颠覆检查? 解决方案 Subversion 1.5引入了稀疏结帐,您可能会发现有用的东西.来自文档: ... 稀疏目录(或浅结结帐)...允许您轻松查看工作副本(或一部分工作副本)而不是完整的递归,稍后可以自由引入先前忽略的文件和子目录. 其他解决方案 的确,由于我在此处发表的评论,它看起来像稀疏目录是必经之路.我相信以下内容应该这样做: svn checkout --depth empty http://svnserver/trunk/proj svn update --set-depth infinity proj/foo svn update --set-depth infinity proj/bar svn update --set-depth infinity proj/baz 另外,--depth immediates而不是empty在没有其内容的情况下
14 2023-10-06
编程技术问答社区
如何只克隆一个Git仓库的子目录?
我有我的git存储库,从根本上讲,它有两个子目录: /finisht /static 当它在 svn 中C1>在其他地方进行了检查,例如: svn co svn+ssh://admin@domain.example/home/admin/repos/finisht/static static 有没有办法使用git? 解决方案 编辑:从GIT 2.19开始,这是可能的,正如此答案. 考虑对答案进行投票. 注意:在GIT 2.19中,仅实现客户端支持,服务器端支持仍然缺失,因此仅在克隆本地存储库时起作用.另请注意,大型git螺旋体,例如github,实际上没有使用git服务器,他们使用自己的实现,因此,即使在git服务器中显示了支持,也不意味着它在git hosters上工作. (OTOH,由于他们不使用GIT服务器,因此在出现在GIT服务器中之前,他们可以在自己的实现中更快地实现它.) 不,这在git中是不可能的. 在git中实施类似的事
30 2023-10-04
编程技术问答社区
如何git重置-hard子目录
更新²:使用GIT 2.23(2019年8月),有一个新命令git restore可以做到这一点,请参见接受答案. update :从Git 1.8.3开始,这将更直观地工作,请参见我自己的答案. 想象以下用例:我想摆脱我git工作树的特定子目录中的所有更改,使所有其他子目录完整. 我可以做git checkout .,但是 有git reset --hard,但是它不会让我为子目录: > git reset --hard . fatal: Cannot do hard reset with paths. 再次:为什么git不能硬/软/软通过路径重置? 我可以使用git diff subdir | patch -p1 -R对当前状态进行反向绘制,但这是一种相当奇怪的方法. 此操作的适当git命令是什么? 下面的脚本说明了问题.在How to make files注释下方插入适当的命令 - 当前命令将还原文件a/c/ac,该文件应被稀疏结帐所
26 2023-08-08
编程技术问答社区
浅层和稀疏的GIT资源库克隆
我有一个超过1 GB的浅克隆GIT存储库.我为所需的文件/dir使用稀疏结帐. 如何将存储库克隆简化为稀疏结帐文件/dirs? 最初,我能够将克隆的存储库限制为仅通过在克隆时禁用结帐来将其限制为稀疏结帐.然后在进行初始结帐之前设置稀疏结帐.这将存储库限制在仅200 MB.更易于管理.但是,将来在某个时候更新远程分支信息会导致其余的文件和DIR包含在存储库克隆中.将存储库克隆尺寸发送回1 GB以上,我不知道如何仅稀疏结帐文件和dirs. 简而言之,我想要的是浅的 和 稀疏存储库 clone .不仅是稀疏的回购克隆的结帐.完整的回购是浪费某些任务的空间和性能. 希望有人可以共享解决方案.谢谢. 解决方案 浅而稀疏的意思是"部分"或"狭窄". 从理论上讲, 是一个部分克隆(或"窄克隆"),并于2017年12月以GIT 2.16进行了实施,如在这里看到. 但是: 只有与git 2.18,您能做这样的部分克隆:以获取测试示例. ,请参见此处. 仅带有服
112 2023-08-08
编程技术问答社区
Git稀疏签出错误 "条目'path/to/file'未更新。无法更新稀疏签出"
我刚刚完成了以下步骤 的稀疏结帐 git clone http://location/repo.git # create .git/info/sparse-checkout file git config --bool core.sparsecheckout true git read-tree -mu HEAD 不幸的是,最后一步失败了错误消息 Entry 'path/to/file' not update. Cannot update sparse checkout 这很奇怪,因为(1)path/to/file存在(2)稀疏结帐过程在另一台机器GIT版本1.7.1(CentOS 6)上成功.当前的机器是安装了GIT版本1.8.3.1的CentOS 7盒. git config --list的输出在两台机器上都是相同的. 解决方案 我通过删除所有文件并重复相同的步骤来解决问题.已经建议 这可能是git中的错误,也可能是IMO的某种文件损坏. 另一种对我有
38 2023-04-22
编程技术问答社区
git sparse-checkout 忽略特定文件类型
我有一个带有一堆大型CSV的git存储库,我不想克隆,所以我遇到了git sparse-neckout和这篇文章: https://github.blog/2020-01-17-bring-bring-your -monorepo-down to-size-with-sparse-checkout/ 从这篇文章中,我采取了以下内容: git clone --no-checkout https://github.com/john_doe/repo-with-big-csv.git cd repo-with-big-csv git sparse-checkout init --cone 然后我编辑.git/info/sparse-checkout并添加以下内容(改编自/* !**/*.csv ,但似乎无法正常工作. git pull克隆一些文件夹后,有些则没有.我还注意到警告,当我做git sparse-checkout list时,我得到了: warning:
40 2023-04-22
编程技术问答社区
github/git Checkout在Windows上返回'错误:无效路径'。
当我尝试从github结帐存储库时,我会得到错误: error: invalid path 'configs/perl-modules/DIST.64/perl-HTML-Tree-1:5.03-1.el6.noarch.rpm' 我怀疑问题是该路径包含一个:windows上是非法的. 研究错误后,我发现了2个可能的答案: 1)更改存储库文件的路径.不幸的是,这是一个团队资源,在可预见的将来无法固定. 2)使用稀疏结帐.我尝试过无效,如下所示: $ git clone -n​​ git@github.com:xxxxxx/exploy.git 克隆到"部署" ... 远程:枚举对象:57,完成. 远程:计数对象:100%(57/57),完成. 远程:压缩对象:100%(49/49),完成. 遥控器:总计86457(三角洲10),重复使用22(三角洲8),包装重新使用的86400 接收对象:100%(86457/86457),1.50 GIB | 4.
86 2023-04-22
编程技术问答社区
Mercurial稀疏签出
在此这在实践中如何起作用?使用Mercurial,我可以检查子目录(现场在SVN中)吗?如果是这样,怎么样?我需要一个 p.s.:我只找到了 this 从2010年开始,我不确定答案是否仍在应用FB所做的所有努力. 解决方案 从您的问题中,尚不清楚您是否正在寻找工作流程(MonorePo vs多个存储库辩论)或用于 age 代码基础的性能和缩放. 对于工作流程,我建议搜索monorepo的谷歌搜索.它具有其优点和缺点,您需要了解您的情况以及当前的工作流程才能决定.对于性能和缩放,请继续阅读. remotefilelog的想法不是结帐一个子目录(如您所言),其想法是结帐所有内容.为了有效地做到这一点,您需要Facebook积极开发的两个扩展: 使用近期的Mercurial(我强烈建议),您可以使用 chg . . 一些其他注释: 我对fsmonitor进行了广泛的测试.它运行良好,在巨大的回购中,hg status的时间从10秒减少到小于1秒(大多数1秒
18 2023-03-26
编程技术问答社区
设置Git子模块为浅层克隆和稀疏签出?
许多供应商Objective-C库(例如,facebook-ios-sdk)指示您将其repo文件/dir的某个子集复制到您的Xcode项目中.这样一个问题是,您不知道您拥有的供应商代码的修订版.另一个是,如果您对供应商代码进行更改,则可以通过git做出更改并不容易. 作为解决方案,我想将每个供应商库作为我项目存储库的git子模块,并带有一些额外的设置(例如,在.gitmodules文件中).这样,如果另一个人克隆我的项目并执行git submodule update --init,他们的仓库和子模型将具有与我的状态相同的状态,因为他们将使用我设置的相同默认设置: 稀疏结帐:仅查看子模块的某些文件. 浅克隆:仅克隆子模块的某个SHA1. 如何为git子模块设置上述设置? 解决方案 带有 git1.8.4(2013年7月) ),在 suppodule的加法浅更新(git submodule update --depth 1),您现在可以拥有自定义更新: 除
30 2023-03-15
编程技术问答社区
Jenkins和Git的稀疏签出
我在git中有一个大存储库.我如何在詹金斯(Jenkins)创建一份工作,该工作仅检查该项目的一个子文件夹? 解决方案 jenkins git Plugin support 自Git-Plugin 2.1.0(2014年4月)以来.对于此功能,您将需要git> = 1.7.0.它在"其他行为" - >"稀疏结帐路径"下. 参见:jira问题 jenkins-21809 其他解决方案 您可以使用稀疏结帐 git的功能.请注意,Git仍然将整个存储库推向本地磁盘.但是,这还不错,因为它被压缩了. 在Jenkins创建新工作,在源代码管理部分中设置GIT存储库. 建立项目.这将把整个存储库克隆到本地磁盘. 打开项目的工作区文件夹,删除除.git文件夹外的所有内容. 为Project的Workspace文件夹打开Git Shell.启用稀疏检查: git config core.sparsecheckout true 更新工作树: git r
60 2023-02-01
编程技术问答社区
如何在JGit中实现稀疏的签出?
我需要在GitHub存储库中拉出特定子目录的内容,并将其放在我自己的目录下.经过大量研究,似乎稀疏的结帐是必经之路.但是,我不确定如何使用JGIT实施此功能. 解决方案 1)您不能仅克隆回购的一部分 - 例如,使用lib和Tests的存储库,但您只想克隆lib pottion. 2)您可以使用" git克隆 - 深度深度..."仅克隆深度修订,但是您仍然可以获得整个存储库,而不是所有的修订. (还有其他限制,所以请先man git-clone.) 3)您可以执行git clone --bare ...,然后检查所需的文件(您所说的"稀疏结帐"). (las,该方法的步骤比这两个步骤更多...) 请注意,在(3)中,除非添加--depth DEPTH参数.
42 2022-12-25
编程技术问答社区
在git-svn中取消对目录的忽略(将目录添加到稀疏签出)。
使用GIT SVN时,可以通过 的线路来实现中央存储库的稀疏结帐 git clone -s URL-to-root --include-paths 'dir1|dir2|dir3' 使用此设置一段时间后,我想将另一个目录DIR4添加到跟踪的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 s
38 2022-10-13
编程技术问答社区
如何将完全结账转换为稀疏结账?
拥有一个存储库的完整结帐,如何将其转换为稀疏结帐? 解决方案 运行 git config core.sparseCheckout true 然后创建.git/info/sparse-checkout /* !excluded-dir/ 然后运行 git checkout master 和excluded-dir将消失. 我的问题是,我没有在我的.git/info/sparse-checkout中放下拖延的斜线,这要感谢 http://www.richsomerfield.com/post/2014-03-03-05-Adventures-in-git-sparsecheckouts/
32 2022-10-12
编程技术问答社区