Feature request - faster "bring up to date" throug

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

Moderator: SourceGear

Post Reply
Bill Medland
Posts: 25
Joined: Fri Dec 03, 2004 12:55 pm
Location: Canada (Pacific)

Feature request - faster "bring up to date" throug

Post by Bill Medland » Fri Feb 02, 2007 9:25 am

It would be nice if soscmd could use the same protocol and logic as the GUI client to bring the local copy up to date. I would like to be able to schedule it as an overnight job.

Beth
Posts: 8550
Joined: Wed Jun 21, 2006 8:24 pm
Location: SourceGear
Contact:

Post by Beth » Fri Feb 02, 2007 12:02 pm

I think with the right settings you should be able to.

If the SourceOffSite home directory is specified, the Command Line Client
will use the same cache file (databaseX.sos) as the GUI Client to determine
file status and working directories.

All the details are available in the manual: http://download.sourcegear.com/misc/sos ... efault.htm. On the left side you should see an entry for information on the command line.

Bill Medland
Posts: 25
Joined: Fri Dec 03, 2004 12:55 pm
Location: Canada (Pacific)

Post by Bill Medland » Fri Feb 02, 2007 3:46 pm

Sorry but I don't get it (even reading the 4.1.2 soscmd.txt instead of my old 3.5.1 version).

I don't see a command to get only those files of a project that are not current.

Beth
Posts: 8550
Joined: Wed Jun 21, 2006 8:24 pm
Location: SourceGear
Contact:

Post by Beth » Fri Feb 02, 2007 4:32 pm

Apparently my link didn't want to work, so first: SOS Documentation.

Next, the switch you want to add to your command is:
  • -soshome
    The path to the directory where SourceOffSite stores user specific data (if the SourceOffSite GUI Client is installed). By default, this directory is "C:\Documents and Settings\<user>\Application Data\SourceGear\SOS"

Bill Medland
Posts: 25
Joined: Fri Dec 03, 2004 12:55 pm
Location: Canada (Pacific)

Post by Bill Medland » Fri Feb 02, 2007 5:07 pm

Yes, I worked around the link and read the soscmd.txt (not the wonderful marketing doublespeak)

The marketing says "The Command Line Client supports a subset of operations that are available in the SourceOffSite GUI Client including:

· Get Latest Version"

However soscmd.txt does not document a "projectGetLatestVersion' command, as far as I can see.

It has nothing to do with the soshome; I understand that. What I don't see is an actual command to execute with the correct soshome. :(

Beth
Posts: 8550
Joined: Wed Jun 21, 2006 8:24 pm
Location: SourceGear
Contact:

Post by Beth » Fri Feb 02, 2007 5:34 pm

Oh, I think I get what you are saying. That we should make a GetLatestVersion command instead of a Get with switches, right?

Are you getting different results than what's specified in our documentation for the GetProject?
  • - GetProject -

    Gets all of the files in a project. It will get the latest
    revision of the files in a project unless the -label parameter is
    used to specify a previous version of a project.

Bill Medland
Posts: 25
Joined: Fri Dec 03, 2004 12:55 pm
Location: Canada (Pacific)

Post by Bill Medland » Fri Feb 02, 2007 6:10 pm

GetProject operates as documented. That's the problem. It DOES get the file.

getLatestVersion (under the GUI) takes about 20 minutes to get all the version information it needs and then about a minute or less to get the 20 files that have actually changed.

getProject -recursive gets all the files, even if we already had them.

(And if you want to add a switch to getProject instead that would satisfy me too)

Beth
Posts: 8550
Joined: Wed Jun 21, 2006 8:24 pm
Location: SourceGear
Contact:

Post by Beth » Mon Feb 05, 2007 1:16 pm

That's where the -soshome switch is supposed to come in. Have you tried that?

From documentation:
Specifying the SourceOffSite home directory will speed up large file
retrieval operations, such as GetProject and CheckOutProject, as only files
that need to be updated will be retrieved. Files that exist in the working
directory that have not changed in the database will not be retrieved. If a
SourceOffSite home directory is not specified, the Command Line Client will
retrieve ALL files during project retrieval operations to the directory from
which soscmd was run.

Bill Medland
Posts: 25
Joined: Fri Dec 03, 2004 12:55 pm
Location: Canada (Pacific)

Post by Bill Medland » Mon Feb 05, 2007 4:58 pm

Hm.

Yes, I always use -soshome.

So now I've watched it at work.

When I watch the GUI version I watch a whole load of "getting status" messages as the GUI client gets the full status of the desired tree. That takes about 20 minutes.

But when I watch the verbose output from soscmd it seems to me that I see the client asking the server for every file and the server responding "but you've already got it". In other words the client is not being careful about what it is asking for; the server is being careful in what it sends.

Beth
Posts: 8550
Joined: Wed Jun 21, 2006 8:24 pm
Location: SourceGear
Contact:

Post by Beth » Tue Feb 06, 2007 11:36 am

You're correct in that the GUI and command line go about things a bit differently. I was thinking more along the lines of at least being able to get similar resutls. I can go ahead and log this as a request for the developers to review.

Post Reply