Hi !
The merging assistant is comming little by little. For now, it's still
slow and require a bit of manual intervention, but this will be
improved in the next future.
Here's an example of what can be done with it:
C-x T b => open the bookmark buffer
M => Launch tla-bookmark-missing
The first news is the "merges: " field, that lists the patches merged
by each revision. As we usually include the list of merged patches in
the summary line, this is mainly a useless feature, but never mind.
I now type M-x tla-revision-compute-merged-by RET and get the
following buffer:
*** Bookmark My xtla ([EMAIL PROTECTED]): ***
Missing patches from partner My xtla:
Missing patches from partner xtla-masatake-2:
[EMAIL PROTECTED]
Merged from [EMAIL PROTECTED] (patch305), [EMAIL PROTECTED] (patch83-84)
Masatake YAMATO <[EMAIL PROTECTED]>
2004-07-01 07:18:02 GMT
Merges:
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
Merged-by:
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
Merged from [EMAIL PROTECTED] (patch68)
Masatake YAMATO <[EMAIL PROTECTED]>
2004-07-01 07:29:47 GMT
Merges:
[EMAIL PROTECTED]
Merged-by:
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[...]
Missing patches from partner xtla-mst:
[EMAIL PROTECTED]
Merged from Matthieu (patch305-314), Stefan (patch68-69)
Mark Triggs <[EMAIL PROTECTED]>
2004-07-02 04:18:41 GMT
Merges:
[EMAIL PROTECTED]
[...]
[EMAIL PROTECTED]
Merged-by:
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[...]
Missing patches from partner xtla-robert:
Missing patches from partner Xtla:
[EMAIL PROTECTED]
Merged from Matthieu (patch305-318), Masatake (patch32-36), Mark
(patch85-86)
Stefan Reichoer <[EMAIL PROTECTED]>
2004-07-02 20:06:31 GMT
Merges:
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
Improved tla-register-archive
Stefan Reichoer <[EMAIL PROTECTED]>
2004-07-02 20:49:34 GMT
Missing patches from partner xtla-martin:
Missing patches from partner xtla-milan:
end.
Now, the question is: Which patch should I merge first? I could merge
Masatake's [EMAIL PROTECTED], but then, I
will also merge Stefan's
[EMAIL PROTECTED] that also contains
this patch. This means modifications of Masatake's patch-32 will be
applied twice to my tree. This will most probably result in
conflicts :
* If I use the default "star-merge", the patch hunks already applied
will be dumped to the .rej file. This problem is solved by using
--forward or --star-merge.
* If Stefan modify Masatake's code, then, the rejected hunks could
contain important information. This is not easily solvable and we
already had several problems (mainly code duplication) with xtla.
So, I should not merge a patch that is already merged by someone else.
On the other hand, Stefan's patch
[EMAIL PROTECTED] is not merged by
anyone. The next patch is also safe. So I can merge them without
risk : `. S' with my cursor on patch-71. After that, I refresh the
buffer with `g'. I get this:
*** Bookmark My xtla ([EMAIL PROTECTED]): ***
A {arch}/xtla/xtla--jet/xtla--jet--0.2/[EMAIL PROTECTED]
A {arch}/xtla/xtla--jet/xtla--jet--0.2/[EMAIL PROTECTED]
A {arch}/xtla/xtla--jet/xtla--jet--0.2/[EMAIL PROTECTED]
A {arch}/xtla/xtla--jet/xtla--jet--0.2/[EMAIL PROTECTED]
A {arch}/xtla/xtla--jet/xtla--jet--0.2/[EMAIL PROTECTED]
A {arch}/xtla/xtla--main/xtla--main--0.1/[EMAIL PROTECTED]
A {arch}/xtla/xtla--main/xtla--main--0.1/[EMAIL PROTECTED]
A {arch}/xtla/xtla--main/xtla--main--0.1/[EMAIL PROTECTED]
A {arch}/xtla/xtla--main/xtla--main--0.1/[EMAIL PROTECTED]
M lisp/xtla-core.el
M lisp/xtla.el
M lisp/xtla-defs.el
Missing patches from partner My xtla:
Missing patches from partner xtla-masatake-2:
Missing patches from partner xtla-mst:
Missing patches from partner xtla-robert:
Missing patches from partner Xtla:
Missing patches from partner xtla-martin:
Missing patches from partner xtla-milan:
end.
There are no other patches to merge, so I can type RET on the changes
part to examine the changes and commit them.
Here, Stefan merged everything, but he could also have merged only a
subset of the pending patches, in which case I could have re-iterated
the above process to merge the other ones.
Now suppose Masatake comes to hack. He may use the same functions, and
the merging assistant will indicate him to merge from me. The next
hacker will merge from Masatake, and so on.
Hmm, interesting !
--
Matthieu