问题标签 [shelving]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
18808 浏览

branch - Perforce——将搁置的变更列表从主目录移动到分支?

我想知道是否有任何方法可以将在 /main/ 上编辑创建的更改列表移动到分支 /dev/branch?

我有六个这样的变更列表,里面有很多文件。我搁置了所有文件,并希望将它们移至分支以继续在那里工作。如果可能的话,我宁愿直接在 P4V 中执行此操作。

我将 P4V 2011.1 与 2010.2 P4 服务器一起使用。

0 投票
2 回答
2509 浏览

version-control - 如何使用 Perforce Shelving 让一个人创建更改并让另一个人提交?

我希望UserA能够在 Perforce 中创建一个更改列表,然后将其搁置。然后,我希望UserB能够取消搁置该更改列表并提交它。

这听起来很简单,但是 Perforce unshelfing 似乎并没有像我期望的那样工作。当 UserB 运行“p4 unshelve -s 1234”时,它会从更改 1234 中取消所有已更改的文件,但不会带来更改的元数据(描述、作业修复)!这意味着 UserB 可以将搁置的 CL复制到全新的 CL 中并提交(通过手动重新创建描述和修复),但这会使旧的搁置 CL 闲置。

这里合乎逻辑的事情是让UserB

  1. 取消搁置 CL
  2. 查看搁置的 CL 的元数据
  3. 将该元数据复制到的CL中
  4. 提交新的 CL
  5. 删除旧搁置的 CL
这就是Perforce 文档甚至推荐的内容。有一个小问题:不允许 UserB 删除另一个用户搁置的 CL!只有 UserA 和 p4 管理员可以删除他搁置的 CL。我不明白为什么文档会掩盖这一点。

以前有人遇到过这个问题吗?你是怎么解决的?

编辑:我应该澄清我的问题非常笼统。我正在开发一个工具,其中UserA是开发人员,而UserB是构建系统本身。开发人员会搁置一个 CL,然后让构建系统取消搁置并通过一系列构建和测试对其进行验证(如果它通过所有这些测试,则自动提交 CL)。如果构建系统提交它们似乎注定要失败,希望每个开发人员记得删除他们搁置的 CL!

0 投票
4 回答
14220 浏览

mercurial - hg shelve 相当于 git stash drop

我安装了 hg shelve(不是阁楼)扩展,我想删除一个补丁。在 git 中它会是git stash drop. 我如何使用搁置扩展来做到这一点?

0 投票
5 回答
7949 浏览

mercurial - 如何 Hg Shelve 添加了尚未提交的文件

我正在使用 Mercurial Shelve 扩展从命令行搁置更改。它工作得很好,除非我想搁置的更改在工作目录中包含新添加的文件(a)。基本上,它会搁置除新添加的文件之外的所有内容。我通过查看 .hg/shelve 存储的更改来检查这一点。

如何搁置新添加的文件(一种状态)?

0 投票
1 回答
1922 浏览

mercurial - Mercurial:移植 vs. 记录 vs. qrecord vs. shelve vs. 移植 vs. dirstate vs. queue

我是 Mercurial 的新手,并且不知何故仍处于评估过程中,所以这四个概念对我来说有点混乱。有些被提到等同于 Git 的 Staging/Index 概念,有些甚至比 Git 的 Staging 更好。

四个命令hg grafthg record和(和hg qrecord,但这在Graft vs. Transplant中已经解释过)如何相互比较,以及队列dirstate的概念如何?在哪些用例中选择一个而不是另一个?hg shelvehg transplant

我知道每个页面都有帮助页面,但是仍然很难弄清楚每个页面的作用,因为通常 VCS 对我来说是一个新主题。

0 投票
1 回答
2228 浏览

svn - 在 TortoiseSVN 中搁置和审查代码

我想搁置 SVN 中的代码更改,主要用于代码审查。我遇到了一些问题,希望有人可以检查我是否做错了什么。

我已将存储库设置为具有此额外结构:

然后要创建一个架子,我右键单击我的工作目录的根文件夹,单击Branch/Tag...,浏览到正确的路径(例如/shelves/username1/MYPROJECT_29012013),选择Working copy,最后是OK

要查看我的书架中的代码,我将转到Repo Browser,浏览到书架分支,右键单击它并选择Show Log。这会弹出一个弹出窗口,其中包含下半部分的文件列表。双击这些文件中的任何一个都会显示更改的差异。魔法!

这在我在我的机器上创建的一个小测试 repo 上非常有效。在我们的实际代码库(带有远程仓库)上,当我双击 diff 文件时出现错误。它说

我做错什么了吗?或者这可能是一个错误?有没有更好的方法来实施搁置和代码审查TortoiseSVN

编辑:这个过程适用于我在 TortoiseSVN 1.7.5 (SVN 1.7.3) 上的同事。我在 TortoiseSVN 1.7.10 (SVN 1.7.7)。所以这很可能是一个错误?或者我的机器上的设置不同?

0 投票
0 回答
62 浏览

visual-studio-2010 - 无法搁置 SQL 查询 Windows 未保存在 Visual Studio 中

当我结束我的工作日时,我想在回家之前搁置 TFS 中的更改,因为我鼓励所有开发人员都这样做。我所有的更改都保存到了磁盘上,并且我打开了许多 SQL 查询窗口,我一直将它们用作便笺簿来编写针对数据库的查询。

不幸的是,如果不将这些文件保存到磁盘,它不会让我搁置我的合法更改——而且我无意保存它们,它们只是用于混合一些 SQL 查询的草稿。

有解决办法吗?查询永远不会保存,也从未添加到源代码管理中。

0 投票
3 回答
449 浏览

mercurial - 阁楼货架与货架。它们是互补的吗?

我是 Mercurial 的新手,我对如何像 git 一样存储更改有点困惑。我深入研究了 SO 并发现一些使用attic extension而其他人使用shelve extension。有什么理由我应该使用一个而不是另一个?它们是互补的吗?

谢谢...

0 投票
2 回答
7020 浏览

svn - 与 TFS 搁置等效的 Subversion 是什么?

我们正在从 TFS 迁移到 Subversion。一位同事表示,如果他失去了上架的能力,他会非常失望。在 TFS 中,可以创建一组文件以保存在一个名称下。文件保存在存储库中,但不保存在 HEAD 或任何分支中。更改只是存档和标记。

这类似于在 Subversion 中标记一组更改,但不需要签入更改。搁置对于代码审查、对稳定版本的更改(尚未签入)进行检查点以及仅保持更改的安全性很有用存储库,即使它们尚未准备好签入。

在我看来,在 Subversion 中执行此操作需要将存储库中的代码分支并将代码检查到该分支中。如果有人可能会放弃这些更改,那就太麻烦了。

0 投票
1 回答
517 浏览

mercurial - Mercurial:搁置与 mq

我一直在使用 mercurial 一段时间,并且一直在慢慢学习它的功能。前段时间我了解了货架,并一直在愉快地使用它们。现在我正在尝试理解补丁队列,但从我读到的内容来看,它们听起来与货架非常相似。我可以在不实际提交的情况下保存我的工作,如果需要,可以切换分支,然后再返回。这两者有何不同?

注意:我看到了这个:Mercurial:graft vs. record vs. qrecord vs. shelve vs. migration vs. dirstate vs. queue,但没​​有发现它解决了这个问题。