-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
High
-
None
-
Affects Version/s: 2.5.5
-
Component/s: None
-
Environment:
embedded mercurial 4.5.2 within ST, Windows 10, SourceTree 2.5.5, bash on Windows(WSL) for command line (as a backup). mercurial for ubuntu on bash command prompt version 3.7.3
The project has one main repository with most of the code, and two sub-repositories that are shared by other teams. All 3 repositories are hosted on bitbucket.org
embedded mercurial 4.5.2 within ST, Windows 10, SourceTree 2.5.5, bash on Windows(WSL) for command line (as a backup). mercurial for ubuntu on bash command prompt version 3.7.3 The project has one main repository with most of the code, and two sub-repositories that are shared by other teams. All 3 repositories are hosted on bitbucket.org
-
Severity 2 - Major
Open a sub-repository in its own tab, and using the right-click context menu, choose "update to" a couple times and bounce around to 2 or 3 different commits within that sub-repository.
Normally, since there aren't any uncommitted changes, this should just update to each revision without errors, no extra files, no merge conflicts, etc.
The operations described above work perfectly if the repository in question is NOT a subrepository (i.e. I was able to do a clone of the repository to a completely different folder on my hard drive and everything worked fine). I was also able to get it to work in place (still linked as a subrepo) by using the windows bash command line (Windows-Subsystem-for-Linux with mercurial installed via apt-get).
If, however, I use the gui to update between revisions (or type the gui command into the SourceTree terminal - embedded hg), It fails with a stream of errors (see the image below).
To summarize, it doesn't work using SourceTree with embedded mercurial as long as it's a linked subrepository. The only way to get it to work properly is to bypass ST (and embedded hg) entirely, and use a different installation of mercurial operating directly on the same folder structure. You can get it to work within the sourcetree gui, but only if you're not working with a subrepository.