I'm not sure how I caused this problem, but.. Was using TortoiseHg 6.1.0. Committed a change set which included 1 binary file deletion + lot's of code adds and updates. When I pushed I got 'abort: empty or missing fie data for ...'
I added the binary file back as another commit, and the push then succeeded. Now if I view the commit which contains the file delete I get this error pop up and 'please report this bug...'
#!python
** Mercurial version (6.1.1). TortoiseHg version (6.1.1)
** Command:
** CWD: C:\WINDOWS\system32
** Encoding: cp1252
** Extensions loaded: tortoisehg.util.configitems
** Python version: 2.7.18 (v2.7.18:8d21aa21f2, Apr 20 2020, 13:25:05) [MSC v.1500 64 bit (AMD64)]
** Windows version: sys.getwindowsversion(major=6, minor=2, build=9200, platform=2, service_pack='')
** Processor architecture: x64
** Qt-5.9.9 PyQt-5.13.2 QScintilla-2.10.8
Traceback (most recent call last):
File "tortoisehg\hgqt\revdetails.pyo", line 421, in _onFileSelected
File "tortoisehg\hgqt\fileview.pyo", line 503, in display
File "tortoisehg\hgqt\filedata.pyo", line 469, in load
File "mercurial\patch.pyo", line 2561, in diff
File "mercurial\patch.pyo", line 3007, in trydiff
File "mercurial\patch.pyo", line 3007, in <genexpr>
File "mercurial\context.pyo", line 960, in isbinary
File "mercurial\context.pyo", line 1322, in data
File "mercurial\util.pyo", line 1766, in __get__
File "mercurial\context.pyo", line 827, in _filenode
File "mercurial\filelog.pyo", line 77, in lookup
File "mercurial\utils\storageutil.pyo", line 241, in fileidlookup
LookupError: data/TeraView.TeraPulse.ThirdParty/Aga/Aga.Controls.dll@f6c97c2a1afe91fc577202b0fc4829a8035e8cff: no match found
Ok I worked out what I f'upped. Also my comment above wasn't quite right. The clean clone was fine, the original repo I broke wasn't.
What I did was search for and delete all instances of aga.controls.dll in the solution, which also deleted matching entries in .hg, probably because I've got 'show hidden files' turned on.
I've copied the missing entries back from the clean clone and now verify works fine.
No I don't recall doing anything unusual, just one commit and one push, then I got the 'abort ...' message.
I'm not very familiar with Mercurial so haven't tried any commands like 'strip'.
When I say 'added the file back', I put the binary file back in the solution, committed and pushed, at which point the push succeeded and pushed both commits. I did a fresh clone and everything builds and seems to be ok.
However if I try to view the commit in Tortoise where I had the error, the TortoiseHg Bug Report window pops up with
'... LookupError: data/TeraView.TeraPulse.ThirdParty/Aga/Aga.Controls.dll@f6c97c2a1afe91fc577202b0fc4829a8035e8cff: no match found' as originally reported.
I get
% hg verify --verbose
repository uses revlog format 1
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
warning: copy source of 'TeraPulseLib/InstController.cs' not in parents of 244dc3886854
warning: copy source of 'TeraPulseLib/InstrumentAcqController.cs' not in parents of 244dc3886854
warning: revlog 'data/TeraView.TeraPulse.ThirdParty/Aga.Controls.dll.i' not in fncache!
3523: empty or missing TeraView.TeraPulse.ThirdParty/Aga.Controls.dll
TeraView.TeraPulse.ThirdParty/Aga.Controls.dll@3523: manifest refers to unknown revision 831b2925d0ba
TeraView.TeraPulse.ThirdParty/Aga/Aga.Controls.dll@3524: manifest refers to unknown revision f6c97c2a1afe
warning: revlog 'data/thirdparty/Aga.Controls.dll.i' not in fncache!
672: empty or missing thirdparty/Aga.Controls.dll
thirdparty/Aga.Controls.dll@672: manifest refers to unknown revision 82e077deedbb
checked 7842 changesets with 83704 changes to 8915 files
4 warnings encountered!
hint: run "hg debugrebuildfncache" to recover from corrupt fncache
5 integrity errors encountered!
(first damaged changeset appears to be 672)
[command returned code 1 Thu May 5 19:19:06 2022]
I'm not sure how I caused this problem, but.. Was using TortoiseHg 6.1.0. Committed a change set which included 1 binary file deletion + lot's of code adds and updates. When I pushed I got 'abort: empty or missing fie data for ...'
I added the binary file back as another commit, and the push then succeeded. Now if I view the commit which contains the file delete I get this error pop up and 'please report this bug...'
#!python
** Mercurial version (6.1.1). TortoiseHg version (6.1.1)
** Command:
** CWD: C:\WINDOWS\system32
** Encoding: cp1252
** Extensions loaded: tortoisehg.util.configitems
** Python version: 2.7.18 (v2.7.18:8d21aa21f2, Apr 20 2020, 13:25:05) [MSC v.1500 64 bit (AMD64)]
** Windows version: sys.getwindowsversion(major=6, minor=2, build=9200, platform=2, service_pack='')
** Processor architecture: x64
** Qt-5.9.9 PyQt-5.13.2 QScintilla-2.10.8
Traceback (most recent call last):
File "tortoisehg\hgqt\revdetails.pyo", line 421, in _onFileSelected
File "tortoisehg\hgqt\fileview.pyo", line 503, in display
File "tortoisehg\hgqt\filedata.pyo", line 469, in load
File "mercurial\patch.pyo", line 2561, in diff
File "mercurial\patch.pyo", line 3007, in trydiff
File "mercurial\patch.pyo", line 3007, in <genexpr>
File "mercurial\context.pyo", line 960, in isbinary
File "mercurial\context.pyo", line 1322, in data
File "mercurial\util.pyo", line 1766, in __get__
File "mercurial\context.pyo", line 827, in _filenode
File "mercurial\filelog.pyo", line 77, in lookup
File "mercurial\utils\storageutil.pyo", line 241, in fileidlookup
LookupError: data/TeraView.TeraPulse.ThirdParty/Aga/Aga.Controls.dll@f6c97c2a1afe91fc577202b0fc4829a8035e8cff: no match found