gnu-arch-users
[Top][All Lists]
Advanced

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

[Gnu-arch-users] FEATURE PLANS: pruning instead of configs


From: Tom Lord
Subject: [Gnu-arch-users] FEATURE PLANS: pruning instead of configs
Date: Mon, 24 May 2004 16:58:33 -0700 (PDT)

Configs will always be useful but ..... the set of features proposed
in recent manages can help eliminate at least one common use for
configs.

I have a collection of projects (libhackerlab, systas, pika, tla,
package-framework, etc).  I currently use configs to assemble one big
meta-project out of all of those smaller pieces.  I also use configs
to assemble just subsets of the meta-project to serve as releases of
projects (e.g., a config for "what goes into a tla release").

Another approach to this will be:

  1) combine all the projects into one big (real) project that 
     includes al files

  2) use selective commit heavily when working on the big tree

  3) use auto-updated branches that take the combined tree and
     prune it down (using `remove-selection') to ship sub-projects.


Users might branch the auto-updated subproject branches when making
bug-fixes and the like.  That's ok:  those branches are easy to merge
into the combined-tree branch.

The upshot (combining many of the proposed features) is that someone
who wants to, say, fix an error message in tla could work as in this
example (from scratch to finish):


   ONE TIME STEPS:

        % tla my-id "D. Moe Hacker <address@hidden>"

        % mkdir ~/{library}

        % tla my-revision-library ~/{library}

        % tla library-config --greedy --sparse ~/{library}

        % mkdir ~/{mirrors}

        % mkdir ~/{archives}

   ONCE PER PROJECT JOINED:

        % tla register-archive address@hidden \
             http://gnuarch.org/....

        % tla make-archive --mirror-from address@hidden \
                ~/{mirrors}/address@hidden


        # Let's assume you know you'll want to submit patches 
        # back to this project.   So, let's go ahead and create
        # a local archive and a publicly readable mirror of that
        # archive for publishing changes.
        # 

        % tla make-archive address@hidden \
           ~/{archives}/address@hidden




    WHEN CATCHING UP ON PROJECT PROGRESS:

        % tla archive-mirror address@hidden


    ONCE PER MINOR FIX YOU WANT TO SUBMIT:

        % tla get address@hidden/tla--devo--1.3 wd
        # 
        # 
        # Note: using the "one big tree" approach,
        # there is no config to build.   Wd now contains
        # a complete tla distribution.


        % cd wd

        % tla fork --topic "fix spelling in `foo --help' output" \
            -A address@hidden foo-help

        [hack hack hack]
        [test test]
        [hack]
        [test]

        % tla commit 

        [repeat hacking, testing, and committing]

        % tla commit --announce

        % tla push-mirror address@hidden


And that's it -- your changes would be published and bug-goo email
automatically sent.

-t


----

Like my work on GNU arch, Pika Scheme, and other technical contributions 
to the public sphere?   Show your support!

https://www.paypal.com/xclick/business=lord%40emf.net&item_name=support+for+arch+and+other+free+software+efforts+by+tom+lord&no_note=1&tax=0&currency_code=USD

and

address@hidden for www.moneybookers.com payments.


-----

        The cause of death is birth.
                        -- George Harrison





reply via email to

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