Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[alf-dev] Revision Specification

Tim,

Upon further thought, I think the decision on what to do with the revision specification (what do source should be retrieved) is going to be a bit trickier. We have a trade off between treating each SCM system properly and making a straight forward integration.

The three most common use cases or probably going to be:
1) Get the latest source of my project from the main branch.
2) Get the latest source from some other branch.
3) Get the latest source from a baseline

When you try to map that to data, things get difficult.

The most basic approach would probably be to have a branch and a label. That would usually be able to identify the latest from head, or the latest from the branch or a baseline. But that doesn't map terribly well to many SCM systems.

In Subversion, for instance, there is no proper concept of branch or label. There are just copies that could be used for either purpose and are identified with the same kind of path that identifies the project proper. In other systems (PVCS comes to mind) a more common use case is going to be the latest on some branch matching some promotion group. That will look a lot like a label, but be just different enough to cause problems. Then there's always ClearCase. Trying to apply any of these basic concepts back to config specs is often painful.

We could come up with some basic concepts that map reasonably well to most tools, but will be either confusing or non-applicable to other tools, or we can push the entire revision spec into a tool specific domain. I think that's probably the more proper approach, but I'd be happy to be wrong about that. My gut is that it would be nice if each SCM tool could provide a list of properties that need to be configured and integrations could be done dynamically based on the result. Subversion would just want a single path; CVS module, branch and label; and ClearCase would want a config spec.

Regards,
Eric




Back to the top