Perforce Dev 分支 - 稀疏分支与私有分支

2024-05-03

我正在寻找一些关于可用于在 Perforce 仓库中创建单独开发分支的方法的优点和缺点的反馈。如果我理解正确的话,有两种方法可以处理这个问题。第一个是创建一个私有分支,它是您正在处理的分支的完整副本。该分支将完全独立,并将您的更改与目标分支完全隔离。

我听说推荐的另一种方法是稀疏分支。它描述于实用的强制力 http://oreilly.com/catalog/9780596101855/(第 9 章,第 242 页)。这将创建一个分支,但仅包含您需要编辑的文件。然后,您可以将目标分支客户端视图与此稀疏开发分支客户端视图重叠。

这两种方法都需要程序员执行一些集成工作,以便在目标分支中获得更改。 Private Branch 方法似乎需要更多的额外内存才能创建整个分支的副本。然而,Perforce 文档指出,它在这种情况下执行“惰性复制”。

集成还使 Perforce 能够执行文件的“延迟复制”。当你分支时 文件时,服务器实际上并不保存文件的两个副本 - 它仅保存源文件和数据库中的指针记录已发生到目标文件的分支的事实。惰性复制使分支成为一种低开销的操作;服务器不必跟踪文件的重复副本。

这使得稀疏分支方法看起来只是在流程中添加了人为错误的可能性,例如,开发人员可能开始处理他们没有添加到稀疏分支的文件,然后意外地将更改更新为破坏构建的目标分支。但是,稀疏分支功能的存在是有原因的。任何关于它为何存在以及为什么我应该在完整的私有分支上使用它(反之亦然)的反馈将不胜感激。


正如您从文档空间中指出的那样,这并不是真正的问题。速度虽然。同步整个开发树可能需要很长时间。整合回来也需要一段时间。如果您只需要树的一个分支,那么这两个操作都会快得多。

正如您已经说过的,可能会发生人为错误,但如果您制定分支规范,它可以帮助减轻一些潜在的错误。

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

Perforce Dev 分支 - 稀疏分支与私有分支 的相关文章

  • 管理数据库更改的最佳方法[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 管理数据库更改的最佳方法是什么 无论数据库客户端的语言如何 我都需要有一个解决方案 另外 我希望能够在这些更改中使用特定的数据库功能
  • 分布式版本控制系统[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我想和我的程序员同事一起实现分布式版本控制系统 他们分散在周围 全部使用不同的 IDE 或不使用 IDE 也使用不同的操作系统 我对整个场
  • Android studio 搁置的更改消失了,甚至在 .idea/shelf 目录中也没有

    我在 Android studio 中搁置了一些更改 然而 由于某种原因 搁置的更改不再存在 我已经检查了 project directory idea shelf 但它们也不在那里 Android studio 是否会在 idea she
  • 如果我解决了冲突,Git 的责备会改变吗?

    我试图弄清楚合并冲突是否导致了错误 但我遇到了困难 因为我不清楚冲突解决如何影响git blame 假设我在 master 中有一个文件 a b c 我在master中修改 a d c 但同事也是如此 他们在一个单独的分支中以不同的方式对其
  • 如何列出我在 Team Foundation Server 中签入的所有文件?

    我怎样才能列出最后一个x我签入到 TFS 的文件 Using the TFS PS Snapin included with the TFS PowerToys1 Get TfsItemHistory recurse stop 50 use
  • 无法推送到远程 GIT 存储库 - “[...] 似乎不是 git 存储库”

    我已经在我的服务器上使用适当文件夹中的以下内容设置了 GIT 存储库 我的子域的根目录 git mydomain com mkdir foo git cd foo git git init bare shared 这将使存储库可通过 URL
  • 以最小的努力在多台计算机之间同步代码

    我希望能够跨多台计算机 准确地说是 3 台 同步源代码和整个项目 我尝试过使用 git 但从来没有获得过无忧无虑的体验 也许是因为我从来没有投入很多精力 所以 我理想中想要的是 能够将文件夹及其所有子文件夹添加到 同步 列表 基本上 一旦我
  • 通过 Git/SVN 将前缀 ? 添加到代码中

    怎么加前缀 v VersionNumber使用 Git SVN 高效地访问存储库中的每个文件 我发现 SO 使用这种做法为其存储库中的每个特定文件提供版本号 他们使用SVN 我想知道如何使用 Git 做同样的事情 举几个例子 1 2 在你的
  • 使用 Git 维护项目

    我有 2 个项目 实际上这 2 个项目彼此大约 80 相同 主要区别在于语言和商业模式 一个是针对使用英语的更多受众 并且有 9 美元 月的商业模式 另一个是使用本地语言与免费增值商业模式 有时 当我想添加新的特性 功能时 我想将其添加到两
  • 不同GIT版本的GIT合并结果不同

    在不同的 GIT 版本上运行 merge 命令我们得到不同的结果 命令是 git merge no ff origin master codeline Results 版本2 1 4 gt 合并成功 版本1 7 1 gt 同一提交上的同一合
  • 根据代码版本测试和管理数据库版本

    当您开发应用程序时 数据库的更改不可避免地会出现 我发现的技巧是让数据库构建与代码保持同步 过去 我添加了一个针对目标数据库执行 SQL 脚本的构建步骤 但这很危险 因为您可能会无意中添加虚假数据或更糟的情况 我的问题是保持数据库与代码同步
  • Git:检查文件是否存在于某个版本

    在我的应用程序中 我使用 git 对一些外部文件进行版本管理 我正在使用类似的命令git show HEAD 1 some file获取文件的某个版本 基于 git 标签 提交哈希或与 HEAD 的关系 当文件不存在时 会输出 致命 消息
  • 如果文件已在服务器上,请避免使用 git-ftp 上传

    假设我有应用程序的本地副本 我将其推送到 github 然后使用 git ftp 将任何更改上传到我的服务器 我首先会使用 git ftp init u
  • git 可以与 Xcode 集成吗?

    有没有办法将 git 存储库与 Xcode 内置的 SCM 功能一起使用 Xcode 4 原生支持 git WWDC 2010 上的开发者工具国情咨文演讲 在这里了解更多 Xcode 4 中的新增功能 http developer appl
  • 为什么版本控制系统缺乏 Visual Source Safe 的共享功能?您使用并认为哪些源代码控制值得尝试?

    我们正在寻找一种版本控制系统来改变我们当前的源安全系统 我们将它与 Visual Studio 一起使用 到目前为止 我们已经失败了 主要原因是我们看到的所有替代方案都不支持 VSS 的一项或多项功能 尤其是我们广泛使用的一项 文件共享 那
  • git 显示已添加到 gitignore 的文件中的更改?

    我已经将 log2 文件夹和 main js 文件添加到 gitignore 如屏幕截图所示 但即使执行后git rm cached r我仍然可以看到 git 正在检测 main js 和 log2 文件夹内文件的更改 怎么会 这些的常见问
  • Jenkins:尽管没有变化,SCM 仍然触发持续构建

    我们遇到一个问题 尽管没有代码更改 SCM 仍在触发构建 SCM 每 15 分钟轮询一次更改 并且仅在发现更改时才触发构建 以下是连续 SCM 轮询日志的几个示例 Started on Nov 15 2013 11 47 14 AM Usi
  • TFS 2017 - 如何构建/交付仅更改的文件?

    我正在使用 TFS 2017 关于标题 我找到了一个术语 增量构建 但是 我找不到在哪里设置它 我尝试在 构建参数 p IncrementalBuild true 中添加增量参数 但总是收到错误 表明这是错误的参数 是否可以仅交付 或构建并
  • 将bitbucket发布到数字海洋

    我本质上是试图使用 bitbucket 来理解 git 的概念 我一直在通过修改本地帐户和 bitbucket 帐户之间的文件来练习版本控制 事实证明这很有帮助 现在我正在尝试弄清楚如何将文件从 bitbucket 或者我猜是 GitHub
  • Perforce 将目录快速同步到干净状态

    我想要一个不需要强制同步的快速解决方案 它将指定的目录置于其原始存储库状态 相同的文件可能会从磁盘中删除 可以从磁盘添加相同的文件 磁盘上的某些文件可能被修改 某些文件可能会被标记为删除 添加或修改 我想要的只是确保在运行命令后我不会有这些

随机推荐

  • Google 文档上的正则表达式回车查找和替换

    On 谷歌文档 我想要每一个list item 我的项目符号是一个破折号 其中 20 个左右的文档中有 1 000 多个内容 需要通过额外的换行符分隔 这样可以更轻松地在移动设备上阅读 如何搜索分隔项目符号的换行符 并将其替换为两个换行符
  • 从 Groovy 中的列表中删除空项目

    从 Groovy 列表中删除空项目的最佳方法是什么 ex null 30 null 想要返回 30 只需使用减号 null 30 null null
  • LyX系统重新配置失败

    我最近在 Windows 安装中遇到了 LyX 错误 该错误以前运行顺利 我尝试重新安装 LyX 和 MiKTeX 但没有成功 当我打开 LyX 时 没有可用的文档类 当我尝试重新配置 LyX 时 收到一条错误消息 The system r
  • 如何在 PHP 的 GD 库中为文本添加发光或阴影? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 是否可以在 GD 中为文本添加发光或
  • BroadcastReceiver未收到警报广播

    我有一个设置新的重复警报的代码 在生产中我将使用 inexactRepeating 但是我注册的用于处理它的 BroadCastReceiver 没有被调用 这是我设置闹钟的代码 newAlarmPeriod 5000 For debugg
  • 有没有办法在任务栏中设置Pygame图标? set_icon() 似乎只影响实际窗口中的小图标

    运行我的程序时 我配置的图标pygame display set icon icon 仅显示在窗口中 在任务栏中 默认的 python 图标保持不变 有办法改变吗 Source import pygame from pygame local
  • 如何在 C# 中迭代​​ 3D 字符串数组

    我有一个 3D 数组 String cross new String 1 b b b b c c c new String 2 b b e b c c d 如何迭代这个数组 我想像这样迭代 foreach String abc in cro
  • 如何将我自己的函数添加为 ML pyspark Pipeline 中的自定义阶段? [复制]

    这个问题在这里已经有答案了 Florian 的示例代码 ball column keep the hall column 0 7 14 1 8 15 2 9 16 3 10 17 4 11 18
  • 连接两个 Git 存储库的历史记录?

    我有一个旧的 Git 存储库 请调用它app 然后 一年后 我想从头开始重建应用程序 所以我创建了一个新的存储库 称之为app 2 现在 我意识到我应该创建一个新分支或其他东西 而不是一个新的存储库 因为我想移动app 2在之上app然后摆
  • SQL Express 连接字符串地狱 ASP.Net

    SQL Express 2005 在本地运行 我有一个由另一个人编写的项目在同一台机器上运行 我想做的就是连接到它 不会那么难吧 这是我在旧的经典 ASP 代码中使用的代码来访问在同一实例上运行的另一个数据库 提供程序 SQLOLEDB 数
  • 如何在不循环的情况下更改bash数组元素的值

    array a b c d 我想在数组的每个元素之前添加一个字符以获得这个 array a b c d 一种简单的方法是循环数组元素并逐个更改值 for i in array do array i array i done 但我想知道是否有
  • 当其长度不是所需总长度的倍数时重复向量

    我有一个 1666 行的数据框 我想添加一列 其中包含重复序列1 5与使用cut 进行交叉验证 它看起来像这样 Y x1 x2 Id1 1 15 3 6 1 0 1 1 2 2 2 0 05 3 3 3 0 45 2 8 4 1 85 3
  • 格式化 XmlGregorianCalendar 时区问题

    我需要将 java XmlGregorianCalendar 格式化为 yyMMdd 字符串 我的实现 XMLGregorianCalendar date getDate getting the date if date null Simp
  • 谁能解释一下POJO或POCO的含义和用法[重复]

    这个问题在这里已经有答案了 可能的重复 纯旧 Java 对象 POJO 一词的确切含义是什么 https stackoverflow com questions 3326319 what does the term plain old ja
  • 通过 iOS 应用程序在 Twitter 上分享视频

    是否可以使用 SLRequest 分享视频 我可以使用相同的方式共享图像 SLRequest postRequest SLRequest requestForServiceType SLServiceTypeTwitter requestM
  • 服务器重新启动时显示等待页面

    我有一个服务器并为其创建一个 Web 界面 如果用户按下页面上的重新启动按钮 则用户将被重定向到reboot php他应该看到一个旋转 gif 直到服务器再次可访问并且服务器通过 shell 执行重新启动 如果服务器可以访问 那么我需要重定
  • jQuery-UI 的自动完成显示效果不佳,z-index 问题

    我目前正在我的客户网上商店中实现 jQuery UI 的自动完成功能 问题是 自动完成所在的元素的 z 索引高于自动完成的 z 索引 我尝试手动设置自动完成 z index 但我感觉 jQuery UI 正在覆盖它 事实上我的问题是重复的自
  • Flex Slider 无法在手机上运行

    我在这个页面上使用 flexslider 的网站上工作 http www intensetomatoes co nz story timeline http www intensetomatoes co nz story timeline
  • 如何将空目录添加到 Git 存储库?

    如何将空目录 不包含文件 添加到 Git 存储库 使目录 在存储库中 保持 几乎 空的另一种方法是创建一个 gitignore该目录中的文件包含以下四行 Ignore everything in this directory Except
  • Perforce Dev 分支 - 稀疏分支与私有分支

    我正在寻找一些关于可用于在 Perforce 仓库中创建单独开发分支的方法的优点和缺点的反馈 如果我理解正确的话 有两种方法可以处理这个问题 第一个是创建一个私有分支 它是您正在处理的分支的完整副本 该分支将完全独立 并将您的更改与目标分支