[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Newbie: update vs. checkout

From: bill
Subject: Re: Newbie: update vs. checkout
Date: Wed, 26 May 2004 20:37:17 +0000 (UTC)
User-agent: nn/6.6.5

In <address@hidden> "Jim.Hyslop" <address@hidden> writes:

>Irving Kimura wrote:
>> I'm sorry for this very stupid question, but after spending a lot
>> of time reading the CVS documentation, I still don't understand
>> what *exactly* is the difference between update and checkout.
>> Could someone explain it to me?
>There is a little bit of overlap in the functionality.

>You use checkout when you have nothing in your working directory yet, i.e.
>when you're doing a fresh checkout. You use update to refresh an existing
>checked-out project.

>If you use the checkout command in an existing working directory, then it
>will behave as if you issued the "update" command.

>Clear as mud? :-)

>Maybe an example will help:

>mkdir fresh
>cd fresh # at this point, there is no working directory
>cvs update # error - there's nothing to update
>cvs checkout mymodule
>cd mymodule
>[some time passes]
>cvs update # refresh the working copy
>cvs checkout # refresh the working copy

Thanks!  The fog is lifting.  One question that remains has to do
with update/checkout after tagging/rtagging.  It is actually the
exact same question about four different cases:

  cvs  tag    Some_Tag
  cvs  tag -b Some_Branch_Tag
  cvs rtag    Some_Tag        MyProject
  cvs rtag -b Some_Branch_Tag MyProject

I've read that one has to call either checkout or update (I can't
remember which) right after doing cvs tag?  (Something about cvs
tag not affecting the working copy, so that if one wants to work
on a tagged copy one has to checkout/update.)

To be more concrete:

  % cd MyProject
  % ls -F CVS
  % cvs -q update
  #### no output: everything is up-to-date
  % cvs -Q tag Some_Tag

At this point, do I need to "cvs update" or "cvs checkout" if I
want to work on the copy I just tagged?

What about exactly the same situation for branched tags, i.e.
everything as before, except that the last command is:

  % cvs -Q tag -b Some_Branch_Tag


The manual (4.6, p. 37) actually recommends using cvs rtag rather
than cvs tag for most situations, because rtag will tag even those
checked-in files for which no copy exists in the current working
directory.  Hence the interest in the rtag case:

  % cd MyProject
  % ls -F CVS
  % cvs -q update
  #### no output: everything is up-to-date
  % cvs -Q rtag Some_Tag MyProject

How about now?  Assuming that I am interested in working only on
those files for which copies already exist in the working directory,
do I need to do cvs update or cvs checkout at this point?

What about the branch tag case?

  % cvs -Q rtag -b Some_Branch_Tag MyProject

Many, many thanks!


reply via email to

[Prev in Thread] Current Thread [Next in Thread]