Received: from spf1.us4.outblaze.com (spf1.us4.outblaze.com [205.158.62.23]) by sdf.lonestar.org (8.12.10/8.12.10) with ESMTP id j0LFrIGI022840 for ; Fri, 21 Jan 2005 15:53:19 GMT Received: from lists.gnu.org (lists.gnu.org [199.232.76.165]) by spf1.us4.outblaze.com (Postfix) with ESMTP id BE056298497 for ; Fri, 21 Jan 2005 15:53:43 +0000 (GMT) Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Cs1I8-0008PH-D5 for migo@homemail.com; Fri, 21 Jan 2005 11:05:44 -0500 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Cs1D6-0006Rx-M8 for gnu-arch-users@gnu.org; Fri, 21 Jan 2005 11:00:34 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Cs1Co-0006IV-GM for gnu-arch-users@gnu.org; Fri, 21 Jan 2005 11:00:15 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Cs1Co-0006IS-DL for gnu-arch-users@gnu.org; Fri, 21 Jan 2005 11:00:14 -0500 Received: from [129.255.60.186] (helo=ct.radiology.uiowa.edu) by monty-python.gnu.org with esmtp (Exim 4.34) id 1Cs0jq-0004ya-5M for gnu-arch-users@gnu.org; Fri, 21 Jan 2005 10:30:18 -0500 Received: from [192.168.1.11] (12-217-241-0.client.mchsi.com [12.217.241.0]) by ct.radiology.uiowa.edu (8.11.6/8.11.6) with ESMTP id j0LFU2301189; Fri, 21 Jan 2005 09:30:02 -0600 Message-ID: <41F11FF3.5020501@arbash-meinel.com> Date: Fri, 21 Jan 2005 09:29:55 -0600 From: John A Meinel User-Agent: Mozilla Thunderbird 1.0 (Windows/20041206) X-Accept-Language: en-us, en MIME-Version: 1.0 To: "Andrei A. Voropaev" Subject: Re: [Gnu-arch-users] strategy to handle back-fixies References: <20050120090735.GA18766@vandal.simcon-mt.de> <20050120200644.GA7715@vagabond> <20050121082757.GA19548@vandal.simcon-mt.de> <20050121133740.GG19548@vandal.simcon-mt.de> In-Reply-To: <20050121133740.GG19548@vandal.simcon-mt.de> X-Enigmail-Version: 0.89.5.0 X-Enigmail-Supports: pgp-inline, pgp-mime Cc: gnu-arch-users@gnu.org, Harald Meland X-BeenThere: gnu-arch-users@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: a discussion list for all things arch-ish List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: multipart/mixed; boundary="===============1951581938==" Sender: gnu-arch-users-bounces+migo=homemail.com@gnu.org Errors-To: gnu-arch-users-bounces+migo=homemail.com@gnu.org Status: RO Content-Length: 6195 Lines: 172 This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --===============1951581938== Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="------------enigC1F16AD34A42F10E6CA2C10D" This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enigC1F16AD34A42F10E6CA2C10D Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Andrei A. Voropaev wrote: >On Fri, Jan 21, 2005 at 01:23:22PM +0100, Harald Meland wrote: > > >>[Andrei A. Voropaev] >> >> >> >>>In fact I was (and still am) wondering how in practice this shall >>>work. So far no documentation mentions this approach. So below are >>>my guesses how it should work. Please correct me if I'm >>>wrong. >>> >>> >>I don't think you're *wrong*, but the solution you propose below is >>slightly diffuse on some points. >> >> >> >>>Suppose I have project foo and it is in >>>archive/foo--mainline--1.0. So I 'get' this project >>> >>> >>You don't mention what the intention for this branch is. >> >>Is it to be used for "development of the project until version 1.0 is >>ready to be released", or "bugfixes to the project after its 1.0 >>release", or maybe both (a la CVS HEAD)? Personally, I tend to think >>of "mainline" branches as having the former semantic, but YMMV. >> >>In any case, it is useful to formulate (at least to yourself) a >>distinct intention for each branch you create. >> >> > >Hm. I have to admit you lost me here. Which just shows that I don't have >clear understanding of branches/revisions naming. Now, with your >questions in mind I'll try to replay my scenario. > >I have source code for project foo-1.0 that I have to maintain from now on. >So I do "initial import" and name it 'foo--developtment--1.1', to show >that I'm heading toward release 1.1. After adding few patches I do that >release. Now I do tla tag foo--development--1.2 to continue with >developing on 1.2. Now, my boss tells me that we should release 1.1.1 >with some important bug fixes. How should I proceed in this case? Shall >I do tla tag foo--development--1.1.1? > >I'm trying to figure out how to work with tla to be really productive. >All I really need is > >a) Clearly know which sources where used for which realease >b) What changes were done for each of the releases. > >The scenario above seemingly provide me with what I want. getting the >latest from foo--development--1.1 gives me the sources used for release. >And changelog for that branch tells me what changes were done. They also >tell me which base release was used to create the release. This implies >that after the release is done I stop commiting to the branch. The best >would be to "lock" this branch somehow, so that nobody else by mistake >would commit to it. > >Am I closer now to "proper" handling of "my" situation? > > > The only difference between what you said, and the recommendation, is the idea of keeping a "release" branch. Often, it is not good enough to know what the latest 1.0 version is (1.0.1, 1.0.2, etc). You need to be able to get a specific one. Customer Foo has installed 1.0.1, you've already done some work and are on 1.2, but you have also backported some fixes and have a 1.0.3 release. Foo has a problem with 1.0.1, which doesn't seem to be fixed anywhere, but you can't seem to reproduce it with your current code. You need to checkout 1.0.1 for debugging purposes. With your scheme, there isn't an obvious way to determine what code corresponds to 1.0.1 To keep names short, I will use "dev" and "rel" as the branches, and "spam" as the project. spam--dev--1.0 <- development work towards the 1.0 release spam--dev--1.0--patch-10 # you've finally gotten there # If you are not in a wdir you must supply the full names of the revision you are dealing with # tla tries to be smart so if you supply spam--dev--1.0 it will grab the latest revision tla tag spam--dev--1.0--patch-10 spam--rel--1.0 # spam--rel--1.0--base-0 now corresponds to the 1.0.0 release # start working on a new version tla tag spam--dev--1.0 spam--dev--1.1 ... spam--dev--1.1--patch-4 # You've been working for a while when you find a very important bugfix # you can do this a couple different ways, but it might be easiest to get the latest 1.0 dev branch cd ~ tla get spam--dev--1.0 spam-dev-1.0 cd spam-dev-1.0 #hack hack, possibly merge, blah blah spam--dev--1.0--patch-12 # it took a couple of patches to get it right cd ~ tla get spam--rel--1.0 spam-rel-1.0 cd spam-rel-1.0 tla star-merge spam--dev--1.0 # Instead, you could do tla tag spam--dev--1.0 spam--rel--1.0--patch-1 # But star-merge gives you nicer patch logs, etc. tla commit -s "Important security bugfix" spam--rel--1.0--patch-1 # Corresponds to 1.0.1 cd ~/spam-dev-1.1 # Continue working on new line. # Depending on how the bugfix was done, it might be very likely that you want # to merge the changes into this tree. Or you might have already done the fixes # here, and only merged them back to 1.0 This is slightly simplified from Jan Hudec's version. Since he included a spam--rel--1 line for all of the 1.* versions. His might be better for long term work, but I'm hoping my use case helps you understand. John =:-> --------------enigC1F16AD34A42F10E6CA2C10D Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.6 (Cygwin) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFB8R/2JdeBCYSNAAMRAilhAJ9ha9dPOrHnn5kJxO1HUcskYiBH1QCfbtDs vWYp0J4bKhBz0MervcqCHsI= =5tul -----END PGP SIGNATURE----- --------------enigC1F16AD34A42F10E6CA2C10D-- --===============1951581938== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Gnu-arch-users mailing list Gnu-arch-users@gnu.org http://lists.gnu.org/mailman/listinfo/gnu-arch-users GNU arch home page: http://savannah.gnu.org/projects/gnu-arch/ --===============1951581938==--