[Top][All Lists]

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

(no subject)

From: root
Subject: (no subject)
Date: Mon, 13 Aug 2001 05:06:24 -0400

>From address@hidden  Sat Feb  3 05:31:52 2001
>Return-Path: <address@hidden>
Received: from ( [])
        by (8.9.3/8.9.3/Debian 8.9.3-21) with ESMTP id 
        for <address@hidden>; Sat, 3 Feb 2001 05:31:51 +0900
Received: from localhost ([]
        by with esmtp (Exim 3.16 #1 (Debian))
        id 14OmqO-0003PH-00; Fri, 02 Feb 2001 15:30:08 -0500
Received: from ([]
        by with esmtp (Exim 3.16 #1 (Debian))
        id 14Ompy-0003N9-00
        for <address@hidden>; Fri, 02 Feb 2001 15:29:42 -0500
Received: from localhost 
        by (Smail- 2000-Feb-17 #1; 2000-Feb-24)
        (3689 bytes) via sendmail with 
        id <address@hidden>
        (sender <address@hidden>)
        for address@hidden; Fri, 2 Feb 2001 15:29:40 -0500 (EST)
From: Eric Siegerman <address@hidden>
To: address@hidden
Subject: Re: Easiest way to move a branch to the trunk
Message-ID: <address@hidden>
Mail-Followup-To: address@hidden
References: <address@hidden>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
User-Agent: Mutt/1.2.5i
In-Reply-To: <address@hidden>; from address@hidden on Fri, Feb 02, 2001 at 
05:07:31AM -0800
Organization: Telepresence Systems Inc.
Sender: address@hidden
Errors-To: address@hidden
X-BeenThere: address@hidden
X-Mailman-Version: 2.0
Precedence: bulk
List-Help: <mailto:address@hidden>
List-Post: <mailto:address@hidden>
List-Subscribe: <>,
List-Id: Announcements and discussions for the CVS version control system 
List-Unsubscribe: <>,
List-Archive: <>
Date: Fri, 2 Feb 2001 15:29:40 -0500
Status: O
Content-Length: 3175
Lines: 74

On Fri, Feb 02, 2001 at 05:07:31AM -0800, Brian J. Murrell wrote:
> I have a project/repository which has a main branch (trunk) for
> stable, released versions and a development branch.  The development
> branch was branched off of the main branch a while ago for development
> and has going along gangbusters.  Now it is time to release.  What is
> the easiest way to move the develoment branch onto the main branch so
> that what is on the main branch is completely replaced by the
> development branch.
> I realize of course I could use "cvs update -j" to move it all over
> but that is going to create a boatload of conflicts.  I can deal with
> conflicts easily (and tediously) enough but I wonder why I should need
> to bother.  It seems that I should be able to simply replace the
> contents of the main branch with the development branch in an easier
> way, no?
> All suggestions welcome, thanx.

Here are some instructions I recently posted for someone else,
lightly edited to reflect your situation, which is somewhat
different from theirs:

  - Create a directory containing the latest development source,
    WITHOUT any CVS subdirectories (use "cvs export", or manually
    delete the CVS subdirectories from a preexisting sandbox).
    I'll call this <dev>.

  - Create another sandbox on the trunk (ie. the stable version),
    eg. using "cvs co" with no -r or -D options, or "cvs update -A".
    This sandbox is hereafter referred to as <stable>.

  - Get a list of the stable files you've deleted in development:
      % cd <stable>; find . -print | sort >/tmp/stable
      % cd <dev>; find . -print | sort >/tmp/dev
      % comm -23 stable dev >/tmp/deleted-files

  - Recursively copy <dev> (new files, modified files, unmodified
    files -- the whole works) OVER TOP OF your <stable> sandbox;
    this will result in <stable> containing your development
    source, but with its CVS admin info pertaining to the stable
    version (not quite -- any files you've deleted in development
    will still be present; we'll deal with this momentarily)

  - Now, "cd <stable>; cvs -nq update" will give you a complete
    list of the files you've added (flagged by "?") and changed
    (flagged by "M") -- but NOT the ones you've deleted, which is
    why you had to make a list of those before overlaying the
    two directories

  - "cvs add" any of the "?"-flagged files that should be
    CVS-tracked (exclude any cruft that's made it into <dev>
    -- temporary files that people forgot to delete, etc.) 

  - "cvs remove -f" the files you've deleted in development, ie.
    the ones in the list you made above (though of course you'll
    want to verify that none of them were deleted by accident in
    the distant past :-)

  - "cvs commit"


|  | /\
|-_|/  >   Eric Siegerman, Toronto, Ont.        address@hidden
|  |  /
Interviewer: You've been looking at the stars all your life:
Is there anything in astrology?
Arthur C. Clarke: It's utter nonsense.  But I'm a Sagittarius,
so I'm naturally skeptical.

Info-cvs mailing list

reply via email to

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