info-cvs
[Top][All Lists]
Advanced

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

Re: cvs update -kk -j Branch1 -j Branch2 does not ignore keywords?


From: Chuck Rossi
Subject: Re: cvs update -kk -j Branch1 -j Branch2 does not ignore keywords?
Date: Fri, 17 Aug 2001 13:56:27 -0700

On Thu, Aug 16, 2001 at 10:33:51PM -0700, Josh Baudhuin wrote:
> Well, as a matter of practice, I tend to follow the scheme suggested in the
> documentation, "5.7 Merging from a branch several times"
> (http://www.cvshome.org/docs/manual/cvs_5.html#SEC61). I think I had it
> backwards in my example below, though. Anyway, I _do_ keep track of the last
> rev from which I merged from my SIDE branch to the main trunk.
> 
> 0. Set up branch and merge-progress tag at same time:
>       cvs rtag -b SIDE modules...
>       cvs rtag SIDE-last-merged-to-MAIN modules...
> 
> When it's time to merge, then go to a sandbox with the main trunk (or
> whatever branch you want to merge to) checked out.
> 
> 1. Merge everything from SIDE branch
>       cvs update -kk -jSIDE-last-merged-to-MAIN -jSIDE
> 
> 2. Clean up conflicts, and make sure it builds.
> 
> 3. Commit it all
>       cvs commit -m"Merged from SIDE branch"
> 
> 4. Restore keywords (get rid of sticky tags, dates, flags)
>       cvs update -A
> 
> Anyway, It was in step one that discrepancies in the fileset (files Added or
> Removed) would cause the  -kk  option to fall away. Weird.


I gave up trying to figure out when -kk would actually work or not when doing
merges and just got out a sledgehammer:

foreach i (`find . -type d -not \( -name CVS -or -name build \) -print|sort`)
  echo $i
  (cd $i && cvs -q update -kk -dP -l -jmergeTag__1 -jmergeTag__2 >>& 
~/update.log)
end

It takes a lot longer to run, but reduces spurious conflicts to nearly 0.

chuckr





reply via email to

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