Workspace Version


We're having something of a debate about the use and precise meaning of the tem "workspace version". I'm interested in what people's reaction to the term is. As before, TF commands are in bold, and output from the server is in italics (and may not be verbatim accurate).

Let's say I created a versioned file called foo.txt:

echo foo > foo.txt
h add foo.txt
h checkin /i

(Interesting output from server)
add foo.txt
Changeset #3 checked in.

h edit foo.txt
echo BAR >> foo.txt
h checkin /i

(Interesting output from server)
edit foo.txt
Changeset #4 checked in.

h get foo.txt;C3     (Note: ";C3" specifies foo.txt as of Changeset 3, equivalent to foo.txt /version:C3)
h edit foo.txt

(Interesting output from server)
Warning foo.txt:
Newer version exists in repository

echo HMMM >> foo.txt
h view foo.txt;W /console    (Note: ";W" specifies the 'workspace version', equivalent to foo.txt /version:W)

What do you think the output of h view is?

a. foo b. foo
   BAR
c. foo
   HMMM
d. foo
   BAR
   HMMM

Also, what do you think the output of h view SHOULD be? Or, to ask the question I'm really interested in, what does the term "workspace version" mean to you?

Disclaimer: I realize the data/answers I get here are highly unscientific. I'm just curious, I'm not conducting a formal study or anything 🙂

Comments (5)

  1. While it’s (of course) a holdover from the CVS days, one of the reasons I like "BASE" as a term is because I think it gets this concept across easier, but maybe not. If people happen to read this comment – what do you think? Is "workspace version" more clear than "BASE" from Subversion/CVS? (they’re the same concept – Subversion’s explanation is "base rev of item’s working copy")

    % svn cat -r BASE foo.txt

  2. Simon says:

    I’m not familiar with the base/workspace version concept (I have not much experience with CVS/Subversion, I’ve been fed the disgusting VSS for too long ;), but I’m guessing it stands for the "latest checked-in server version"? If so, I think "base" is more clear than "workspace version".

    If, on the other hand it means the opposite: "the version I currently have checked out for editing", I think "workspace version" is better, but you probably should look for a completely new word.

  3. Chris says:

    Simon,

    Workspace version is the latter – the version you checked out FROM to edit. There can be one or more newer versions than the one you had in your workspace when you checked out, of course.

    When it comes to the classic "3-way content merge" scenario, "base" is the version you checked out, "tip" is the latest version on the server, and "modified" is the changes you made. You’ll also see "base"/"theirs"/"yours" (respectively) used.

    If that makes your eyes glaze over, don’t worry; I’ll talk more about content merging in a future blog post. James (http://blogs.msdn.com/jmanning) has also posted on content merging recently.

  4. Adam Singer says:

    So, this has been awhile coming. Let’s blame that on the combination of 2 zillion screenshots and the

Skip to main content