TortoiseHg“设备上没有剩余空间”推送时出错
我们使用 TortoiseHg 作为 Mercurial 客户端 UI。今天,我们在尝试从某个特定工作站进行推送时遇到了问题。它收到以下错误:
中止:设备上没有剩余空间 [命令返回代码 255.........]
当 TortoiseHg/Mercurial 正在捆绑文件以准备推送到存储库时,会发生此错误。我做了一些测试,发现随着文件的捆绑,工作站 (C:) 驱动器逐渐被填满。 (C:) 驱动器从 ~900MB 变为 ~100MB,然后收到错误消息。所以这显然是原因。
我的问题是这样的:
有谁知道哪个默认目录用于存储 TortoiseHg/Mercurial 在准备推送时捆绑文件时创建的临时文件?这似乎与安装 TortoiseHg 的驱动器无关。我重新安装到一个有足够空间的数据驱动器,并且仍然使用(C:)来存储它正在使用的任何临时文件。
是否可以配置 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:
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.
Is there a way to configure TortoiseHg/Mercurial to use a temp directory of your choice?
Thanks in advance for any help!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Mercurial 是 python,并且 python 对于临时文件位置具有良好的特定于平台的默认值。如果您想要默认值以外的其他值(在 Windows 上可能是 c:\temp),它们很容易被覆盖。
http://docs.python.org/library/tempfile.html#tempfile.tempdir 表示它是:
因此,如果您在客户端计算机上有使用 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:
So if you've got software using Mercurial on a client computer set the environment variable to some place you know has space.
Mercurial 始终将内部文件存储在本地存储库文件夹的“.hg”文件夹内。
也许 TortoiseHg 有一个额外的临时文件夹......不知道。无论如何,您应该尝试使用 Mercurital 命令行客户端推送文件:
有关命令行客户端的更多信息,您可以在此处找到 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:
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.