[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Suppose that you are working along, making revisions, when you realize that the last few revisions are just bad, and you want to revert them. You don't want to completely erase the development, since there may be pieces that you would want to use in a different context. But you do want to make it look as all of those changes were reversed.
There is a command for this situation:
% arx make-sync-tree good-revision version [dir] |
This creates a project tree for version
whose source code is
exactly the same as good-revision
but which has all of the
current patch logs. You can then commit
that tree, reverting
the patches after good-revision
.
However, make-sync-tree
is more general in application.
Suppose that you have two branches: a primary development line and a
developer branch from that trunk. For one reason or another, none of
those changes which are on the developer branch but not the trunk are
needed -- perhaps similar changes have recently been made on the
trunk.
Now the developer wants to merge the trunk back to his branch, but the desired outcome of this merge is quite trivial: he wants the source in the branch to wind up looking exactly like the source in the trunk, but the patch log in the branch to have all log entries from both the trunk and the branch. In short, it should appear that after diverging, the branch was later editted to agree with the trunk on how to make the branch's changes.
In this case, the command looks like
% arx make-sync-tree from-revision to-version [dir] |
This creates a project tree for to-version
whose source code is
exactly the same as from-revision
but whose patch log is a
combination of the latest patch log from to-version
and the patch
log of from-revision
.
The project tree thus created can be committed to to-version
,
resulting in in a perfect synchronization between two branches.
[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |