Suggestion
From: David Radcliffe <david.radcliffe_at_clockworkit.co.uk>
Date: Fri, 4 Jul 2014 12:48:53 +0100
Hello,
When creating different instances of an application (say for different
1. Only one instance, with feature control enabled via parameters
2. Separate branches for each customer
3. Conditional Compilation of one source base
All three approaches have been used by the author at various companies he
and experience has shown that all three have their own drawbacks:
1. If the differences between instances are significant, or there are
2. This creates a maintenance nightmare when applying patches or
3. This works, but implementation (e.g. Visual Studio) leaves a lot to
This suggestion proposes a fourth method: Conditional Check-out.
This works (as far as the complier is concerned) in much the same way as
but moves the decision on whether to compile specific code back to the point
rather than relying on the flaky mechanisms provided within the IDE.
This means that the developer has to very consciously decide which instance
It will also support automated build processes (e.g. Cruise Control) which
It works like this.
Any (existing) code (which is un-adorned by the new SVN decoration) is
This ensures 100% backwards compatibility, with no changes being required to
Sections of code which apply to, or are omitted from, one or more specific
This section is then either included or excluded, as appropriate, when the
The 'checkout' and 'update' commands in clients will have the ability to be
and SVN includes or omits sections of code as required. A special value,
This is 'ALL CODE'. This obtains all the codebase, including all
This is primarily for documentation and review purposes, but also provides a
The decoration referred to is similar in fashion to the keywords already
There would be two variants of the decoration to either:
1. Include this code section only when a specific instance is
2. To exclude this code section when a specific instance is required.
Sections of code may have multiple [start of section] decorations; the
so that multiple instances can benefit from the same section control.
David W. Radcliffe
Senior Developer
Clockwork IT Ltd
tel: 08448 040950
mob: 07764 155251
<http://www.supportdeskpro.co.uk/> WWW.SUPPORTDESKPRO.CO.UK
<callto://david.radcliffe/>
Clockwork IT Ltd, Saturn Business Centre, 101 Lockhurst Lane, Coventry, CV6
NOTICE-This message contains information intended only for the use of the
|
This is an archived mail posted to the Subversion Dev mailing list.
This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.