"edit text conflicts" does not update properly

47 views
Skip to first unread message

Tobias Knauss

unread,
Jun 8, 2018, 7:59:42 AM6/8/18
to TortoiseSVN
TortoiseSVN 1.10.99, Build 28247 - 64 Bit -dev, 2018/06/06 18:46:23

The new dialog "edit text conflicts" does not update properly after using "edit" function:
in the old dialog, the "mark as resolved" was enabled after using "edit". Currently, it's not enabled anymore.

Regards
Tobias

Stefan

unread,
Jun 8, 2018, 11:27:29 AM6/8/18
to TortoiseSVN
it will get enabled as soon as you save the changes to the conflicted file.
When editing a conflict, four files are passed to the external tool: "base", "your" and "theirs", and a file for where to save the result named "merged". As soon as the "merged" file is saved, the button gets enabled.

Tobias Knauss

unread,
Jun 8, 2018, 3:35:56 PM6/8/18
to TortoiseSVN


Am Freitag, 8. Juni 2018 17:27:29 UTC+2 schrieb Stefan:
it will get enabled as soon as you save the changes to the conflicted file.
When editing a conflict, four files are passed to the external tool: "base", "your" and "theirs", and a file for where to save the result named "merged". As soon as the "merged" file is saved, the button gets enabled.

Unfortunately it did not. I am pretty sure I saved the file, but the button was no enabled. I have to say that I haven't done any changes to its content. The file was just marked conflicted because there had been changes in subsequent lines, but it was not a real conflict.
I use BC4. I will double-check again in 3 weeks.

Tobias Knauss

unread,
Sep 5, 2018, 6:15:07 AM9/5/18
to TortoiseSVN
I was able to reproduce this today.
When I clicked on "edit", the merge window of BC4 was shown. I saved the file and the "mark as resolved" button became enabled.

Then after a moment I was unsure whether my edits were correct, so I clicked on "edit" again.
And this is the moment when "mark as resolved" became disabled again, and neither saving in BC4 nor closing BC4 without save could re-enable that button.

Stefan

unread,
Sep 7, 2018, 11:01:41 AM9/7/18
to TortoiseSVN
The button gets disabled first when the dialog is created.
And it is disabled every time you click the "edit text conflict" button.

When you click the "edit text conflict" button, the last-write-time of the target merge file is stored. The button gets enabled again only if that last-write-time changes. So maybe BC4 doesn't actually save the file if you don't make any changes?

Tobias Knauss

unread,
Sep 7, 2018, 3:13:16 PM9/7/18
to TortoiseSVN
You're right. BC4 does not save if nothing has changed. I confirmed that by doing unnecessary edits and then save it; "mark as resolved" was then enabled again.
However, BC4 DOES provide a save button when the merge window is opened for the first time, and that save button is visible right from the start, even if no edit was made yet. This makes me wonder what is different on the first merge vs. the following merges. There must be a difference between the first and the following calls. Maybe BC4 checks the timestamps as well, because the command line arguments are identical on both calls.

Tobias Knauss

unread,
Mar 5, 2020, 12:59:04 AM3/5/20
to TortoiseSVN


Am Freitag, 7. September 2018 17:01:41 UTC+2 schrieb Stefan:
This week I had to do a lot of merging, and I encountered the issue again. Therefore I decided to investigate further when it happens again. This time I can prove that BC4 saved the file, but TSVN did not enable "Mark as resolved".

Here's a file that I just edited after merging. The timestamp has changed, as you can see:
The content of the file has changed for sure.

Here's a file that has not beed edited yet:

Do you need any logs of TSVN? Should I enable Debug mode?

Regards
Tobias

Tobias Knauss

unread,
Mar 5, 2020, 1:18:21 AM3/5/20
to torto...@googlegroups.com
Actually it happens quite often at the moment, approx. 1 out of 20 or even 1 out of 10 files are affected.
I enabled Debug messages and started DebugView as suggested on stackoverflow, but I got no messages. However, I edited the Debug parameter in the middle of the merge.

TortoiseSVN 1.12.2, Build 28653 - 64 Bit , 2019/08/04 13:03:09

Stefan

unread,
Mar 21, 2020, 4:47:00 AM3/21/20
to TortoiseSVN
Should work better now (as of r28818):
I've reduced the time checks to twice a second, and also I'm now forcing the check whether the file exists (i.e., don't use the cached info anymore): that Exist()-check returns false (and caches that info) also if the file is locked/not accessible.

Tobias Knauss

unread,
Mar 21, 2020, 8:41:59 AM3/21/20
to TortoiseSVN
Are you sure you replied to the correct topic? I can't follow, because I don't see any relation between your answer and the issue.
The target file of a merge always exists, and the frequencey of whatever check should not matter. Please clarify. Thanks!
Anyway, I will update to the new TSVN when there's one.

Stefan

unread,
Mar 21, 2020, 3:46:03 PM3/21/20
to TortoiseSVN


On Saturday, March 21, 2020 at 1:41:59 PM UTC+1, Tobias Knauss wrote:
Are you sure you replied to the correct topic? I can't follow, because I don't see any relation between your answer and the issue.
The target file of a merge always exists, and the frequencey of whatever check should not matter. Please clarify. Thanks!
Anyway, I will update to the new TSVN when there's one.


Ups, sorry. Forgot that this is the user list, not the dev list.
Yes, I replied to the correct topic. Just forget all the technical stuff - it's how the stuff works that enables the button.
But it will work more reliable now.

Stefan

Reply all
Reply to author
Forward
0 new messages