Recursive diff slow due to copying files to %TEMP%

If you are having a problem using SourceOffSite, post a message here.

Moderator: SourceGear

Post Reply
Kenn
Posts: 6
Joined: Mon Feb 27, 2006 11:38 pm

Recursive diff slow due to copying files to %TEMP%

Post by Kenn » Mon Feb 27, 2006 11:52 pm

SOS v4.1.2. XP SP2 client, W2K server

I've got a large project (about 180MB source) spread around quite a large directory tree. When I compile and run this project it creates lots of large files in the working folder (for example, VC++ .objs, code listings, etc, DevStudio source browser files, log files, output data files).

When I do a recursive diff in SourceOffSite, it seems that SOS copies most of the working folder files to %TEMP%\localNNNNNN in preparation for the comparison with the remote files.

Is there any way to avoid this file copying?

It's a bit annoying to wait for 1GB of files to be copied to %TEMP%, when I'm only diff-ing a couple of folders. The situation is even worse for full-project diffs.

VSS handles this nicely by having the "show files that are only in the working folder" and "show files that are the same in both places" options on the diff operation. I normally work with these options de-selected.

Thanks,
Kenn

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Post by lbauer » Tue Feb 28, 2006 11:29 am

SOS doesn't diff on the files in the VSS database, but must fetch copies of the files/versions in the database in order to diff against the working directory. There's currently no configuration available to change this.
Linda Bauer
SourceGear
Technical Support Manager

Kenn
Posts: 6
Joined: Mon Feb 27, 2006 11:38 pm

Files are being copied from the working directory

Post by Kenn » Tue Feb 28, 2006 7:42 pm

I have no problem with SOS copying files from the repository. That is expected behaviour, since there are no pristine copies locally for it to diff against.

However, in my case, it is also copying whole directories from the working folder to %TEMP%. For example, if I have a working folder dir1\dir2 and during build and run-time I create dir1\dir2\build and dir1\dir2\output, and I do a recursive diff, the complete contents of dir1\dir2\build and dir1\dir2\output are copied to %TEMP%\localNNNNNN. The files from the respository are copied to %TEMP%\remoteNNNNNN and then the diff tool is run on these directories.

My problem is that the 'build' and 'output' directories can be very large (>1GB) and can take a long time to copy.

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Post by lbauer » Wed Mar 01, 2006 9:29 am

Yes, I can see where this can be an issue. I'm not sure why SOS does it this way, but I'll log a feature request to change the diff behavior.
Linda Bauer
SourceGear
Technical Support Manager

Post Reply