问题标签 [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.
branch - Perforce——将搁置的变更列表从主目录移动到分支?
我想知道是否有任何方法可以将在 /main/ 上编辑创建的更改列表移动到分支 /dev/branch?
我有六个这样的变更列表,里面有很多文件。我搁置了所有文件,并希望将它们移至分支以继续在那里工作。如果可能的话,我宁愿直接在 P4V 中执行此操作。
我将 P4V 2011.1 与 2010.2 P4 服务器一起使用。
version-control - 如何使用 Perforce Shelving 让一个人创建更改并让另一个人提交?
我希望UserA能够在 Perforce 中创建一个更改列表,然后将其搁置。然后,我希望UserB能够取消搁置该更改列表并提交它。
这听起来很简单,但是 Perforce unshelfing 似乎并没有像我期望的那样工作。当 UserB 运行“p4 unshelve -s 1234”时,它会从更改 1234 中取消所有已更改的文件,但不会带来更改的元数据(描述、作业修复)!这意味着 UserB 可以将搁置的 CL复制到全新的 CL 中并提交(通过手动重新创建描述和修复),但这会使旧的搁置 CL 闲置。
这里合乎逻辑的事情是让UserB
- 取消搁置 CL
- 查看搁置的 CL 的元数据
- 将该元数据复制到新的CL中
- 提交新的 CL
- 删除旧搁置的 CL
以前有人遇到过这个问题吗?你是怎么解决的?
编辑:我应该澄清我的问题非常笼统。我正在开发一个工具,其中UserA是开发人员,而UserB是构建系统本身。开发人员会搁置一个 CL,然后让构建系统取消搁置并通过一系列构建和测试对其进行验证(如果它通过所有这些测试,则自动提交 CL)。如果构建系统提交它们似乎注定要失败,希望每个开发人员记得删除他们搁置的 CL!
mercurial - hg shelve 相当于 git stash drop
我安装了 hg shelve(不是阁楼)扩展,我想删除一个补丁。在 git 中它会是git stash drop
. 我如何使用搁置扩展来做到这一点?
mercurial - 如何 Hg Shelve 添加了尚未提交的文件
我正在使用 Mercurial Shelve 扩展从命令行搁置更改。它工作得很好,除非我想搁置的更改在工作目录中包含新添加的文件(a)。基本上,它会搁置除新添加的文件之外的所有内容。我通过查看 .hg/shelve 存储的更改来检查这一点。
如何搁置新添加的文件(一种状态)?
mercurial - Mercurial:移植 vs. 记录 vs. qrecord vs. shelve vs. 移植 vs. dirstate vs. queue
我是 Mercurial 的新手,并且不知何故仍处于评估过程中,所以这四个概念对我来说有点混乱。有些被提到等同于 Git 的 Staging/Index 概念,有些甚至比 Git 的 Staging 更好。
四个命令hg graft
、hg record
和(和hg qrecord
,但这在Graft vs. Transplant中已经解释过)如何相互比较,以及队列和dirstate的概念如何?在哪些用例中选择一个而不是另一个?hg shelve
hg transplant
我知道每个页面都有帮助页面,但是仍然很难弄清楚每个页面的作用,因为通常 VCS 对我来说是一个新主题。
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)。所以这很可能是一个错误?或者我的机器上的设置不同?
visual-studio-2010 - 无法搁置 SQL 查询 Windows 未保存在 Visual Studio 中
当我结束我的工作日时,我想在回家之前搁置 TFS 中的更改,因为我鼓励所有开发人员都这样做。我所有的更改都保存到了磁盘上,并且我打开了许多 SQL 查询窗口,我一直将它们用作便笺簿来编写针对数据库的查询。
不幸的是,如果不将这些文件保存到磁盘,它不会让我搁置我的合法更改——而且我无意保存它们,它们只是用于混合一些 SQL 查询的草稿。
有解决办法吗?查询永远不会保存,也从未添加到源代码管理中。
mercurial - 阁楼货架与货架。它们是互补的吗?
我是 Mercurial 的新手,我对如何像 git 一样存储更改有点困惑。我深入研究了 SO 并发现一些使用attic extension而其他人使用shelve extension。有什么理由我应该使用一个而不是另一个?它们是互补的吗?
谢谢...
svn - 与 TFS 搁置等效的 Subversion 是什么?
我们正在从 TFS 迁移到 Subversion。一位同事表示,如果他失去了上架的能力,他会非常失望。在 TFS 中,可以创建一组文件以保存在一个名称下。文件保存在存储库中,但不保存在 HEAD 或任何分支中。更改只是存档和标记。
这类似于在 Subversion 中标记一组更改,但不需要签入更改。搁置对于代码审查、对稳定版本的更改(尚未签入)进行检查点以及仅保持更改的安全性很有用存储库,即使它们尚未准备好签入。
在我看来,在 Subversion 中执行此操作需要将存储库中的代码分支并将代码检查到该分支中。如果有人可能会放弃这些更改,那就太麻烦了。
mercurial - Mercurial:搁置与 mq
我一直在使用 mercurial 一段时间,并且一直在慢慢学习它的功能。前段时间我了解了货架,并一直在愉快地使用它们。现在我正在尝试理解补丁队列,但从我读到的内容来看,它们听起来与货架非常相似。我可以在不实际提交的情况下保存我的工作,如果需要,可以切换分支,然后再返回。这两者有何不同?
注意:我看到了这个:Mercurial:graft vs. record vs. qrecord vs. shelve vs. migration vs. dirstate vs. queue,但没有发现它解决了这个问题。