Hi M. Pertin
On 6/10/21 4:26 PM, PERTIN Francois wrote:
We are using mercurial version 3.7.3 on a Linux server.
This version of Mercurial was released 5 years ago and is considered
quite ancient. There have been 21 other major releases of Mercurial in
the meantime, including multiple security releases.
I strongly encourage you to upgrade your client and server.
At one time a user got an error while trying to push.
He did it again, the error disappear and push succeed but all users
had to re-clone the repository from the server to be able to push again.
This is quite suspicious. Do you have any record of the error that user
got while pushing? Or of the error the other people got while pushing?
When did this happened?
Since that time, running hg verify on user repository and on server
repository returns the following error.
myfile@23805
<mailto:cpu/val3_nonRegression/val3_nonRegScara/usr/app/rdd3.dll@23805>:
ddb482e379a1 in manifests not found
21293 files, 24338 changesets, 98658 total revisions
1 integrity errors encountered!
(first damaged changeset appears to be 23805)
So it looks like a corruption was pushed to you repository, the revision
of a given file is referenced in the history but is missing from the
storage for that file. Have you kept backups of the users' repositories
at the time of the error?
Does revision `23805` (number to use on the same repository you used to
run verify) have any children?
This is not an issue for all the users except for fisheye.
It is not able to index the repository, it always restart after the
following error.
Atlasian ask us to fix the server repository by using the method
described here: RepositoryCorruption - Mercurial
<https://urldefense.com/v3/__https:/www.mercurial-scm.org/wiki/RepositoryCorruption__;!!PxtyCg5I!G2l-3QNOufA29psGGqSMt4sgqbUUA6rP_CwMmyGjzx3Q-2mhJ0nxW66if53H5_0A$>
I spend a lot of time trying to fix this without success.\
Does any one know how to fix this issue?
It looks like Fisheye is trying to load the entire history into its own
database and is chocking on the specific revision that contains the
corruption. That file revision is corrupted so you will never be able to
restore it as is. However they are multiple options to get out of this
situation:
1) remove the changeset with the corruption from the repository (if it
is an unused head), or rewrite the dependant history,
2) find an un-corrupted version of that file in some backup,
3) use "censors" to mark the content of that revision non-accessible
(might need some development to the mercurial code-base),
4) convince Fisheye to be less picky.
I don't know which of the above options are actually possible in your
case. And I don't know which one will be the best. However we can
probably get to a solution with some email roundtrips. Can you please
have a look at the question I wrote earlier in this email?
Cheers,
--
Pierre-Yves David
_______________________________________________
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel