Fix Repositories (Version 2.1.0 onwards)Īdded new function to repair damaged repositories with status " ERROR" during repositories verification. This is handy to sync between multiple repositories on local machine and remote server or external storage. New Features Push and Pull Changes (Version 2.0 onwards)Īdded new function to push or pull changes from multiple repositories with alias named " default". This option is settable from the track bar located on the upper left of the Application's Main Form with max thread limited to 8. To optimize the performance, we limit the threads in the Parallel.For by setting the MaxDegreeofParallelism property in ParallelOption. It will run even slower when there are too many threads running at once. Verifying N repositories with N threads doesn't sound practical. If (VerifyRepository(Repositories, ref errorMessage)) Parallel.For( 0,, taskOption, rowIndex =>ĭataGridViewRow ptrRow = dgRepo.Rows The Mercurial verification function is used to verify each repository as shown in the TortoiseHg Workbench. TortoiseHgManager retrieves the repositories information from this file. The TortoiseHg repository registry is stored in the following location: "%APPDATA%\TortoiseHg\thg-reporegistry.xml". ![]() ![]() Load Repositories from Repository Registry The number of repositories which failed verification are shown in the status bar as below: This tool will perform repository verification on all repositories and report its status. TortoiseHgManager is created to automate the repository verification for all Mercurial repositories registered under the TortoiseHg Repository Registry. However, it is very tedious to verify all repositories as there isn't any function to do this in one click. This function works fine for one repository at a time. The verification function can be accessed from the TortoiseHg Workbench under Repository -> Verify. Mercurial and TortoiseHg do provide a verification function to verify the integrity of a repository. One may still be able to commit to a damaged repository but getting an earlier revision may no longer work. There is a chance that files in the repository folder will get corrupted due to either a hardware or software error. The integrity of this folder is important for the repository to work properly. This folder contains multiple files which hold the status and history for each tracked file. BackgroundĬontents of a Mercurial repository are stored as a sub folder named ". I assumed that you have a basic knowledge of TortoiseHg and Mercurial. ![]() This tip presents a repository tool named TortoiseHgManager created for TortoiseHg to verify all repositories in one click. TortoiseHg is a Windows shell extension and a series of applications for the Mercurial distributed revision control system. Download TortoiseHg_V2.1.0_bin - 18.1 KB.Hg is a distributed version control, unlike other centralized ones, so you can commit even without a network connection available, since it is commiting to the local repository. Then you can proceed from the “Hg Workbench” dialog (available when you right click in Windows Explorer the folder name that contains the “.hg” subfolder) to sync the local changes with any external repository you’re using. ![]() Note that selecting the 3-state checkbox at the top selects/deselects all files quickly. The default seems to be to commit only modified files, thus if files have been removed or added you have to select them. After trying multiple times and even rebooting I realized that deleting that “wlock” file fixed the issue and could then open up TortoiseHg commit dialog again to retry the commit action (luckily it remembers the commit message from the last effort, you just have to select which files to commit again. This results in the Commit dialog never commiting changed/removed/added files and you have to press Close there and confirm cancelation of the commit action. It seems that sometimes TortoiseHg Mercurial (Hg) client on Windows fails to remove a 0-byte-sized file named “ wlock” (a write lock to avoid simultaneous write to a local repository) in the “.hg” subfolder that holds a local repository.
0 Comments
Leave a Reply. |