TortoiseHg“设备上没有剩余空间”推送时出错

发布于 2024-12-06 20:09:39 字数 521 浏览 4 评论 0原文

我们使用 TortoiseHg 作为 Mercurial 客户端 UI。今天,我们在尝试从某个特定工作站进行推送时遇到了问题。它收到以下错误:

中止:设备上没有剩余空间 [命令返回代码 255.........]

当 TortoiseHg/Mercurial 正在捆绑文件以准备推送到存储库时,会发生此错误。我做了一些测试,发现随着文件的捆绑,工作站 (C:) 驱动器逐渐被填满。 (C:) 驱动器从 ~900MB 变为 ~100MB,然后收到错误消息。所以这显然是原因。

我的问题是这样的:

  1. 有谁知道哪个默认目录用于存储 TortoiseHg/Mercurial 在准备推送时捆绑文件时创建的临时文件?这似乎与安装 TortoiseHg 的驱动器无关。我重新安装到一个有足够空间的数据驱动器,并且仍然使用(C:)来存储它正在使用的任何临时文件。

  2. 是否可以配置 TortoiseHg/Mercurial 以使用您选择的临时目录?

预先感谢您的任何帮助!

We are using TortoiseHg as our Mercurial client UI. Today we ran into an issue while trying to push from one particular workstation. It was receiving the following error:

abort: No space left on device
[command returned code 255 ..........]

This error occurs while TortoiseHg/Mercurial is bundling files in preparation to pushing to the repository. I did some testing and noticed that the workstations (C:) drive was gradually being filled up as the file were being bundled. The (C:) drive went from ~900MB to ~100MB and then the error message was received. So this is obviously the cause.

My question is this:

  1. Does anyone know which default directory is used to store the temp files created while TortoiseHg/Mercurial bundles files in prep for a push? This seems to be independent of the drive TortoiseHg is installed to. I re-installed to a data drive with plenty of space and still used (C:) to store whatever temp files it was using.

  2. Is there a way to configure TortoiseHg/Mercurial to use a temp directory of your choice?

Thanks in advance for any help!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

云柯 2024-12-13 20:09:39

Mercurial 是 python,并且 python 对于临时文件位置具有良好的特定于平台的默认值。如果您想要默认值以外的其他值(在 Windows 上可能是 c:\temp),它们很容易被覆盖。

http://docs.python.org/library/tempfile.html#tempfile.tempdir 表示它是:

  1. 由 TMPDIR 环境变量命名的目录。
  2. 由 TEMP 环境变量命名的目录。
  3. 由 TMP 环境变量命名的目录。
  4. 特定于平台的位置:
    • 在 RiscOS 上,由 Wimp$ScrapDir 环境变量命名的目录。
    • 在 Windows 上,目录按顺序为 C:\TEMP、C:\TMP、\TEMP 和 \TMP。
    • 在所有其他平台上,目录按顺序为 /tmp、/var/tmp 和 /usr/tmp。
  5. 作为最后的手段,当前工作目录。

因此,如果您在客户端计算机上有使用 Mercurial 的软件,请将环境变量设置为您知道有空间的某个位置。

Mercurial is python and python has good platform specific defaults for temporary file locations. They're pretty easily overridden if you want something other than the defaults, which on Windows are probably c:\temp.

http://docs.python.org/library/tempfile.html#tempfile.tempdir says it's:

  1. The directory named by the TMPDIR environment variable.
  2. The directory named by the TEMP environment variable.
  3. The directory named by the TMP environment variable.
  4. A platform-specific location:
    • On RiscOS, the directory named by the Wimp$ScrapDir environment variable.
    • On Windows, the directories C:\TEMP, C:\TMP, \TEMP, and \TMP, in that order.
    • On all other platforms, the directories /tmp, /var/tmp, and /usr/tmp, in that order.
  5. As a last resort, the current working directory.

So if you've got software using Mercurial on a client computer set the environment variable to some place you know has space.

花开浅夏 2024-12-13 20:09:39

Mercurial 始终将内部文件存储在本地存储库文件夹的“.hg”文件夹内。
也许 TortoiseHg 有一个额外的临时文件夹......不知道。无论如何,您应该尝试使用 Mercurital 命令行客户端推送文件:

hg push

有关命令行客户端的更多信息,您可以在此处找到 Mercurial:权威指南

另一个临时解决方案可能是通过文件系统 simlink 将这些文件移动到另一个剩余空间较多的驱动器。

Mercurial always stores internal files inside the ".hg" folder in the local repository folder.
Maybe TortoiseHg has a additional temp folder... don't know. Anyway you should try to push the files using the Mercurital command line client:

hg push

More information about the command line client you can find here Mercurial: The Definitive Guide

Another temporary solution might be the move these files via a file system simlink to another drive with more space left.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文