问题标签 [shelve]

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 投票
4 回答
814 浏览

mercurial - 在拉入 Mercurial 之前自动搁置(使用 TortoiseHG)?

我有一些我不想提交的已更改文件(例如 web.config)。在我拉取并更新到新的变更集之前,我必须搁置它们。拉取和更新后,我必须取消搁置它们。

我目前正在使用 TortoiseHG。有没有可以自动执行此操作的扩展程序?

0 投票
0 回答
279 浏览

python - 将搁置与 django 一起使用时出现类型错误

我把这段代码放在models.py我的 django 应用程序中:

一切正常,但是当解释器关闭时,我得到以下输出:

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 投票
1 回答
312 浏览

python - 如何合并搁置文件/数据库?

我有几个 Shelve 即 .db 文件,我希望将它们合并到一个数据库中。

我能想到的唯一方法是遍历每个数据库,将每次迭代重写到新数据库,但这需要太长时间。

有一个更好的方法吗?

0 投票
1 回答
527 浏览

python - 蟒蛇搁置;加载/保存时意外使用 RAM

我已经开始使用 Python 的搁置模块(而且我对 Python 本身很陌生),虽然它可以完美地存储和加载信息,但 RAM 的使用是......奇怪。

我要保存的部分是位于另一个地图的某些坐标上的地图,以及对于任何给定坐标可能存在或不存在的值的选择,例如“fov1”和“fov2”。例如,在 x=50 和 y=100 的“小地图”上,可能有另一张地图,我想要保存。Minimap[50][100] 也可能有例如 fov0 和 fov1 的列表,但没有其他任何东西。最大 fov 值为 fov75。

这是我的保存/加载功能。

这个保存功能意味着查看哪些地图需要保存(那些不是空白的,当前没有保存的),然后将地图保存为 Xcoord + 'x' + Ycoord (例如'50x100')并将 fov 部分保存为 Xcoord + 'x' + Ycoord + 'f' + fov 的数量,(例如,'50x100f2')。这一切都很好。然后我还希望它删除当时保存在 RAM 中的地图,并删除所有存在的 fov 段,以便释放内存。这似乎也有效。

同时,这里是加载函数,用于调出地图、所有 fov,然后将它们放回原处。再一次,这很完美。

然而,奇怪的是 RAM 的使用,因为我在测试它时一直在看任务管理器。简单地保存一个地图实际上增加了 python 正在使用的 RAM!这肯定不对吧?或者,如果我一次保存一大块,RAM 会按原样下降,但是如果我将它们全部加载回来,那么 RAM 就会比保存它们之前的值高得多。如果我再次保存/加载,RAM 不会增加;它只会在第一个保存/加载周期增加,然后再也不会增加。我整天都在研究这个问题,无法弄清楚是什么导致了这种奇怪,以及如何解决它。谁能帮我吗?

编辑:哦,是的,使用 Python 2.7.2。此外,一次保存的地图不会超过 9 张。

0 投票
1 回答
553 浏览

mercurial - 有没有办法在 hg unshelve -i 输出中手动应用差异?

hg shelve又做了一次——即使应用了hg unshelve not working中描述的补丁(它愉快地工作了大约一个月),搁置只是再次“丢失”了我所有的更改。

我在运行时看到了我的搁置名称hg shelve -l,但是当我看到时,hg unshelve -n <name>我得到了可怕的“ nothing to unshelve”消息。

我可以看到所有的变化hg unshelve -i -n <name>。由于 unshelve 命令拒绝承认它们在那里,即使它很乐意向我展示它们,将它们放回我的本地存储库的最简单方法是什么?

0 投票
1 回答
1639 浏览

version-control - Perforce (p4) 搁置工作流程?

我正在尝试设计有用的工作流程来使用 p4 shelve。我是一个 git 用户,错过了它的很多功能。

基本流程(存储未完成的变更列表,做其他事情,返回完成初始任务——相当于 git stash)是微不足道的;我正在寻找有关如何在更复杂的场景中使用此功能的教程/文章。

我应该放弃并改用 git-p4 或 p4sandbox 吗?

0 投票
2 回答
6559 浏览

python - 在搁置和 sqlite 之间选择非常大的字典(Python)

我有一个大型 Python 字典,其中包含无法加载到内存中的浮点数的向量(150k 向量,每个 10k 维),因此我必须使用两种方法之一将其存储在磁盘上并在适当时检索特定向量。向量将被创建和存储一次,但可能会被读取很多次(数千次)——因此高效读取非常重要。在使用搁置模块进行一些测试后,我倾向于认为 sqlite 将是此类任务的更好选择,但在我开始编写代码之前,我想听听更多关于此的意见......例如,还有其他的吗?除了我不知道的那两个选项?

现在,假设我们同意最好的选择是 sqlite,另一个问题与表格的确切形式有关。我正在考虑使用带有表格行的细粒度结构vector_key, element_no, value来帮助有效分页,而不是将向量的所有 10k 元素存储到同一记录中。我真的很感激关于这个问题的任何建议。

0 投票
0 回答
180 浏览

perforce - perforce,搁置测试失败

我的 Shelve 测试构建失败了,它给了我:

而该项目实际上存在于我的本地系统上。

我还将一个新项目添加到 perforce 树中,其中: 新路径已添加到客户端规范中,以便它映射到新项目。但是,它仍然抱怨:

请让我知道我应该如何解决这个问题。谢谢。

0 投票
2 回答
173 浏览

python - 尝试将双端队列存储在 Shelve 中的奇怪行为

我将让以下终端会话说明一切:

不应该ds['store']指向同一个对象吗?为什么可以appendleft工作d但不能工作s['store']