帮助我使用mercurial扩展导出文件

2024-09-20 22:54:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图将exportfiles扩展用于mercurial,但遇到以下错误:

c:\xampp\htdocs\dev>hg exportfiles -r 1 /tmp/export
** unknown exception encountered, please report by visiting
**  http://mercurial.selenic.com/wiki/BugTracker
** Python 2.6.6 (r266:84297, Aug 24 2010, 18:46:32) [MSC v.1500 32 bit (Intel)]
** Mercurial Distributed SCM (version 1.9+10-e9264b45237d)
** Extensions loaded: exportfiles
Traceback (most recent call last):
  File "hg", line 42, in <module>
  File "mercurial\dispatch.pyo", line 27, in run
  File "mercurial\dispatch.pyo", line 64, in dispatch
  File "mercurial\dispatch.pyo", line 87, in _runcatch
  File "mercurial\dispatch.pyo", line 675, in _dispatch
  File "mercurial\dispatch.pyo", line 454, in runcommand
  File "mercurial\dispatch.pyo", line 729, in _runcommand
  File "mercurial\dispatch.pyo", line 683, in checkargs
  File "mercurial\dispatch.pyo", line 672, in <lambda>
  File "mercurial\util.pyo", line 385, in check
  File "C:\Users\Sasa/exportfiles.py", line 39, in exportfiles
    rng = cmdutil.revrange(repo, opts['rev'])
AttributeError: 'module' object has no attribute 'revrange'

我使用的是tortisehg2.1.1forwindows32位Mercurial 1.9+10

你能帮我解决这个问题并使用exportfiles扩展名吗?在

提前谢谢!在


Tags: in错误linehgmercurialfilemoduledispatch
2条回答

Mercurial's API changed after version 1.8.

Various functions have been moved from cmdutil.py to scmutil.py, including revrange/revsingle/revpair and match/matchall/matchfiles

假设this是您使用的扩展的源代码,那么第11行应该是

from mercurial import util, scmutil

第39行应该是

^{pr2}$

有可能Mercurial的内部结构发生了一些变化,扩展需要更新,但是我并不完全是问题所在。cmdutil似乎有一个revrange方法。NB:我看到cmdutil源的地方显然是一个过时的fork。

但是,在有人提出对扩展名的修复之前,至少有一个解决方法,可以至少获得一个添加或修改的文件列表。您可以转换输出或将其输入到您自己的脚本中,以便复制正确的文件:

hg status  rev 100:110  added  modified

此列表列出从修订版100添加或修改到修订版110的文件(不能使用-r作为 rev的缩短开关,它是 removed的缩写)。输出在每个相对路径之前有一个MA。在

相关问题 更多 >

    热门问题