Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[stellation-res] T-Client Merge Enhancements

A. Summary of Changes

1) Merge will now generate both a conflicts List and a changes List.
    The merge method signatures will change accordingly.
    This is a breaking API change.
2) The T-Client will not allow multiple bindings per resource.
3. The T-Client will display both conflicts and changes to the user.
4. The user will have to resolve conflicts and accept changes before a
    susbsequent checkin is allowed.
5) We'll support multiple-bindings-per-resource for the WVCM client

Discussion follows.

B. Merge Enhancements

As part of our discussions about merge issues, Mark and I have decided to
enhance T-Client merge capabilities to be more similar to the way that WVCM
handles merges.  This will delay the release by another working day or two, but
we think it's worth it.

The merge algorithm is now going to produce both a list of conflicts (which
require manual resolution) and a list of changes (advising which files have
changed as a result of the merge.

Problem markers will be attached to files with merge conflicts, bookmarks
(or similar indication) will be attached to files which have changed.
(Actually, decorators may be better -- tbd).

Checkin on the subsequent merged image will be disallowed until the
conflicts and changes lists are both cleared.  There will be a menu option
for clearing all remaining change markers.  Conflict markers may be cleared
in the Problems View, or while editing the file containing the conflict.

C. Multiple-Parent Conflicts

As discussed on the Wiki MergeIssues page, conflicts can potentially occur
when a particular artifact has been moved to two separate locations within
the leaf and target images, relative to the base image.  This could result
in creating two instances of the same artifact in different folders.

This is not wrong in all circumstances (linked files are often used in Unix,
for examples).  Furthermore, WVCM explicitly requires that there be no
constraint on the number of bindings to a resource.

However, the current Stellation CM client internals cannot handle multiple
instances of the same artifact (same artifact ID) in different folders
within the local workspace.  And, in general, such an occurrance should be
reported to the user, as either a conflict or (at the least) as a change
requiring confirmation.

Therefore, we have decided to disallow multiple bindings per resource in the
T-Client, and address this issue in the upcoming WVCM work.

Questions and comments welcome, as always.

- Jim

--
Jim Wright, IBM T.J. Watson Research Center
*** The Stellation project: Advanced SCM for Collaboration
*** http://www.eclipse.org/stellation
*** Work Email: jwright@xxxxxxxxxxxxxx ------- Personal Email: jim.wright@xxxxxxx



Back to the top