Jump to content

Exception during 3-way merge (when pasting big text)


Recommended Posts


When doing a merge with conflicts, I tried to just replace the result file, by doing Ctrl+A, Ctrl+C on the left file and then Ctrl+A, Ctrl+V on the result file below.

Couple of time doing this and got the following exception (+ white screen with two crossed red lines):

************** Exception Text **************

System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.

Parameter name: index

at System.Collections.ArrayList.get_Item(Int32 index)

at hz.a()

at ku.b(Graphics A_0)

at ku.b(PaintEventArgs A_0)

at System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer, Boolean disposeEventArgs)

at System.Windows.Forms.Control.WmPaint(Message& m)

at System.Windows.Forms.Control.WndProc(Message& m)

at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)

at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Using " - Havana"

Link to comment
Share on other sites

  • 1 month later...

I am running into this issue a lot (3 times today) since there are times when I just want to resolve the file conflicts with everything from a single contributor (usually the source).

And when I try to select_all+copy from one of the panes and then select_all+paste in the result pane, I relatively often got this exception. And there is nothing much to do after it happens, except to not save the result and resovle it later.

I think this can be reproduced relatively easily by trying to paste a big content that it's completely different.

I couldn't find in this screen a simple button that would just resolve the conflicts using one of the the three version (source, base, destination). Am I missing something?

Link to comment
Share on other sites

Hi immitev,

actually you can, if you realize that you want to preserve one contributor you can do 2 things:

1) Once you are in the merge window where the base, source, destination and result files are shown you can disable the contributors you don't want to include in the result. If you have a lot of conflicts and you don't want to go one by one jump to idea number 2.

2) Cancel the merge without saving the result file. You will be able to see that the file is not merge yet and it's still in the list of pending merge files. Right click into the file and then "Change merge contributor", here you can specify a contributor to be chosen. In this way, the merge will be automatic instead of manual.

Link to comment
Share on other sites

Actually I got to know about both those options.

But in times when 1 is not a good option (due to numerous conflicts), users might prefer instead of postponing the merge (i.e. after processing all other pending merges), to do it right on the spot. It seems like a simple usability improvement.

Link to comment
Share on other sites


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

  • Create New...