It is right? Merging between stable default branches in Mercurial using TortoiseHg

I am new to Mercurial and I am using the Stable / Default branching system. We are all here on Windows, and I'm trying to get everyone else to work on this system. We all use TortoiseHg. I'm trying to document how to merge changes into stable versions and tags, but I've been using Mercurial for about three weeks now, so I'm not even sure I'm doing it right. In addition, TortoiseHg seems to be missing a few options available from the command line. But I need to make this work from the Windows shell, or it will not be accepted here.

All our programming work is done by default, and the stable branch is used only for software releases. One thing that makes me believe that I am doing something wrong is that after each merge I have to redo the stable branch. This is normal? Seems controversial.

The following is the procedure I wrote. Please feel free to indicate my idiocy or ask any questions. And thank you for any comments.

On my laptop there are two directories for each project. The devel directory stores the default branch clone,

================

Merging branches and creating a stable release, TortoiseHg

- Commit the devel repository.

- open the local devel directory.

- Launch HgWorkbench.

- Click the latest stable version of the stable branch.

- Select Merge with local ...

- Synchronize and push changes to the remote repository.

- Go to the local stable repository.

- Synchronize and retrieve from a remote repository.

- update to the last branch by default. Choosing an β€œupdate for a hint” should be the best.

- TortoiseHg β†’ commit. Take part in the stable branch. You will need to recreate a new branch. When it asks, select "Restart branch."

- Open HgWorkbench and add a tag for the latest stable version. Example "Version XX"

- Synchronize and click on the remote repository. Use the Options button in the Sync dialog box to open the Sync Options dialog box. In the bottom box labeled "Branch", enter "stable"

- Return to the local "devel" repository.

- Synchronize and retrieve from a remote repository. Use the Options button in the Sync dialog box to open the Sync Options dialog box. In the bottom box labeled Branch, make sure the box is blank. Otherwise, it will by default have a "stable" branch.

+8
mercurial tortoisehg
source share
1 answer

There is no need for the second clone to achieve what you want, and I think it adds complexity when it is not needed.

This is what I would do:

  • You have one repository clone
  • Commit default branch
  • Start HgWorkbench
  • Right-click the last set of changes on the stable branch
  • Select Update... in the popup menu and click the Update button in the popup window (use the default options)
  • Right-click the last set of changes in the default branch
  • Choose Merge with local...
  • If the status of the working directory is displayed as clean (it should be), click Next
  • If there are no merge conflicts (again, it should not be, if you are not working in stable ), click Next again
  • Enter the commit message and click Commit and click Finish in the next step
  • Right-click the last set of changes in the stable branch and select Tag... , enter a tag name and click Add .
  • Right-click the last set of changes in the default branch and select Update... using the default options again

You have now received the marked stable branch and returned to the default branch to continue development. When you are ready to release the new stable version, repeat the steps above from step 3.

+6
source share

All Articles