...
Do not want to represent an entire, large artifact as a change set. Would instead store the large artifact in a repository and the Change Set would only represent the changes to that artifact, i.e., would not try to package the entire artifact as a change set.
Proposal: One general method/format to exchange changes to an artifact. Must be generic so that it doesn't matter what the artifact is. Use versioned (STAMP'd) ASTs to represent the changes. Implies that artifacts must be expressed in language for which there is a grammar that allows definition in an AST. Allow changes to any node in the AST tree. Can be used to compute a differential. Artifacts should use UUIDs.
...
If we use something like Git, we can store the changes within Git (not using Git's differential capability to calculate the diff between 2 versions of an artifact). We agree on the file format of the change files (e.g., AST).
Need to decide on what to put into a Change Set. Keith proposed it is the equivalent of what a developer commits, which could be small or large.
Also use a delta Change Set vs. a complete (whole component) Change Set.
Action Items: Need to develop a limited demonstration to prove Keith's Change Set proposal. The ABD project might be a candidate since it uses ASTs internally.