We're using Oracle Forms source control outside of Forms. Currently we're very happy with our VSS setup. So we are using Microsoft's Visual Source Safe for Oracle Forms Source Control.
Generating *.fmb files out of Oracle Designer, we do a check in of fmb files after generation.
Also there's a possibility to use ANT for SQL and fmb Forms deployment. Using VSS as Oracle Forms source control software, ANT can also check out specific fmb versions to deploy.
At the moment, some peole thing about migrating our Oracle Forms source control software from VSS to something new like SVN (Subversion). But this would be a major change on our developement approach. Currently, the developers were used to VSS with its pessimistic locking mechanism. New version control tools as Subversion are using optimistic locking instead. What's the difference?
Concurrency control mechanisms
The main categories of Oracle Forms source control / concurrency control mechanisms are:
- Optimistic - Delay the checking of whether a transaction meets the isolation and other integrity rules (e.g., serializability and recoverability) until its end, without blocking any of its (read, write) operations ("...and be optimistic about the rules being met..."), and then abort a transaction to prevent the violation, if the desired rules are to be violated upon its commit. An aborted transaction is immediately restarted and re-executed, which incurs an obvious overhead (versus executing it to the end only once). If not too many transactions are aborted, then being optimistic is usually a good strategy.
- Pessimistic - Block an operation of a transaction, if it may cause violation of the rules, until the possibility of violation disappears. Blocking operations is typically involved with performance reduction.
Oracle Forms Source Control recommendation
Because *.fmb files are binary source files, I recommend using a pessimistic Oracle Forms source control tool like Microsoft Visual Source Safe (VSS). With binary files, no source version comparison is possilbe, also no branch-merche mechanism can work. Binary sources are "bad", but no change, Oracle FMB files are binary.
When source files would be text files, I would recommend using an optimistic version control tool like Subversion (SVN).
Happy building with your Oracle Forms source control / revision control software.