thg issueshttps://foss.heptapod.net/mercurial/tortoisehg/thg/-/issues2023-05-04T16:41:15Zhttps://foss.heptapod.net/mercurial/tortoisehg/thg/-/issues/5863Immediately upon upgrading to THg 6.3.2 (Windows, x64) I get a permission den...2023-05-04T16:41:15ZassarbadImmediately upon upgrading to THg 6.3.2 (Windows, x64) I get a permission denied error regarding the TortoiseHgOverlayServerThe message box reads:
```
---------------------------
Errors in 'TortoiseHgOverlayServer.exe'
---------------------------
The logfile 'C:\ProgramData\TortoiseHg\TortoiseHgOverlayServer.log' could not be opened:
[Errno 13] Permission d...The message box reads:
```
---------------------------
Errors in 'TortoiseHgOverlayServer.exe'
---------------------------
The logfile 'C:\ProgramData\TortoiseHg\TortoiseHgOverlayServer.log' could not be opened:
[Errno 13] Permission denied: 'C:\\ProgramData\\TortoiseHg\\TortoiseHgOverlayServer.log'
---------------------------
OK
---------------------------
```
I don't know if this will be a one-time issue or points to some deeper issue. Anyway, looking at it with PowerShell we can see:
## Security descriptor of C:\ProgramData\TortoiseHg\TortoiseHgOverlayServer.log
NB: These are all inherited from `C:\ProgramData`, btw.
```
$ (Get-Acl -Path C:\ProgramData\TortoiseHg\TortoiseHgOverlayServer.log).sddl
O:BAG:S-1-5-21-1956275055-2109141404-336736917-513D:AI(A;ID;FA;;;SY)(A;ID;FA;;;BA)(A;ID;0x1200a9;;;BU)
```
In all likelihood the file got created by an elevated process, which makes sense. Thus the file is owned by the `BUILTIN\Administrators` alias (`BA`) and the Group is set to `S-1-5-21-1956275055-2109141404-336736917-513` (`None` group, local to my machine). The ACEs are *all* inherited (`ID`):
* `O:BA` -> Owner: `BUILTIN\Administrators`
* `G:S-1-5-21-1956275055-2109141404-336736917-513` -> Group: `.\None` (this is irrelevant and was introduced for POSIX compatibility originally)
* `D:AI` (DACL, auto-inherited)
* `(A;ID;FA;;;SY)` -> Allow (inherited), File All (access) to `NT AUTHORITY\SYSTEM` (`SY`)
* `(A;ID;FA;;;BA)` -> Allow (inherited), File All (access) to `BUILTIN\Administrators` (`BA`)
* `(A;ID;0x1200a9;;;BU)` -> Allow (inherited), File Generic Read (access, == mask 0x1200a9) to `BUILTIN\Users` (`BU`)
* Hope I am getting it right, but I think that `0x1200a9 ` means:
* `FILE_READ_DATA | FILE_READ_EA` == `0x000009`
* `FILE_EXECUTE | FILE_READ_ATTRIBUTES` == `0x0000a0`
* `READ_CONTROL` == `0x020000`
* `SYNCHRONIZE` == `0x100000`
* All `or`-d together defined as **`FILE_GENERIC_READ`** in a number of Windows headers
So we need to look further up the chain ...
## Security descriptor of C:\ProgramData\TortoiseHg
NB: These are all inherited from `C:\ProgramData`, btw.
```
$ (Get-Acl -Path C:\ProgramData\TortoiseHg).sddl
O:S-1-5-21-1956275055-2109141404-336736917-1001G:S-1-5-21-1956275055-2109141404-336736917-513D:AI(A;OICIID;FA;;;SY)(A;OICIID;FA;;;BA)(A;ID;FA;;;S-1-5-21-1956275055-2109141404-336736917-1001)(A;OICIIOID;GA;;;CO)(A;OICIID;0x1200a9;;;BU)(A;CIID;DCLCRPCR;;;BU)
```
* `O:S-1-5-21-1956275055-2109141404-336736917-1001` -> Owner: local user with RID=1001 (that's my own user account)
* `G:S-1-5-21-1956275055-2109141404-336736917-513` -> Group: `.\None`
* `D:AI`
* `(A;OICIID;FA;;;SY)` -> Allow (inherited and propagating down with object inheritance [`OI`] and container inheritance [`CI`]), File All (access) to `NT AUTHORITY\SYSTEM` (`SY`) [**This folder, subfolders and files**]
* `(A;OICIID;FA;;;BA)` -> Allow (inherited and propagating down with object inheritance [`OI`] and container inheritance [`CI`]), File All (access) to `BUILTIN\Administrators` (`BA`) [**This folder, subfolders and files**]
* `(A;ID;FA;;;S-1-5-21-1956275055-2109141404-336736917-1001)` -> Allow (inherited), Full File (access) to my local user [**This folder only**]
* `(A;OICIIOID;GA;;;CO)` -> Allow (inherited and propagating down with object inheritance [`OI`] and container inheritance [`CI`], inheritance only [`IO`]), Generic All (access) to `CREATOR OWNER` (`CO`, which refers to the Owner shown above) [**Subfolders and files only**]
* `(A;OICIID;0x1200a9;;;BU)` -> Allow (inherited and propagating down with object inheritance [`OI`] and container inheritance [`CI`]), File Generic Read (access, see above) to `BUILTIN\Users` (`BU`) [**This folder, subfolders and files**]
* `(A;CIID;DCLCRPCR;;;BU)` -> Allow (inherited and propagating down with container inheritance [`CI`]), `DCLCRPCR` (see below) [**This folder and subfolders**]
* `DC` == Delete Contents (both leaf and container objects)
* `LC` == List Contents
* `RP` == Read Properties
* `CR` == All Extended Rights
## Observation
While the container object (`C:\ProgramData\TortoiseHg`) allows creation of leaf and container child objects to `CREATOR OWNER` or `BUILTIN\Administrators`, there is no other ACE that would allow writing to such a created leaf object. This would have to be set during creation from elevated context, using `LPSECURITY_ATTRIBUTES`.
## Conclusion
Thus `C:\ProgramData\TortoiseHg` should at least add an ACE of its own to the inherited ACEs, which grants `BUILTIN\Users` (`BU`) at least write, if not full, access. Local ACEs take precedence over more distant ones, which is why this would work.
**Adding** and ACE `(A;OICI;FA;;;BU)` (or `(A;OICI;FW;;;BU)`) to `C:\ProgramData\TortoiseHg` prior to any object creation inside, should fix this.
No clue how to achieve this in Python -- yet -- but I know how to do it in C# and C++ and in terms of SDDL, using PowerShell, say.
Regarding SDDL:
* https://learn.microsoft.com/en-us/windows/win32/secauthz/ace-strings
* https://itconnect.uw.edu/tools-services-support/it-systems-infrastructure/msinf/other-help/understanding-sddl-syntax/
* https://devblogs.microsoft.com/oldnewthing/20220510-00/?p=106640
* https://clan8blog.wordpress.com/2016/08/08/sddl-explained/https://foss.heptapod.net/mercurial/tortoisehg/thg/-/issues/5891Strip (extension) dialog: unclear Show Detail button2023-04-21T22:11:57ZPhilippe CloutierStrip (extension) dialog: unclear Show Detail buttonAs reported in #5883, the dialog for Strip... (in *Modify History*, from a commit's contextual menu) contains a *Show Detail* button bottom left, which controls the display of an unlabelled textarea:
![TortoiseHg_strip](/uploads/22525d4...As reported in #5883, the dialog for Strip... (in *Modify History*, from a commit's contextual menu) contains a *Show Detail* button bottom left, which controls the display of an unlabelled textarea:
![TortoiseHg_strip](/uploads/22525d41e95fda387a5178c2080e3f43/TortoiseHg_strip.png)
This is either a bug or at the very least confusing. I have no idea whatsoever what role plays this field.
Please either remove or label it.https://foss.heptapod.net/mercurial/tortoisehg/thg/-/issues/5887Got this gigantic unmanageable error popup when performing a commit2023-04-21T08:40:53Zphp4fanGot this gigantic unmanageable error popup when performing a commitThe bug that caused this error to happen is ~~most likely in an extension and I'll report it there~~ probably a bug in TortoiseHg too (see https://foss.heptapod.net/mercurial/tortoisehg/thg/-/issues/5887#note_293730); however, what I'm r...The bug that caused this error to happen is ~~most likely in an extension and I'll report it there~~ probably a bug in TortoiseHg too (see https://foss.heptapod.net/mercurial/tortoisehg/thg/-/issues/5887#note_293730); however, what I'm reporting here is the way this error is presented.
There are a few things wrong in how the error is handled by THG and presented to the user:
1. **The window is huge**. In my case the **OK button** was barely clickable; on a smaller display than mine it could very well have been completely outside of the screen and unreachable. Every window should always have a limited size constrained by the size of the screen, and if the contents don't fit then it should have a scrollbar.
2. The **window could not be resized**. EVERY window should always be resizable no matter what. And that remains true even once point 1 is fixed. If the popup had been of a reasonable size and scrollable, I may even want to _increase_ the size for that matter, in order to read the contents without scrolling too much.
3. The **bold part** of the error message is unreadable and too long. You shouldn't put an entire stack trace into that part of the error message. That is supposed to be a header, which should be limited in length, and readable and understandable to the end user. A backtrace belongs to the "body" of the message, below, not in bold and with line breaks.
![image](/uploads/d864698b1665de0aaecbf18c0dfee081/image.png)https://foss.heptapod.net/mercurial/tortoisehg/thg/-/issues/5470TortoiseHg 5.0.2 Windows 10 x64 MSI installer fails to detect Windows File Ex...2023-04-19T19:49:32ZBitbucket ImporterTortoiseHg 5.0.2 Windows 10 x64 MSI installer fails to detect Windows File Explorer stopped*Created originally on Bitbucket by Anonymous*
TortoiseHg 5.0.2 Windows 10 x64 MSI installer fails to detect Windows File Explorer has been stopped (grey desktop), skips file replacement, does not restart Windows File Explorer, and sche...*Created originally on Bitbucket by Anonymous*
TortoiseHg 5.0.2 Windows 10 x64 MSI installer fails to detect Windows File Explorer has been stopped (grey desktop), skips file replacement, does not restart Windows File Explorer, and schedules a restart with replacements.
Intsaller has to (know how to) launch Win-R Run or Ctrl-Alt-Esc Task Manager and restart Explorer.
This will prevent automated installs and so also acceptance and whitelisting for use in corporate environments.
Windows 10 Home Client Core Multiprocessor Free 6.3 1809 rs5_release 10 0 17763 615https://foss.heptapod.net/mercurial/tortoisehg/thg/-/issues/5880Crash2023-04-17T23:12:57ZMichael HutterCrash![grafik](/uploads/b0b02e51168beda1ee97d61181cc43de/grafik.png)![grafik](/uploads/b0b02e51168beda1ee97d61181cc43de/grafik.png)https://foss.heptapod.net/mercurial/tortoisehg/thg/-/issues/1035thg file log full changeset description2023-04-14T21:39:41ZBitbucket Importerthg file log full changeset description*Created originally on Bitbucket by [Saulius Gurklys](https://bitbucket.org/%7Babe9390d-4488-4d97-8340-f16558b3e08b%7D/)*
Hi,
currently in "thg file log" changeset detail (below the list) only first line of description is show.
W...*Created originally on Bitbucket by [Saulius Gurklys](https://bitbucket.org/%7Babe9390d-4488-4d97-8340-f16558b3e08b%7D/)*
Hi,
currently in "thg file log" changeset detail (below the list) only first line of description is show.
Would it be possible to show full description here?
*Attachments:* [proof](/uploads/b7b05c867a221ca73edf71dd2f1a7a5d/proof.jpg)https://foss.heptapod.net/mercurial/tortoisehg/thg/-/issues/5808Mixed UI languages2023-04-06T16:28:04Zfinn-czMixed UI languagesIn the latest version of TortoiseHg 6.2rc0, the English strings in the user interface are mixed with Czech, although the application language is forced to en_GB.In the latest version of TortoiseHg 6.2rc0, the English strings in the user interface are mixed with Czech, although the application language is forced to en_GB.https://foss.heptapod.net/mercurial/tortoisehg/thg/-/issues/5860Localization broken2023-04-04T02:51:52ZMarcel EllerbrokLocalization brokenDear TortoiseHG-Support,
I am software developer on a Windows 10 system with German as natural operating system language. Nevertheless, I don't want to use TortioseHG in German, but in English. Because in a multilingual team it is commo...Dear TortoiseHG-Support,
I am software developer on a Windows 10 system with German as natural operating system language. Nevertheless, I don't want to use TortioseHG in German, but in English. Because in a multilingual team it is common to use English expressions. To do so, I swiched the dialog language in the settings dialog to "en". As you may see in this screenshot, and everything worked fine and consistent.
![Settings](/uploads/1df3a2911186939877360f5b86480db5/Settings.png)
Recently I had to update my TortoiseHG to version 6.2.3-x64. From this moment on, the Localization of Tortoise seems very strange.
Some parts are English language, as intended. Some parts still remained in German system language. Some parts of the user interface are even mixed German AND English.
![English](/uploads/82889bdf4f543ecff0de0740ff402b29/English.png)
![German](/uploads/af5147208e6021f3657bcb8ab0bb6df5/German.png)
![Mixed](/uploads/f8d70b53c55853b8cb547a0f4276015c/Mixed.png)
Could you please investigate this issue to provide a consistent user interface in the **selected** language independend of the operationg system language?
Thanks a lot in advance!
Best regards,
Marcel Ellerbrokhttps://foss.heptapod.net/mercurial/tortoisehg/thg/-/issues/5859Tooltips in tabs utterly broken: randomly truncated, flickering, drawing garbage2023-03-23T19:35:12Zphp4fanTooltips in tabs utterly broken: randomly truncated, flickering, drawing garbageI know this issue most likely doesn't belong to TortoiseHg but some graphics library that you use, but since I have no idea which one it is, I report it to you so that you can report it upstream.
Steps to reproduce:
- Open several rep...I know this issue most likely doesn't belong to TortoiseHg but some graphics library that you use, but since I have no idea which one it is, I report it to you so that you can report it upstream.
Steps to reproduce:
- Open several repositories
- move the mouse cursor between tabs
Observed result:
The tooltips that show the repository path on rollover behave erratically. Sometimes they are randomly truncated. Sometimes the animation (btw, there's no need to animate them, it's just stupid) is broken, stretching or squeezing the characters to absurd sizes. Sometimes they flicker. Sometimes random portions look like they have been cut and pasted elsewhere. Sometimes they generate shadows that don't match. Sometimes pieces of the tooltips that are already gone remain there randomly blinking. It's a *****show, basically.https://foss.heptapod.net/mercurial/tortoisehg/thg/-/issues/5871TortoiseHg icons not updating correctly2023-03-13T01:57:16ZStead KigerTortoiseHg icons not updating correctlyAfter updating to TortoiseHg v. 6.3.2, I've noticed that the overlay icons do not update properly or are extremely slow (> 20 minutes) to update. For example, after committing a revision, the icon for the committed file will stay red in...After updating to TortoiseHg v. 6.3.2, I've noticed that the overlay icons do not update properly or are extremely slow (> 20 minutes) to update. For example, after committing a revision, the icon for the committed file will stay red instead of changing to green. Using the update icons or refresh usually doesn't work
Another example: immediately after cloning a repository, all of the files in the new, cloned repository have red icons instead of green (except for the .hgtimestamp file--I'm using httimestamp_mod extension). Running update icons and refreshing explorer does not fix this. But if I try to use the TortoiseHg Visual Diff tool on these files, it will report "There are no file changes to view" and at that point, doing a Windows Explorer refresh will cause the overlay icon for that particular file to change from red to green.
I'm using Windows 10 Version 2004 (OS build 19041.1415).https://foss.heptapod.net/mercurial/tortoisehg/thg/-/issues/5776Settings text editor has variable width font on py32023-02-22T15:36:49ZMatt HarbisonSettings text editor has variable width font on py3This was seen on Windows; I didn't check macOS.This was seen on Windows; I didn't check macOS.Windows py3 releasehttps://foss.heptapod.net/mercurial/tortoisehg/thg/-/issues/5298Issue when filteting to single result2023-01-18T14:36:53ZBitbucket ImporterIssue when filteting to single result*Created originally on Bitbucket by Anonymous*
If you have already done a filter to a single result then you do another filter to a single result it does not selected the new Changeset. Even if you click the single result it does not u...*Created originally on Bitbucket by Anonymous*
If you have already done a filter to a single result then you do another filter to a single result it does not selected the new Changeset. Even if you click the single result it does not update the filelist/Changeset info.
If you are filtering from multiple results to a single result this does not seem to be an issue.https://foss.heptapod.net/mercurial/tortoisehg/thg/-/issues/5861Crash when closing repo, asked to report by TortoiseHg bug reporter2023-01-13T22:13:01ZGreg SmithCrash when closing repo, asked to report by TortoiseHg bug reporterOpened repo directly (not via server) to modify the Description and Contact as doing this remotely does not seem to work. Opene a second repo in same way and closed the first.
```python
** Mercurial version (6.3.1). TortoiseHg version ...Opened repo directly (not via server) to modify the Description and Contact as doing this remotely does not seem to work. Opene a second repo in same way and closed the first.
```python
** Mercurial version (6.3.1). TortoiseHg version (6.3.1+1-9c2636d208dd)
** Command:
** CWD: C:\Program Files\TortoiseHg
** Encoding: cp1252
** Extensions loaded: hggit 1.0.1 (dulwich 0.20.46), histedit, mq, rebase, strip, tortoisehg.util.configitems, uncommit
** Python version: 3.9.13 (tags/v3.9.13:6de2ca5, May 17 2022, 16:36:42) [MSC v.1929 64 bit (AMD64)]
** Windows version: sys.getwindowsversion(major=6, minor=2, build=9200, platform=2, service_pack='')
** Processor architecture: x64
** Qt-5.15.2 PyQt-5.15.7 QScintilla-2.13.3
Traceback (most recent call last):
File "tortoisehg\hgqt\repotab.pyc", line 172, in closeTab
File "tortoisehg\hgqt\repotab.pyc", line 182, in _closeTabs
File "tortoisehg\hgqt\repotab.pyc", line 203, in _removeTabs
File "tortoisehg\hgqt\thgrepo.pyc", line 734, in releaseRepoAgent
KeyError: '\\\\ced-dc01\\hg\\repo\\1401\\jed2fli'https://foss.heptapod.net/mercurial/tortoisehg/thg/-/issues/5853SetuptoolsDeprecationWarning: setup.py install is deprecated2023-01-05T16:54:08ZCharlieCSetuptoolsDeprecationWarning: setup.py install is deprecatedI'm trying to update the MacPorts port to 6.3.1 but am hitting a problem that the build command is now deprecated:
```
Executing: cd "/opt/local/var/macports/build/_Users_charlieclark_temp_macports-ports_devel_tortoisehg/tortoisehg/wor...I'm trying to update the MacPorts port to 6.3.1 but am hitting a problem that the build command is now deprecated:
```
Executing: cd "/opt/local/var/macports/build/_Users_charlieclark_temp_macports-ports_devel_tortoisehg/tortoisehg/work/thg-6.3.1" && /opt/local/Library/Frameworks/Python.framework/Versions/3.10/bin/python3.10 setup.py --no-user-cfg build -j1
/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
warnings.warn()
```
I'm not that sure where I should be digging in order to patch this. I _could_ use a different Python version but if this is down to setuptools then the error is likely to persist.https://foss.heptapod.net/mercurial/tortoisehg/thg/-/issues/5854TortoiseHG isn't charset-agnostic anymore?2022-12-17T16:15:04ZLazy BadgerTortoiseHG isn't charset-agnostic anymore?Old issue with full 8-bit texts and different charsets for GUI and CLI (solvable earlier - in HG 4-5 - with proper `chcp`)
Mercurial
```
hg --version -v --debug
pager is unavailable with py2exe packaging
Mercurial Distributed SCM (vers...Old issue with full 8-bit texts and different charsets for GUI and CLI (solvable earlier - in HG 4-5 - with proper `chcp`)
Mercurial
```
hg --version -v --debug
pager is unavailable with py2exe packaging
Mercurial Distributed SCM (version 6.2.3)
(see https://mercurial-scm.org for more information)
Copyright (C) 2005-2022 Olivia Mackall and others
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Enabled extensions:
convert internal
hggit external 1.0.0 (dulwich 0.20.46)
histedit internal
rebase internal
strip internal
```
Windows
```
ver
Microsoft Windows [Version 10.0.19045.2364]
```
Objects affected:
* 8bit texts of commit-messages
* 8bit filenames in diffs
* 8bit as diff-content
I haven't for now repos with 8bit filenames, but... The nature and manifestation of the effects of paragraphs 1 and 2 are the same
Steps to reproduce:
1. Make commit with 8bit message in GUI (THG, cp1251)
1. Try `hg log` in CLI (any, cp866 by default)
2. Switch codepage, repeat `hg log`
3. Get the same output (unreadable) both times, while expect it only on step 2
```log
hg log -r ("5 or 11") -T compact | bat -p
5 8f2cca1130c2 2020-01-23 12:45 +0500 lazybadger
╚ёяЁртыхэшх чруюыютър, ЄхёЄ
11 96d6f08eeddf 2020-03-15 15:55 +0500 lazybadger
╬ЇюЁьыхэ√ чруюыютъш тёхї ёЄЁрэшЎ kick-start, шёяЁртыхэ√ юяхўрЄъш
chcp
Active code page: 866
chcp 1251
Active code page: 1251
hg log -r ("5 or 11") -T compact | bat -p
5 8f2cca1130c2 2020-01-23 12:45 +0500 lazybadger
╚ёяЁртыхэшх чруюыютър, ЄхёЄ
11 96d6f08eeddf 2020-03-15 15:55 +0500 lazybadger
╬ЇюЁьыхэ√ чруюыютъш тёхї ёЄЁрэшЎ kick-start, шёяЁртыхэ√ юяхўрЄъш
```
(Piping to bat added only for readability of chars, it doesn't perform any decoding, because plain log with my font produce just totally useless `����������� ���������, ����`)
Using decoder on bat's output, as restored my texts as "source encoding: WINDOWS-1251 displayed as: CP866" (which is definitely wrong for step 3 from "Steps")
Concerning item 3 from "Objects affected" list: I see readable output only for UTF8-encoded text, not for (common) cp 1251 windows-encoding, which is **A Big Headache** in some (non-coding) areas and cases, but less critical than every-day case for loghttps://foss.heptapod.net/mercurial/tortoisehg/thg/-/issues/5849error "Hg committing" large set of files via tortoise2022-11-30T15:26:36ZNAW3933error "Hg committing" large set of files via tortoise```python
** Mercurial version (6.2.3). TortoiseHg version (6.2.3)
** Command: --nofork commit
** CWD: C:\TRADING\MT4 PROFILES
** Encoding: cp1252
** Extensions loaded: strip, tortoisehg.util.configitems
** Python version: 3.9.12 (tags/...```python
** Mercurial version (6.2.3). TortoiseHg version (6.2.3)
** Command: --nofork commit
** CWD: C:\TRADING\MT4 PROFILES
** Encoding: cp1252
** Extensions loaded: strip, tortoisehg.util.configitems
** Python version: 3.9.12 (tags/v3.9.12:b28265d, Mar 23 2022, 23:52:46) [MSC v.1929 64 bit (AMD64)]
** Windows version: sys.getwindowsversion(major=6, minor=2, build=9200, platform=2, service_pack='')
** Processor architecture: x64
** Qt-5.15.2 PyQt-5.15.7 QScintilla-2.13.3
Traceback (most recent call last):
File "tortoisehg\hgqt\status.pyc", line 753, in run
File "mercurial\localrepo.pyc", line 3310, in status
File "mercurial\context.pyc", line 431, in status
File "mercurial\context.pyc", line 2002, in _buildstatus
File "mercurial\context.pyc", line 1905, in _dirstatestatus
File "mercurial\context.pyc", line 1575, in __contains__
File "mercurial\dirstate.pyc", line 335, in get_entry
File "mercurial\dirstatemap.pyc", line 66, in get
File "mercurial\util.pyc", line 1759, in __get__
File "mercurial\dirstatemap.pyc", line 203, in _map
File "mercurial\dirstatemap.pyc", line 302, in read
File "mercurial\util.pyc", line 1834, in wrapper
ValueError: overflow in dirstate
```https://foss.heptapod.net/mercurial/tortoisehg/thg/-/issues/5848Error On Workbench Startup and Exit: *** failed to import extension "zipdoc":...2022-11-21T22:05:14ZZianAtFirstWatchError On Workbench Startup and Exit: *** failed to import extension "zipdoc": No module named 'zipdoc'After I upgraded my copy of TortoiseHg to version 6.2.3, Workbench displays a message box that says an error was logged to thgw.log when I open and close TortoiseHg Workbench.
The log file says:
<pre>*** failed to import extension "zipd...After I upgraded my copy of TortoiseHg to version 6.2.3, Workbench displays a message box that says an error was logged to thgw.log when I open and close TortoiseHg Workbench.
The log file says:
<pre>*** failed to import extension "zipdoc": No module named 'zipdoc'
*** failed to import extension "zipdoc": No module named 'zipdoc'
*** failed to import extension "zipdoc": No module named 'zipdoc'
*** failed to import extension "zipdoc": No module named 'zipdoc'
*** failed to import extension "zipdoc": No module named 'zipdoc'
*** failed to import extension "zipdoc": No module named 'zipdoc'
*** failed to import extension "zipdoc": No module named 'zipdoc'
*** failed to import extension "zipdoc": No module named 'zipdoc'
*** failed to import extension "zipdoc": No module named 'zipdoc'
*** failed to import extension "zipdoc": No module named 'zipdoc'
</pre>
Steps to Reproduce the Problem:
1. Start TortoiseHg Workbench.
2. Look at the message box.
3. Look at the contents of "C:\ProgramData\TortoiseHg\thgw.log".
System Details:
- Windows version 21H1 (aka Windows 10)
- Have been using TortoiseHg on the computer since before 2020 by upgrading periodically to the current version of TortoiseHg.https://foss.heptapod.net/mercurial/tortoisehg/thg/-/issues/5847Bug on opening Workbench of existing project2022-11-15T16:05:40ZWolfgang SchroederBug on opening Workbench of existing projectTortoiseHg- Error report:
```python
** Mercurial version (6.2.3). TortoiseHg version (6.2.3)
** Command: --nofork workbench
** CWD: C:\DATA\PRIVAT\Projekte\Weyergans\Ionomed_Dermio\IONOMED3_TOUCHSCREEN\DERMIO_CARE_PLUS\Firmware.Standar...TortoiseHg- Error report:
```python
** Mercurial version (6.2.3). TortoiseHg version (6.2.3)
** Command: --nofork workbench
** CWD: C:\DATA\PRIVAT\Projekte\Weyergans\Ionomed_Dermio\IONOMED3_TOUCHSCREEN\DERMIO_CARE_PLUS\Firmware.Standard
** Encoding: cp1252
** Extensions loaded: strip, tortoisehg.util.configitems
** Python version: 3.9.12 (tags/v3.9.12:b28265d, Mar 23 2022, 23:52:46) [MSC v.1929 64 bit (AMD64)]
** Windows version: sys.getwindowsversion(major=6, minor=2, build=9200, platform=2, service_pack='')
** Processor architecture: x64
** Qt-5.15.2 PyQt-5.15.7 QScintilla-2.13.3
Traceback (most recent call last):
File "tortoisehg\hgqt\manifestmodel.pyc", line 440, in fetchMore
File "tortoisehg\hgqt\manifestmodel.pyc", line 499, in _populateNodes
File "tortoisehg\hgqt\manifestmodel.pyc", line 704, in _populaterepo
File "tortoisehg\hgqt\manifestmodel.pyc", line 735, in _populatesubrepos
File "mercurial\util.pyc", line 1759, in __get__
File "mercurial\context.pyc", line 169, in substate
File "mercurial\subrepoutil.pyc", line 78, in state
File "mercurial\context.pyc", line 81, in __contains__
File "mercurial\util.pyc", line 1759, in __get__
File "mercurial\context.pyc", line 535, in _manifest
File "mercurial\manifest.pyc", line 2086, in read
File "mercurial\manifest.pyc", line 479, in __init__
ValueError: Manifest did not end in a newline.
```https://foss.heptapod.net/mercurial/tortoisehg/thg/-/issues/5838About TortoiseHg: "You can visit our site here" link transforms into download...2022-11-04T17:24:37ZPhilippe CloutierAbout TortoiseHg: "You can visit our site here" link transforms into download link_Help_ -> _About TortoiseHg_ bring up the _About_ dialog, which has a link titled "You can visit our site here". This link transforms into a "A new version of TortoiseHg (x.y.z) is available for download!" when a new version is indeed av..._Help_ -> _About TortoiseHg_ bring up the _About_ dialog, which has a link titled "You can visit our site here". This link transforms into a "A new version of TortoiseHg (x.y.z) is available for download!" when a new version is indeed available after a few seconds, when TortoiseHg completes its update check.
This means a user may click the link to visit the website and end up actually downloading a new version if the timing is wrong. Moreover, this removes the convenience of the link to visit the website when TortoiseHg is not up-to-date. Yet, visiting the website is particularly useful when a new version is available to access release notes and determine whether an upgrade is relevant.
![image](/uploads/33b99acf395e1cb0c93f6a5ba2b51fa9/image.png)https://foss.heptapod.net/mercurial/tortoisehg/thg/-/issues/5843CPP formatting in rejects dialog is broken on windows2022-11-03T16:41:24ZeclaziCPP formatting in rejects dialog is broken on windowsThe formatting of text in the rejects dialog is broken. Appears to be related to the QsciLexerCPP.
Forcing the lexer to None resolves the problem (although no cpp syntax highlighting)
```
lexer = lexers.getlexer(ui, hglib.toun...The formatting of text in the rejects dialog is broken. Appears to be related to the QsciLexerCPP.
Forcing the lexer to None resolves the problem (although no cpp syntax highlighting)
```
lexer = lexers.getlexer(ui, hglib.tounicode(path), earlybytes, self)
lexer = None
editor.setLexer(lexer)
if lexer is None:
editor.setFont(qtlib.getfont('fontlog').font())
```
![image](/uploads/51d56ea172d0709d7987a46b1c88cdc9/image.png)
Tested in 6.2.3