[Bug 3855] New: hg merge --repository failure when hg is run from a different drive than the one containing the repository if there are changed subrepos
mercurial-bugs at selenic.com
mercurial-bugs at selenic.com
Wed Mar 13 08:37:36 CDT 2013
http://bz.selenic.com/show_bug.cgi?id=3855
Priority: normal
Bug ID: 3855
CC: mercurial-devel at selenic.com
Assignee: bugzilla at selenic.com
Summary: hg merge --repository failure when hg is run from a
different drive than the one containing the repository
if there are changed subrepos
Severity: bug
Classification: Unclassified
OS: Windows
Reporter: angel.ezquerra at gmail.com
Hardware: PC
Status: UNCONFIRMED
Version: unspecified
Component: Mercurial
Product: Mercurial
I have a repository on drive E:. The repository has some subrepos. I have two
heads on default which I want to merge. The repository has several
subrepositories, and each of the anonymous branches leading to each of the two
heads modifies different repositories.
When I tried to merge both heads using TortoiseHg it failed right after
displaying .hgsubstate. Running hg merge from the command line (after going
into the repository root) worked. Since TortoiseHg is installed in C:\ Steve
Borho suggested trying to run the merge from outside the repository and using
--cwd or --repository (as TortoiseHg does internally). This works if I run it
from the same drive were the repository is found (i.e. from somewhere on the E:
drive). But if I try to run it from the C:\ drive it fails as follows:
C:\Program Files\TortoiseHg>hg --repository E:\SPB_SRC merge
** unknown exception encountered, please report by visiting
** http://mercurial.selenic.com/wiki/BugTracker
** Python 2.7.3 (default, Apr 10 2012, 23:24:47) [MSC v.1500 64 bit (AMD64)]
** Mercurial Distributed SCM (version 2.5.2+12-fabbaa250977)
** Extensions loaded:
Traceback (most recent call last):
File "hg", line 42, in <module>
File "mercurial\dispatch.pyo", line 28, in run
File "mercurial\dispatch.pyo", line 65, in dispatch
File "mercurial\dispatch.pyo", line 88, in _runcatch
File "mercurial\dispatch.pyo", line 746, in _dispatch
File "mercurial\dispatch.pyo", line 515, in runcommand
File "mercurial\dispatch.pyo", line 841, in _runcommand
File "mercurial\dispatch.pyo", line 812, in checkargs
File "mercurial\dispatch.pyo", line 741, in <lambda>
File "mercurial\util.pyo", line 500, in check
File "mercurial\commands.pyo", line 4116, in merge
File "mercurial\hg.pyo", line 481, in merge
File "mercurial\merge.pyo", line 704, in update
File "mercurial\merge.pyo", line 474, in applyupdates
File "mercurial\merge.pyo", line 67, in resolve
File "mercurial\merge.pyo", line 57, in __getitem__
KeyError: '.hgsubstate'
Note that hg is run from the C: drive but the repository is on the E:\ drive.
I tried to come up with a small test case for this but I could not make it
fail. It seems to happen on this particular repository.
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the Mercurial-devel
mailing list