Compare with working copy

66 views
Skip to first unread message

Tobias Knauss

unread,
Apr 28, 2016, 6:40:10 AM4/28/16
to us...@tortoisesvn.tigris.org
In the TSVN log window (opened on a directory, not a file), I am missing the functionality of comparing a file of a certain commit against the working copy of that file.

On the revision list I can click on "compare with working copy", but this fails (maybe because I have configured BeyondCompare4 as diff viewer, but I don't think so): A number of console windows are opened and closed quickly, then TortoiseMerge opens and shows and textbox with no text, just an error icon and OK button.

Current workaround: Rightclick one of the files, then "show changes", and in BC4 window change right side to actual file from hard disk. Not nice, but working.

------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=3170683

To unsubscribe from this discussion, e-mail: [users-un...@tortoisesvn.tigris.org].

Tony Rietwyk

unread,
Apr 28, 2016, 8:02:09 AM4/28/16
to us...@tortoisesvn.tigris.org
Tobias wrote:

> In the TSVN log window (opened on a directory, not a file), I am missing
the
> functionality of comparing a file of a certain commit against the working
copy
> of that file.
>
> On the revision list I can click on "compare with working copy", but this
fails
> (maybe because I have configured BeyondCompare4 as diff viewer, but I
> don't think so): A number of console windows are opened and closed
quickly,
> then TortoiseMerge opens and shows and textbox with no text, just an error
> icon and OK button.
>
> Current workaround: Rightclick one of the files, then "show changes", and
in
> BC4 window change right side to actual file from hard disk. Not nice, but
> working.

Hi Tobias,

I don't have that problem using BC3. In my Settings / Diff Viewer / program
for files: External with

"C:\Program Files (x86)\Beyond Compare 3\BCompare.exe"
/lefttitle=%bname /righttitle=%yname ""%base"" ""%mine""

and in program for properties: External with

"C:\Program Files (x86)\Beyond Compare 3\BCompare.exe" ""%base""
""%mine""

I did try the merge tool as well, but never got that working - the default
TortoiseMerge appears.

Regards,

Tony

------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=3170689

Tobias Knauss

unread,
Apr 28, 2016, 12:18:01 PM4/28/16
to us...@tortoisesvn.tigris.org
The faulty behaviour of TSVN comes from an entry the config file:
if
diff-cmd = "C:\\SVN_NoMerge.bat"
is set, then the merge program fails to view the changed files.

The main problem is the missing function "compare to working copy" (see attached image)

------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=3170733
missing comp-with-working-copy in TSVN.png

Tony Rietwyk

unread,
Apr 28, 2016, 9:31:45 PM4/28/16
to us...@tortoisesvn.tigris.org
Hi Tobias,

Sorry - I misunderstood your problem.

I don't understand why you expect all external difference programs to also
be able to handle a list of temporary files, and associated labels, and
display them as if they are a directory compare, even though the working the
files for the given commit may be in different folders?

Regards,

Tony
> unsub...@tortoisesvn.tigris.org].

------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=3170782

Tobias Knauss

unread,
Apr 29, 2016, 3:34:49 AM4/29/16
to us...@tortoisesvn.tigris.org
You still did not get it.

>"why you expect all external difference programs to also be able to handle a list of temporary files"
I absolutely don't!
I want TSVN to show the "compare to working copy" for A SINGLE FILE. No more and no less than that.
At the moment, this functionality is not available inside a folders log entry.
Take a look at my screenshot (bottom of it) and you'll hopefully understand.

------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=3170804

Stefan Küng

unread,
Apr 29, 2016, 9:06:50 AM4/29/16
to us...@tortoisesvn.tigris.org
On 29.04.2016 09:34, Tobias Knauss wrote:
> You still did not get it.
>
>> "why you expect all external difference programs to also be able to handle a list of temporary files"
> I absolutely don't!
> I want TSVN to show the "compare to working copy" for A SINGLE FILE. No more and no less than that.
> At the moment, this functionality is not available inside a folders log entry.
> Take a look at my screenshot (bottom of it) and you'll hopefully understand.

The "compare with working copy" command creates a patch of the
differences, and then calls TMerge with that patch. Since other diff
tools only show diffs between two full files and are not able to handle
patch files, it's always TMerge that gets called.

Stefan

--
___
oo // \\ "De Chelonian Mobile"
(_,\/ \_/ \ TortoiseSVN
\ \_/_\_/> The coolest interface to (Sub)version control
/_/ \_\ http://tortoisesvn.net

------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=3170826

Tobias Knauss

unread,
May 18, 2016, 7:06:12 AM5/18/16
to us...@tortoisesvn.tigris.org
> On 29.04.2016 09:34, Tobias Knauss wrote:
> > You still did not get it.
> >
> >> "why you expect all external difference programs to also be able to handle a list of temporary files"
> > I absolutely don't!
> > I want TSVN to show the "compare to working copy" for A SINGLE FILE. No more and no less than that.
> > At the moment, this functionality is not available inside a folders log entry.
> > Take a look at my screenshot (bottom of it) and you'll hopefully understand.
>
> The "compare with working copy" command creates a patch of the
> differences, and then calls TMerge with that patch. Since other diff
> tools only show diffs between two full files and are not able to handle
> patch files, it's always TMerge that gets called.
>
> Stefan
>

But I am able to get a full copy of the file at a certain revision, so a diff viewer should be able to get full copies of that file at 2 different revisions and compare these.
It would be really helpful to have that functionality.

B/R
Tobias

------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=3172747

Tobias Knauss

unread,
May 18, 2016, 7:11:24 AM5/18/16
to us...@tortoisesvn.tigris.org
> > On 29.04.2016 09:34, Tobias Knauss wrote:
> > > You still did not get it.
> > >
> > >> "why you expect all external difference programs to also be able to handle a list of temporary files"
> > > I absolutely don't!
> > > I want TSVN to show the "compare to working copy" for A SINGLE FILE. No more and no less than that.
> > > At the moment, this functionality is not available inside a folders log entry.
> > > Take a look at my screenshot (bottom of it) and you'll hopefully understand.
> >
> > The "compare with working copy" command creates a patch of the
> > differences, and then calls TMerge with that patch. Since other diff
> > tools only show diffs between two full files and are not able to handle
> > patch files, it's always TMerge that gets called.
> >
> > Stefan
> >
>
> But I am able to get a full copy of the file at a certain revision, so a diff viewer should be able to get full copies of that file at 2 different revisions and compare these.
> It would be really helpful to have that functionality.
>
> B/R
> Tobias

And it should be even easier since I want to compare to the working copy.

------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=3172750

Tobias Knauss

unread,
Jun 5, 2018, 11:33:59 AM6/5/18
to TortoiseSVN
Hello Stefan,

today I had needed this functionality again. I still think it is pretty useful for the users of TSVN and it should be quite straightforward to implement:
The context menu for a file in a specific revision in the log messages window already contains functions like "export..." and "save revision to...", thus it should be easy to create a "compare to working copy": The new function would just create a temporary file (as is done at any comparison of files, e.g. between 2 revisions), and compare that to the corresponding file on the disk.
I don't see any difficulties, but I did not develop TSVN. If you need more details, please let me know.

Best regards
Tobias

Stefan

unread,
Jun 5, 2018, 3:35:15 PM6/5/18
to TortoiseSVN
So you want the "compare with working copy" start a diff of the file with the selected revision to the working copy? Not the revision before to also get the changes of that revision?

Stefan

Tobias Knauss

unread,
Jun 6, 2018, 2:27:01 AM6/6/18
to TortoiseSVN


So you want the "compare with working copy" start a diff of the file with the selected revision to the working copy? Not the revision before to also get the changes of that revision?

Stefan

Yes, I think we have the same understanding of my request now.
But isn't that what "compare with working copy" should always mean? I did not get how you can misunderstand that. I would like to have a function that compares a single file from a single revision (which is selected in the log messages window) to the current working copy of that file (notice, that the working copy may have uncommitted modifications, which actually is the need for this function).
Please see the screenshot of the 3rd post to get where it should be implemented. I thought it was pretty clear: when opening the context menu for a file of a specific revision, a function "compare with working copy" should just compare that file with the specified revision to the working copy...  I don't know how to make it more clear than that.

Tobias

Tobias Knauss

unread,
Jun 6, 2018, 2:39:23 AM6/6/18
to TortoiseSVN
By the way:
Maybe there is also a use for the opposite approach of the mentioned function: Explorer context menu on versioned file -> "Diff with revision...", which opens a revision selection dialog and then shows the file differences between working copy of the file and the specified revision of that file.
And maybe there is also a use for "Diff with revision..." on folders.

Stefan

unread,
Jun 6, 2018, 1:01:54 PM6/6/18
to TortoiseSVN

Yes, I think we have the same understanding of my request now.
But isn't that what "compare with working copy" should always mean? I did not get how you can misunderstand that. I would like to have a function that compares a single file from a single revision (which is selected in the log messages window) to the current working copy of that file (notice, that the working copy may have uncommitted modifications, which actually is the need for this function).
Please see the screenshot of the 3rd post to get where it should be implemented. I thought it was pretty clear: when opening the context menu for a file of a specific revision, a function "compare with working copy" should just compare that file with the specified revision to the working copy...  I don't know how to make it more clear than that.


done in r28246

Stefan

Tobias Knauss

unread,
Jun 8, 2018, 4:38:30 AM6/8/18
to torto...@googlegroups.com


done in r28246

Stefan

Great, thank you!!! :-)
It's almost working: I am using BC4, and the sides are swapped. The Working copy file from disk appears on the left, but with name "file - revision abc", and the file from SVN is on the right, with "file - working copy".
The displayed filenames are correct, just the files aren't (and therefore they also don't match the filenames).

Best regards
Tobias

Stefan

unread,
Jun 8, 2018, 11:18:39 AM6/8/18
to TortoiseSVN
fixed in r28249
 
Best regards
Tobias

Reply all
Reply to author
Forward
0 new messages