Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • thg thg
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 837
    • Issues 837
    • List
    • Boards
    • Service Desk
    • Milestones
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • mercurial
  • TortoiseHg
  • thgthg
  • Issues
  • #1821

Closed
Open
Created Apr 05, 2012 by Bitbucket Importer@bitbucket_importerOwner

3-way visual diff picks wrong file from copied files

Created originally on Bitbucket by mischab1

In TortoiseHg 2.3.1 with Mercurial 2.1.1, when merging changes forward from an original file foo to a copied file foobar, and using the Resolve Conflicts dialog box, If you click 3-Way Diff or Diff to Local for the resolved foobar file, it compares the merged foobar file to the local foo file instead of the local foobar.

This is very confusing if Tool Resolve merged all changes automatically and you want to verify it did the correct thing. Instead of showing the few changes that were copied forward in this merge, it shows all changes that have happened to foobar since it was copied from foo.

I've attached a batch file that creates an example repository to see this in action. After running the batch file, do the following in TortoiseHg.

  1. Right-click the tip of default and select Merge with local....
  2. Make sure both options are unchecked and click Next
  3. Click the Resolved link to open the Resolve Conflicts dialog box.
  4. Select foobar and click Tool Resolve.
  5. The file is automatically resolved and moves to the Resolved Conflicts area. Select the file and click 3-Way Diff.
  6. Look at the confusing diff. Because it is showing the local foo instead of the local foobar, you can't tell that the only thing the merge changed is the addition of "first" in the first line.

Attachments: hgbug.bat

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking