[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[osee-dev] Multi-project support through artifact reuse across branches (even without common ancestry)

Providing advanced multi-level branching eventually leads to use cases
where a user wishes to utilize (in the easiest, most maintainable way)
existing artifacts from another branch that is not an ancestor branch
(in other words from a separate product line).  The traditional method
is to simply copy the functionality from one separate baseline to
another.  However, this has the major disadvantage of not being
maintainable since each copy has its own identity and history.  This
data redundancy is very costly since manual updates and tracking are
needed to make fixes and updates which need to apply to multiple copies.


OSEE already provides a good solution by using multi-level branching
when the branches of interest share a common ancestry.  A new capability
is needed to handle the case of branches that do not have a direct
hierarchical relationship.

Ideally, this capability would be exposed to end users with the simple
and familiar drag-n-drop approach from any branch to any branch
regardless of ancestry.

It may be helpful to think of the above concept in terms of what it is
not.  There is a number of existing OSEE capabilities for the creation,
movement, and deletion of artifacts to and from branches including:
	Duplicate/copy/clone
	Move
	Create new
	Import
	Commit
	Delete

This new capability is different from all of the above because it
involves the reuse of an existing artifact where not even a new version
is created but rather the existing version of an existing artifact is
caused to newly exist on another branch.  Possible names for this new
concept are:
	Inserted
	Ported 
	Reflected 
	Introduced

Regards,
Ryan