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

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

[Gnu-arch-users] [BUG] feature plan -- Auto branching


From: Tom Lord
Subject: [Gnu-arch-users] [BUG] feature plan -- Auto branching
Date: Mon, 24 May 2004 16:55:06 -0700 (PDT)

To make branching and merging in some common patterns easier:


% tla fork [--topic "topic string"] TO

  Roughly equivalent to 

        % from_version=`tla tree-version`
        % tla tag --set-up `tla tree-revision` TO
        % tla join-branch TO
        % tla set-tree-version TO        


  however:

        1) TO must not already exist.

        2) The log message for base-0 of TO will
           set some version variables:

                set-in-version: arch-branch-topic "topic string"
                set-in-version: arch-upstream "$from_version"


For example, here is how you might get ready to help fix a bug in tla, 
assuming you have already set up an archive:

        % address@hidden

        % tla get $LORD/dists--devo--1.0  wd

        % cd wd

        % tla build-config $LORD/emf.net/devo

        % cd src/tla

        % tla fork --topic "work on bug235" bug235

which will create a tla--devo:bug235--1.3 branch in your archive and switch
your project tree to that branch.

Note that you can fork recursively.   That's even handy here.

Let's suppose, for example, that you like to commit very frequently --
more like a transcript of your hour-to-hour work than anything.   Yet
you don't want such a confusing list of revisions when you submit a
merge request for your bug-fix.   So, sub-branch:

        % tla fork transcript

which now creates the branch:

        tla--devo:bug235:transcript--1.3

and sets your tree-version to that.

After you work on the transcrpt branch for a while and are ready to
summarize the result for publication, you can use the next new
command:




% tla upstream-commit [--stay]

  Roughly equivalent to:

        % here=`tla tree-version`
        % upstream=`tla version-var arch-upstream`
        % tla commit
        % tla set-tree-version $upstream
        % tla commit
        [ if --stay:  % tla set-tree-version $here ]


Now you can send a merge request to merge everything in your
tla--devo:bug235 branch.


% tla switch-branch [--no-sync] sub-branch

  Equivalent to:

    % mainline=`tla version-var arch-upstream`
    % CATEGORY=`tla parse-package-name --category $mainline`
    ...
    % tla set-tree-version $CATEGORY--$BRANCH:$sub-branch--$VERSION

    [unless --no-sync is specified:  % tla sync-tree]


-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]