Jump to content

Mergetool suggestions


Lala

Recommended Posts

Hi

I just tried out your merge/diff tool and think it's pretty awesome, there really aren't any diff-tools except perforce that doesn't look like they are from the stoneage so i really like yours. Especially the visualization of moved blocks which is quite unique for your product.

However, there are many drawbacks and features I'm missing also. Note that i use only the diff-tool together with tortiosehg.

1. Can't change font or font size. This sounds silly but really is a showstopper, on a widescreen laptop i even have problem seeing the whole row of the code. I would have to reduce the size with maybe 2 steps which is impossible. (Thankfully your default choice of font is good though)

1b. Zooming out(changing font-size) very quickly, as ctrl+mousewheel, would be cool to get a quick glance of the areas where the code has been changed. I first thought it was silly when Visual studio introduced code-zoom but now I actually use it very frequently. Even though the scrollbar mini-diff provides this quite good already. (Also good for readability when doing presentations on projector.)

2. Encoding problems.

2a.The default encoding selected is "None" with no possibility to change default.

2b. What is none-encoding anyway?!?

2c. Why don't you attempt to detect the encoding used. I frequently see BOM-marks printed out () at the top of files and sometimes get spaces after every character(fails to detect UTF-16). Auto detection is important as code in the same repo can often have different encoding depending on if it's server side(php, c#) or has to go to a browser(javascript, html).

2d. What is the "Unicode" option? UTF8 is a type of unicode and has it's own option. It seems like your Unicode-option treats the text as UTF-16 though. There's no way to select UTF8 BOM vs no BOM, although this should probably be automatic anyway.

3. Options are not persistent, i want to ignore whitespace but this is always reverted. Same with syntax highlight. (auto detection of syntax, based on filename maybe, would also be nice btw)

4. When inserting/deleting blocks it would be nice with a drawn line between the lines of text where the block was inserted/deleted. Instead of just a "tube" ending in nowhere. Look at how perforce does this.

5. Find plays the windows beep-sound every time i press enter even if a match was found

5b. Nice if Pressing esc removes the find-bar.

5c. Incremental search would be nice.

6. Word-wrap would really be awesome. For "traditional" code this isn't really necessary but when editing for example Latex-documents it really is required as one "line", which practically is one paragraph, often spans several rows. Diffing this is a nightmare without word-wrap unless your screen is 3 meters wide.

7. Horizontal scroll with touchpad doesn't work. Have to drag the slider manually. Vertical does though. Makes the lack of word-wrap even more frustrating. Using keyboard for horizontal scroll doesnt work either (left/right buttons).

8. Closing window with ctrl+w would be nice for quicker workflow. Many programs do this and closing tab in most browsers also use this combination.

9. Keyboard shortcuts for next/previous diff does not work. Horrorrrrrrrr (using swedish keyboard layout)

10. Interface could be slimed down by putting the file name in the header of each pane instead of a redundant header saying "Left File" and "Right File"

11. No about box, i don't know what version im using when writing this feedback to you. Probably the latest as i downloaded just a few weeks ago. ;)

Cheers

Link to comment
Share on other sites

Lala,

Thank you for your feedbacks, although indeed we believe they are good ideas, and have some of them for future implementation, but we are not there yet.

regarding about box, we never included. but to find version, is simple. commandline window (console) and : cm version

needless to say, some of the options can be set as default, goto->Preferences->Diff and merge (you can fix the encoding)

I can also share with you that these options will be expanded very soon, some few release from now :)

cheers,

Miller

Link to comment
Share on other sites

I have often missed a simple feature to bypass merging and use only one of the derivatives as they are. This is a feature found in most merge tools I know. Sometimes you just want to discard the changes made in one branch.

Link to comment
Share on other sites

@lala, just wanted to share with you that the dev team is finishing final touches to extend encoding possibilities! see attached screen-dump.

post-80-0-69940900-1317996485_thumb.png

@soho, doesn't the merge window have options for that? "select merge contributor"

@Eric, you can achieve things like that and much more with triggers and some simple scripting, review triggers manual at: http://www.plasticsc...riggerguide.htm

regards,

Miller

Link to comment
Share on other sites

@soho, doesn't the merge window have options for that? "select merge contributor"

Indeed it does, but often you realize that you need to use either contributor when you are using the merge tool and "give up". It would be very convenient to have the option to choose one of the three-way panels as the master contributor.

Also, it is a bit awkward to select contributor in the branch-merge window. You have to select individual files in the list, select the correct merge contributor and then click merge. There is a risk here for forgetting to switch back the contributor selection for the files you want a normal merge for. It is much safer to take that decision within the merge tool itself.

In TFS contributor selection is, IMHO, solved more intuitively by making the contributor selection available for each single file to be merged. This could be something as tivial as making "use source changes only" and "use workspace changes only" available as a context menu for each file. Most VCS'es I have tried provide a feature like that.

Link to comment
Share on other sites

@lala, just wanted to share with you that the dev team is finishing final touches to extend encoding possibilities! see attached screen-dump.

post-80-0-69940900-1317996485_thumb.png

@soho, doesn't the merge window have options for that? "select merge contributor"

@Eric, you can achieve things like that and much more with triggers and some simple scripting, review triggers manual at: http://www.plasticsc...riggerguide.htm

regards,

Miller

I didn't see a trigger for merge. This would be when we are merging 2 branches together and we want it to either take from 1 file or the other or just ignore it and continue with that is already there. Can you give some more guidence?

Link to comment
Share on other sites

Hi Eric R!

I think what you are asking for can't be done using triggers.

Since the version number is a string value inside the AssemblyInfo.cs file it will be recognized by the merge tool and i'ts a user label to decide, if there is a manual conflict, which revision is the right one.

I'm almost sure that the behavior of the rest of the market tools is the same.

regards.

Link to comment
Share on other sites

Y Eric R!

Despite of the fact that "the force" is with Manu (hope he doesn't change his icon to make my joke pointless), what you're asking for is some sort of "merge customization".

Why don't you write a small app able to handle this conflict? You can do that and then configure (take a look at client.conf) your app to be used as merge tool for a specific type of file... and then you're done!

:)

Link to comment
Share on other sites

  • 2 months later...

Y Eric R!

Despite of the fact that "the force" is with Manu (hope he doesn't change his icon to make my joke pointless), what you're asking for is some sort of "merge customization".

Why don't you write a small app able to handle this conflict? You can do that and then configure (take a look at client.conf) your app to be used as merge tool for a specific type of file... and then you're done!

:)

Yeah, you make that sound so easy. I will see what I can figure out. Right now this is a huge PIA. It wouldn't be so bad if there was keyboard shortcuts to mark or unmark each column, go to the next conflict and then click save and exit.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...