[Top][All Lists]

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

Removing sticky tag 'HEAD' in cvs

From: Elijah P Newren
Subject: Removing sticky tag 'HEAD' in cvs
Date: 03 Jun 2003 09:18:10 -0600

At the risk of sounding really stupid (this has to have a simple
solution), how do I remove the sticky tag of 'HEAD' from my files?
[And why is 'HEAD' a sticky tag in the first place?]  A quick 'cvs
update -A' does _not_ seem to work.

Here's where I've tried to find an answer:

  Google: I got a total of three hits using the cvs error messages as
  search terms--two of them were emails from people that had the
  same/similar problem (with no solution) and one was a response to one
  of the other two that I didn't understand and was fairly vague.

  info pages ('info cvs'): I couldn't find the errors I got anywhere
  in the troubleshooting sections. Doesn't list the errors
  I'm getting.  Always says that 'cvs update -A' will remove all
  sticky tags (which isn't working for me).

  My local LUG mailing list: The only answer I've gotten is telling me
  alternate ways to do what I already tried to do, not how to fix what
  I have.

The "Merging adds and removals" node of the info pages contains an
example that is nearly identical to what I was trying to do and is
close to what I actually tried.  Here is that example for a quick

     cvs update -A
     touch a b c
     cvs add a b c ; cvs ci -m "added" a b c
     cvs tag -b branchtag
     cvs update -r branchtag
     touch d ; cvs add d
     rm a ; cvs rm a
     cvs ci -m "added d, removed a"
     cvs update -A
     cvs update -jbranchtag

  The cvs info pages further says that:

     After these commands are executed and a `cvs commit' is done, file
     `a' will be removed and file `d' added in the main branch.

  The difference between the above and what I did was that instead of
     cvs update -A
  in the second to last step I used
     cvs update -r HEAD
  (too bad I tried working from memory instead of reviewing the info
  pages again before doing this...doh)

Here's the detailed list of what I did:

  I created a branch off the main development (i.e. cvs HEAD) in cvs
  called branch-2.  I made a bunch of changes on the new branch and
  then wanted to merge these all back to cvs HEAD.  So I went to my
  sandbox (which was currently on branch-2 with all changes commited)
  and ran the following:

     # Move sandbox back to CVS HEAD
     cvs update -r HEAD   # I believe I should have used 'cvs update -A'
     # Merge in the differences between HEAD and branch-2
     cvs update -j branch-2
     # Try to commit the changes
     cvs commit -m "Merged changes from branch-2"

  At that point, I got a lot of errors saying that I had a sticky tag on
  my files.  So I ran
     cvs update -A
  and retried the cvs commit.  It worked on all files which existed on
  HEAD before the merge from branch-2.  However, all new files from
  branch-2 (of which there are half a dozen or so) still fail.  The
  following is what I'm seeing at the command line with those:

  1017 address@hidden:fluid$ cvs status steps.txt | grep Tag
     Sticky Tag:          HEAD (revision: 1.1)
  1018 address@hidden:fluid$ cvs commit -m "Merged from branch-2"
  cvs commit: Attempt to add reserved tag name HEAD
  cvs commit: could not stub branch HEAD for
  1019 address@hidden:fluid$ cvs update -A steps.txt
  A steps.txt
  1020 address@hidden:fluid$ cvs status steps.txt | grep Tag
     Sticky Tag:          HEAD (revision: 1.1)

  For comparison, with main.C (which is not a new file from branch-2), I
  used to get the same Sticky Tag but a 'cvs update -A' changed things
  so that I get the following:

  1021 address@hidden:fluid$ cvs status main.C | grep Tag
     Sticky Tag:          (none)

Other information:

  OS:                   Red Hat Linux 8.0
  cvs --version:        1.11.2  (`rpm -q cvs` == cvs-1.11.2-8)
  System:               Dual Athlon workstation

  I happen to have a backup of the repository and the sandbox before I
  made any of these merge/commit changes (thank goodness for rsync and
  cron :), so if all else fails, I'm going to nuke what I have and
  replace it with the backups and redo these merge commands.  But I'd
  rather learn how to work with cvs than how to work around it.

Thanks in advance,

Elijah Newren
Internet:   address@hidden
Tired of pop-up webpages when surfing the internet?  Look at
for how to get rid of them without spending a penny.

reply via email to

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