首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何将mercurial repo(包括历史)导入另一个mercurial repo作为子目录,而不使用subrepos?

在将一个Mercurial仓库(包括其历史记录)导入另一个Mercurial仓库作为子目录时,可以使用以下步骤:

  1. 首先,确保你已经在本地克隆了两个Mercurial仓库,一个是要导入的源仓库(Repo A),另一个是目标仓库(Repo B)。
  2. 进入目标仓库(Repo B)的根目录,并创建一个新的目录,用于存放要导入的源仓库(Repo A)的内容。可以使用命令行或文件管理器创建目录。
  3. 进入源仓库(Repo A)的根目录,并执行以下命令将其内容导出到一个临时目录中:
代码语言:txt
复制

hg archive --prefix=TEMP_DIR/ path/to/temp/dir

代码语言:txt
复制

这将把源仓库的内容导出到一个临时目录中,其中TEMP_DIR是你创建的临时目录的路径。

  1. 返回目标仓库(Repo B)的根目录,并执行以下命令将临时目录中的内容导入到目标仓库的子目录中:
代码语言:txt
复制

hg import --exact --import-branch TEMP_DIR/

代码语言:txt
复制

这将把临时目录中的内容导入到目标仓库的子目录中,并保留源仓库的历史记录。

  1. 完成以上步骤后,可以删除临时目录。

这样,你就成功将一个Mercurial仓库导入另一个Mercurial仓库作为子目录,而不使用subrepos。

请注意,以上步骤仅适用于将一个Mercurial仓库的内容导入到另一个Mercurial仓库的子目录中,并保留历史记录。如果你需要更复杂的操作,例如合并两个仓库的历史记录等,可能需要使用其他工具或方法来实现。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

9.2 Git 与其他系统 - 迁移到 Git

Mercurial 因为 Mercurial 与 Git 在表示版本时有着非常相似的模型,也因为 Git 拥有更加强大的灵活性,将一个仓库从 Mercurial 转换到 Git 是相当直接的,使用一个叫作...Mercurial 仓库的完整克隆: $ hg clone /tmp/hg-repo 下一步就是创建一个作者映射文件。...如果你喜欢的话甚至可以使用 Perforce 作为你的 Git 托管。 Git-p4 Git-p4 也可以作为一个导入工具。 作为例子,我们将从 Perforce 公开仓库中导入 Jam 项目。...现在开始,需要进入目标目录中并识别每一个子目录,每一个都是你要导入为提交的快照。 要进入到每个子目录中并为导出它打印必要的命令。...正如之前提到的,Windows 使用 CRLF 作为换行符 git fast-import 只接受 LF。

2K10

探索OpenNJet :快速上手下一代云原生应用引擎

作为底层引擎,OpenNJet利用动态加载机制可以实现不同的产品形态,如API网关、消息代理、出入向代理,负载均衡,WAF等等 想要了解更多可以查看OpenNJet官网链接:https://njet.org.cn...centos-release-scl-rh https://repo.ius.io/ius-release-el7.rpm 如图: sudo curl -o /etc/yum.repos.d/mercurial.repo...https://www.mercurial-scm.org/release/centos7/mercurial.repo 如图 如图: ls -al /etc/yum.repos.d/mercurial.repo...例如,我可以根据业务需求轻松地添加API网关和负载均衡功能,不需要重新配置整个系统。 在实际使用中,我发现OpenNJet的易用性也很高。...这包括了解NGINX、云原生技术、网络代理等基本概念,这些知识将有助于理解OpenNJet的工作原理和使用方法 阅读文档和教程: OpenNJet提供了详细的文档和教程,新手可以通过阅读这些文档来了解

10210

【Rust日报】 2019-06-25:Rust中的记忆化

本文作者以Fibonacci序列递归函数作为例子,一步步介绍了Rust中的实现函数记忆化功能的最佳实践。...Read More 「系列文章」Rust模块系统和命令行应用有用的常用的crate介绍 #mercurial Facebook的Mercurial版本控制系统从去年开始就已经用Rust重新实现了,这篇文章主要是其开发者在学习模块系统的一些实践和有助于命令行参数解析和错误处理的常用...Read More repo 200行Rust代码实现绿色线程 #green_thread 可以算上一本小书了,从零开始实现绿色线程,值得学习。...Read More repo rug:使用Rust重新实现git #git 应该是一个练手项目,根据《构建Git》一书来实现的。...(但是有人说语法优雅,我是不认同的)

97820

告别SVN,Git成“独苗”:GitHub 在 13 年后宣布淘汰Subversion支持

1 GitHub 告别 Subversion GitHub 于 2010 年引入 Subversion 支持,那时候版本控制软件的格局与现在有很大的不同,大部分人使用的是有十年发展历史的集中式版本控制系统...如今,十三年已经过去,有高达 94% 的开发人员在使用 Git, Subversion 比以前少见得多。...与 Git 使用的分布式模型相比,SVN 的客户端 - 服务器模型显得比较老派,变更会先被存储在本地,并在推送到上游代码仓库时被分发至中央历史记录(及其他分支)。...Mercurial 的核心开发人员 Raphaël Gomès 和 Pierre-Yves David 提到,时至今日不少大型企业仍在以某种形式使用Mercurial包括 Mozilla、Facebook...Gomès 和 David 解释道,“扩展系统允许用户对 Mercurial 的各个方面做出调整,包括自定义行为或接入现有系统,这种灵活性在企业环境中非常受欢迎。”

48320

BFG Repo-Cleaner - 快速清除Git提交历史中的特定文件

, 这将导致别人clone你的代码或下载zip包的时候也必须更新或下载这些无用的文件,因此, 我们需要一个方法, 永久的删除这些文件(包括该文件的历史记录)....使用 首先使用--mirror标志克隆一个新的repo副本: $ git clone --mirror git://example.com/some-big-repo.git 这是一个 bare 仓库,...检查存储库以确保您的历史记录已更新,然后使用标准的git gc命令去除不需要的脏数据, git现在将这些脏数据视为多余的需求: $ cd some-big-repo.git $ git reflog expire...因此,BFG假定您的最新提交是一个好的提交,其中没有您希望从历史记录中删除的脏文件。BFG的这一假设保护了您的工作,并让您安心地知道BFG只是仅仅更改您的仓库历史记录,不是干预项目的当前文件。...使用BFG重写Git项目历史 - Guardian的博客文章 GitMinutes 播客采访 Git的应该更快...使用Scala - 为2014年的《ScalaDays》,《the later Parleys

2.8K40

GitHub 官宣,彻底淘汰 SVN!!

1GitHub 告别 Subversion GitHub 于 2010 年引入 Subversion 支持,那时候版本控制软件的格局与现在有很大的不同,大部分人使用的是有十年发展历史的集中式版本控制系统...如今,十三年已经过去,有高达 94% 的开发人员在使用 Git, Subversion 比以前少见得多。...与 Git 使用的分布式模型相比,SVN 的客户端 - 服务器模型显得比较老派,变更会先被存储在本地,并在推送到上游代码仓库时被分发至中央历史记录(及其他分支)。...Mercurial 的核心开发人员 Raphaël Gomès 和 Pierre-Yves David 提到,时至今日不少大型企业仍在以某种形式使用Mercurial包括 Mozilla、Facebook...Gomès 和 David 解释道,“扩展系统允许用户对 Mercurial 的各个方面做出调整,包括自定义行为或接入现有系统,这种灵活性在企业环境中非常受欢迎。”

89930

再见了,SVN!GitHub 宣布将淘汰 Subversion 支持

1GitHub 告别 Subversion GitHub 于 2010 年引入 Subversion 支持,那时候版本控制软件的格局与现在有很大的不同,大部分人使用的是有十年发展历史的集中式版本控制系统...如今,十三年已经过去,有高达 94% 的开发人员在使用 Git, Subversion 比以前少见得多。...与 Git 使用的分布式模型相比,SVN 的客户端 - 服务器模型显得比较老派,变更会先被存储在本地,并在推送到上游代码仓库时被分发至中央历史记录(及其他分支)。...Mercurial 的核心开发人员 Raphaël Gomès 和 Pierre-Yves David 提到,时至今日不少大型企业仍在以某种形式使用Mercurial包括 Mozilla、Facebook...Gomès 和 David 解释道,“扩展系统允许用户对 Mercurial 的各个方面做出调整,包括自定义行为或接入现有系统,这种灵活性在企业环境中非常受欢迎。”

67710

【翻译】monorepos 的优点

例如,对于 VCS(版本控制系统(version control system),是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统) 而言,由于项目太大或历史记录过多不得不拆分项目并不是最佳选择...使用 monorepo,项目可以以任何您认为逻辑上最一致的方式组织和分组在一起,不仅仅是因为您的版本控制系统迫使您以特定方式组织事物。使用单个 repo 还可以减少管理依赖项的开销。...使用 HEAD 始终指向一致且有效版本的 monorepo 可以消除完全跟踪多个 repo 版本的问题(至少只要你有一些机制来供应上游依赖。...[在另一个方向,] 强制依赖者更新实际上是 monorepo 的另一个好处。 不仅使跨项目更改更容易,跟踪它们也更容易。...事实上,Twitter 一直在修补 git, Facebook 一直在修补 Mercurial,以支持巨型 monorepos。 缺点 当然,使用 monorepo 也有缺点。

1.6K30

Monorepo 还没搞懂吗?一文搞定!

通过这种方式,他们可以充当眼罩,使开发人员只关注他们所拥有的部分,忘记了整体情况。...我们可以使用智能构建系统来理解项目结构,并只对自上次提交以来发生变化的部分进行操作,不是每次更新都重新构建完整的repo。 我们大多数人没有谷歌或Facebook那样的资源。我们该怎么办?...Mercurial:作为Git的替代品,Mercurial是一个分布式版本控制工具,它关注的是速度。Facebook使用Mercurial,并在过去几年里推出了许多加速补丁。...Git CODEOWNERS:允许您定义哪个团队拥有存储库中的子目录。当有人打开一个pull请求或推入一个受保护的分支时,代码所有者会自动被请求检查。GitHub和GitLab支持此功能。...一些公司可能会选择monorepo一段时间,然后决定他们需要切换到 multirepos 或反之,另一些公司可能会选择混合。

3.2K30

跨平台团队协作项目源码管理软件Mercurial客户端TortoiseHg

Mercurial是一分布式版本控制系统,它可以帮你管理你的项目代码,如果你怕因为在开发过程中,因为小疏忽,导致改错的代码找不回原来的模样,你就可以借助版本历史,把原来的代码给找回来。...所谓分布式,就是指没有一个所谓的集中的中心(central)库,这个库一般由svn server(svn),vss administrator(vss)控制,Mercurial就没有这样的一个库,所以使用版本控制的时候甚至都不需要一个...administrator和server,本地直接建库,直接就使用,任何一个库都可以作为中心库,每个库在Mercurial看来都是平等的。...当然,实际使用的时候,可以人为的去指定一个中心库以作为发布,但是,这里强调的是Mercurial本身不关心这个,对它来说都是一样的。...首先,分布式最大的好处就是离线工作,不仅意味着可以联网就享受版本控制的好处,并且也意味着普通的提交速度也要快的多,而且,以此带来的巨大灵活性甚至能改变你的工作方式,因为以前集中式的版本控制系统,每次提交都会影响到他人

1.9K70

Git与Repo快速入门

版本控制 版本控制是什么已不用在说了,就是记录我们对文件、目录或工程等的修改历史,方便查看更改历史,备份以便恢复以前的版本,多人协作。...但是,所有的版本数据都存在服务器上,用户的本地设备就只有自己以前所同步的版本,如果连网的话,用户就看不到历史版本,也无法切换版本验证问题,或在不同分支工作。...四、分布式版本控制 针对CVCS的以上缺点,出现了分布式版本控制系统( Distributed Version Control System,简称 DVCS ),如GIT,Mercurial。...working driectory,工作目录,就是我们的工作目录,其中包括未跟踪文件及已跟踪文件,而已跟踪文件都是从git directory取出来的文件的某一个版本或新跟踪的文件。...含附注标签,实际上是存储在仓库中的一个独立对象,它有自身的校验和信息,包含着标签的名字,电子邮件地址和日期,以及标签说明,标签本身也允许使用 GNU Privacy Guard (GPG) 来签署或验证

978101

如何在Ubuntu 14.04上设置Gogs

在本教程结束时,您将拥有一个正在运行的Gogs实例,其中包括一个Web界面,一个管理仪表板,以及对Git pull和push等操作的访问。...在本教程中,我们将仅为Gogs使用单独的sudo非root用户以解决安全问题。本教程假定此专用用户名为git,遵循Git服务的约定; 应该遵循本教程作为git用户。...sudo apt-get update 我们将使用MySQL作为后端服务器,接下来安装它。这里的-y标志假定所有提示都是。...mysql -u root -pyour_password < gogs.sql 要从源代码安装Gogs,需要使用Git和Mercurial等版本控制工具,然后再安装它们。...首先,转到http://your_server_ip/repo/create并创建名为my-test-repo的存储库,然后单击“ 使用README.md初始化此存储库 ”选项。

1.1K30

版本控制简介

本节介绍版本控制,并说明如何将其应用于您自己的项目。我们将引导您完成所有步骤,从评估不同的版本控制系统到创建和使用一个仓库。 为何使用版本控制?...如果两个人修改了相同的文件,版本控制系统通常可以合并更改,除非存在冲突,在这种情况下,用户需要手动合并更改或保留一个更改放弃另一个。 版本控制还可以轻松跟踪更改。您可以看到谁提交了代码,以及为什么。...我们将在本指南中使用Git作为示例。但是不要让我们的决定影响你 - 还有很多其他的版本控制系统。...理想情况下,您将使用版本控制系统为每个环境创建和维护单独的仓库。这样,您就可以发出命令将文件从一个环境的仓库推送到另一个环境的仓库。由于不同的环境将使用不同的数据,您还应该为每个环境创建不同的数据库。...例如,如果您习惯于修改生产环境中的文件 - 这是一种绝对推荐的危险做法 - 学习使用版本控制系统将修改后的文件从开发环境部署到您的登台和生产环境。坚持下去!回报是值得的。

1.8K30

Git 大闸蟹

Git Bash: Unix与Linux风格的命令行,使用最多,推荐最多 Git CMD: Windows风格的命令行 Git GUI: 图形界面的Git,建议初学者使用,尽量先熟悉常用命令 一般都使用...如果你希望在一个特定的项目中使用不同的名称或e-mail地址,你可以在该项目中运行该命令不要–global选项。总之–global为全局配置,不加为某个项目的特定配置。...这种类型的文件有两种去处, 如果它被修改, 变为Modified....如果名称的最前面是一个路径分隔符(/),表示要忽略的文件在此目录下,子目录中的文件忽略。.../*.txt #会忽略 doc/notes.txt 但不包括 doc/server/arch.txt 我们使用码云为例: Git链接GitHub 是不稳定的,比较慢,我这里使用 Gitee 国内的比较稳定

35040

Git 版本管理工具(一)

实际上内核开发团队决定开始开发和使用 Git 来作为内核开发的版本控制系统的时候,世界开源社群的反对声音不少,最大的理由是 Git 太艰涩难懂,从 Git 的内部工作机制来说,的确是这样。...当时正是使用的 subversion 。虽然源代码仍然在历史里面,但是要去一个一个地找出被覆盖掉的文件并恢复过来确实是一件很难忘的事情。...Git 提交都是原子的,且是整个项目范围的,不像 CVS 中一样是对每个文件的。 Git 中的每个工作树都包含一个具有完整项目历史的仓库。 没有哪一个 Git 仓库会天生比其他仓库更重要。...你很容易发现未被合并的分支,你能简单快捷的合并这些文件。 Git 没有一个全局的版本号,SVN有 目前为止这是跟SVN相比GIT缺少的最大的一个特征。...(7)部分克隆(Partial checkout/clone):是否支持只拷贝版本库中特定的子目录

1.9K30

Google 和 Facebook 为什么 用Docker?

不过提醒在先 —— Blaze 和 Facebook Buck 的内部版都是用于 monolithic repo 的,开源版本都是方便大家使用非 mono repos 的,所以理念和实现上有不同,不过基本使用方法还是可以感受一下的...更严谨的说,文件名里应该包括版本号。比如 A-953bc.zip,其中版本号953bc是 git/Mercurial commit ID。...历史上,Google 和 Facebook 使用超大规模集群先于 Docker 和 Kubernetes 的出现。当时为了打包方便,连 tarball 都没有。...比如支持全静态链接,也包括支持 Google C++ style guide 提倡使用的那一部分 C++ 语法。...仍然以 C/C++ 程序为例,我们可以把每个子图里的每个模块编译成一个 .a,每个子图里的所有 .a 链接成一个 *.so,作为一个 cache 的单元。

89730
领券