+1 vote

WARNING: This question involves messing with aspects of Paratext that weren’t intended to be messed with by the developers. Don’t try this at home!

Background:
Our project decided to use the migration from PT7 to PT8 to correct a number of long-time problems we’ve had. Namely, to remove a number of sensitive usernames from the project and to change the project shortcode to something sensible (before it was a somewhat random name). In the process of using the Convert tool inside of PT, I discovered that there were some problems within the Mercurial data in our project history, and these problems kept the conversion process from completing. I worked with the developers for a while, but determined that no matter what I tried I couldn’t get the Convert tool to succeed (and each attempt was taking 12+ hours).

Solution:
In researching Mercurial, I discovered that you can trim early history from the project (using the convert.hg.startrev command). Note that unlike things like the backout command that rolls back the most recent changes, the convert.hg.startrev tool rewrites the hash codes of each revision–meaning that the new repository is completely unique from the old one and can never be merged with it. I acknowledge that, but since we’re switching from PT7 to PT8 and moving from one project shortcode to another, this seems like a good time to create a ‘new’ Mercurial database.

Note that other than me, the tech guy for the project, almost no one in our team ever uses the project history feature in Paratext. This process won’t change the notes, which is really the invaluable history for our team.

I understand that we will no longer have edit history prior to my cutoff date (I’m trimming our revisions from 32,000 down to about 1,000), although if absolutely necessary I’d still have access to the old data via the old project in PT7.

Question:
Can anyone think of any potential problem caused by removing project history which I haven’t considered?

Paratext by (1.7k points)
reshown

1 Answer

+1 vote
Best answer

If your project is using Project Progress, it stores Mecurial revision IDs when chapters are marked as complete for each stage. These are used for both a time of completion and to allow the ability to see what has changed since it was marked as complete (in the Compare Texts tool). If any of these revision IDs referred to one that was deleted, you will at least lose that information. At worst it will crash PT when accessing the project progress data for the completed chapters of a stage.

The best way to mitigate this is to just run the tool to fix them as it won’t affect anything that is not broken. You can run this tool by clicking [Hold Shift] Help > Advanced > Fix Missing Progress Revisions and choose Yes when it asks you if you want to reset to the start of the project. The down side to this is that your finished progress will now have the date of the first revision in the project and not when it was actually finished.

EDIT: It will also skew your progress data completion graphs, etc. since it will look like you started the project with a bunch of stuff already finished.

Beyond that, I don’t think the Mercurial revisions are used for anything else besides looking at the Project History (which should handle the removal of those revisions just fine).

by [Expert]
(16.2k points)

reshown

Thanks for this. We’re not using Project Progress at this time, but this is the sort of issue I knew I wouldn’t think of. So far it seems like we can do this.

Related questions

Welcome to Support Bible, where you can ask questions and receive answers from other members of the community.
Live in harmony with one another. Do not be proud, but be willing to associate with people of low position. Do not be conceited.
Romans 12:16
2,571 questions
5,309 answers
5,010 comments
1,385 users