Harald Meland <[EMAIL PROTECTED]> writes: > [Mark Triggs] > >> By the way, speaking of merging, I've just noticed that if I'm >> in the *tla-revisions* buffer, move my point over a particular revision >> and do "S" to star-merge it, all of the missing revisions get merged >> in, not only the one I was interested in. > > If you want to merge only a single patchset (i.e. you want to do some > cherrypicking), star-merge probably isn't what you're looking for. > Use replay instead. > > When star-merge is given a fully-qualified FROM revision, this > revision is interpreted as the end-point for the merge; this means > that all revisions prior to the FROM revision will also be part of the > merge.
Yep, that's the behaviour I would expect. What I'm seeing with xtla is that all revisions *after* the FROM revision are being merged (it's essentially star-merging with the most recent revision). So, if I have a tree containing patch-1, then move the point over patch-2 and hit 'S' to star-merge, it merges patch-2, patch-3, patch-4, ... (instead of just up to patch-2). [...] >> (defun tla-revision-star-merge () >> "Run star-merge from the current location" >> ... >> (if tla-buffer-archive-name >> (tla-star-merge (tla-fully-qualified-revision >> tla-buffer-archive-name >> tla-buffer-category-name >> tla-buffer-branch-name >> tla-buffer-version-name) to-tree) >> (let* ((elem (ewoc-data (ewoc-locate >> tla-revision-list-cookie))) >> (full (caddr elem))) >> (tla-star-merge (apply 'tla-fully-qualified-revision >> full) >> to-tree))) >> ..) >> >> That first arm of the IF is the one being entered. > > I haven't tried using xtla for this yet, nor have I studied the > code... but to me it looks as though both arms of the IF are using > TLA-FULLY-QUALIFIED-REVISION for constructing the first argument too > TLA-STAR-MERGE. They are, but in the first branch the revision isn't being supplied as an argument, so: (tla-fully-qualified-revision tla-buffer-archive-name tla-buffer-category-name tla-buffer-branch-name tla-buffer-version-name) => "[EMAIL PROTECTED]" while: (apply 'tla-fully-qualified-revision full) => "[EMAIL PROTECTED]" It's the former that surprised me.. I'm not too sure why you would want to do this (but it was obviously intentional, so I assume I'm missing something :o) Cheers, Mark -- Mark Triggs <[EMAIL PROTECTED]>
