Evolution Software Configuration Management Solution
The levels of software configuration management: Asset Management, Workflow Management, and Promotion Management
The Unique Evolution Advantage

  • True real-time, instant accessibility of data and metadata

  • Production™ unit technology - An abstract, modular set of files that provides better control than changesets.

  • Manage projects on a component basis, say goodbye to labels, date-based searches, and unnecessary branch-merge-branch-merge cycles.

  • Powerful underlying build and release system.

  • Segregation of the three aspects of SCM provides more power, flexibility AND freedom.

  • Implement any development methodology with advanced branch types for automatic code propagation.

Software development requires not only the management of your digital assets, but also control over the entire change management process. Only Evolution's unique Multi-tier Change Management Framework delivers the power and flexibility to help your parallel and distributed development team deliver higher quality products faster.

Whether you are a single developer, a large enterprise, or somewhere in between, you need a software configuration management (SCM) solution. Keeping your source safe is only the beginning of the SCM equation.

See the FULL feature list.

Ease of Use

    Multicast real-time client updating
    No more assuming that what you're looking at the most current data, and no more F5 refresh. When an action is performed in Evolution, every client will instantly see the effect.
    IDE Integration
    Perform your day-to-day tasks without leaving your development environment. Evolution supports the MS SCC API, used by the entire Microsoft family of Integrated Development Environments, including Visual Studio.NET.
    Familiar Intuitive Interface
    Evolution looks and feels just like other tools you might be used to, but everything is improved for easy access and "simply better" operations. And lurking just beneath the surface are powerful systems waiting to spring into action.
    Status Monitor
    The Evolution Status Monitor eliminates the need for constant searching to find out what files you have checked out. You can see your files immediately, and check them in all at once.
    Search
    The robust search tool allows you to conduct searches and export the results to HTML for distribution in your team. Also save and reuse your search criteria.
    Show Uncontrolled
    Maybe you have some stray files lying around in your working folder. Maybe you missed something when you added it to the project. Keep your work environment from getting polluted by junk and see what files are not source controlled without search or project diff.
    On-Screen Local Status
    See what files are:
  • Current
  • Modified
  • Renegade
  • Old
  • More Recent
  • Work in Progress
    No need to open the diff tool to see that a file is different, the Evolution client always tells you.
  • "Always Available" File Histories and Properties
    Tired of right-clicking and selecting History, then right-clicking and selecting Properties, the switching back and forth to find the information your looking for? With Evolution, no clicks required. The Properties & History window docks in your client and stays, keeping all the information you need right in front of you. It even updates in real time as changes occur. If you're looking at the history of a file, and someone checks it in, it will appear immediately.
    Connect From Anywhere
    Working from home? Just type in the IP address and port of the server and log in! No VPN to configure, no complicated set up or proxy required. Evolution works over TCP/IP, with automatic encryption and compression to make sure that it's secure and fast, even over dialup.
    Offline Updates
    Even when you're offline, your teams can keep you up-to-date by email. With event triggers, notifications can be sent when particular actions occur. Know if someone has checked a file in that you need to know about by email. Or know when a file you need has been released.
    Built-In or Configurable Merge Tool
    Evolution Merge is a powerful text diff/merge tool that is included with Evolution. Or, configure Evolution to use your own solution if you prefer.
    Upgrade to Evolution Easily
    Make the switch to Evolution easily with our importer tool for Visual SourceSafe. You will retain your full file histories with comments, AND automatically have the users migrated as well.

Manage More Than Just Assets

To truly control your entire application development lifecycle, you must be able to handle all three levels of your process.
  • Assets
    • Source code
    • External libraries
    • Art assets
    • Documentation
  • Development workflow
    • Private sandboxes
    • Hotfix environments
    • Release branches (maintenance, OEM, etc)
  • Promotion stages
    • Nested component/code state
    • Promotion/approval stage
    • Notifications
    • Trigger Actions

Digital Assets

Your digital assets are the files that compose any given project. Every source control solution addresses this issue in some form. Evolution was designed to control all of your digital assets, not only your source files.
    Seamless Binary Handling
    No manual configuration required, Evolution recognizes all file types automatically.
    Image diffing.
    Instead of manually comparing images by looking at them side by side, Evolution can show you the differences.
    Unlimited File and Repository Size
    Evolution does not store physical file data in the database. By utilizing the file system, Evolution takes advantage of the operating system's inherent speed and reliability and does not use up database storage. This allows a massive amount of data to be controlled in the repository. Other solutions will run into the 4 gigabyte limitation most databases experience. Individual file sizes are only limited by the operating system.
    Database Agnosticism
    You choose the ODBC datasource that's appropriate for your team. Evolution makes use of only ODBC, so any database that supplies a driver is compatible. ionForge currently supports JET (Microsoft Access), MSDE, Microsoft SQL Server, and MySQL.
    Minimized Server Space
    Server configurable delta packages are created instead of storing full file revisions, which conserves server space for large projects. See the technical information here.

Development Workflow

Evolution provides many flexible mechanisms with which to implement the best practice for your project and for your team. From the most basic choices such as concurrent or exclusive file checkout, to sophisticated development process with multiple workspace depths, Evolution supports it. Your software configuration management software should never impose a process on you.
    Flexible Locking
    Server enforceable exclusive or shared/concurrent locks.
    Deferred Locking
    In exclusive checkout environments, Evolution provides a managed queue so lock assignment and notifications occur automatically. No more waiting, the current lock owner receives a friendly "Hurry up" message when another user enters the queue, and the new owner receives a notification when they've been assigned the lock.
    Works in Progress (WiP's)
    Checking a file in as a WiP is a lightweight way to create an effective and automatically managed virtual private workspace on a temporary, individual file basis. A WiP is invisible to other users. While you repeatedly and contiguously check in the file as a WiP, you will not be forced to merge until you re-enter the "real" world. At that point you end your WiP session and the server will force a merge if appropriate.
    Production Units/Snapshot Architecture
    Evolution allows you to create super-projects called Productions which are modular groupings of files that can be versioned as a unit. By creating immutable snapshots that are treated as objects, the following is enabled:
  • 100% reproducibility.
  • Inclusion of different versions of the same component within the same project.
  • Simple one-click comparison and reporting of project changes between versions.
  • Elimination of crude labeling systems.
  • Elimination of error-prone date-based searching.
  • Elimination of misusage of branches to retain clean historical project states. Make a Production version instead.
  • Visual tools for drag and drop creation and modification of unit to be included in new versions.
  • Visual component element diffing
  • Allow transactions to occur incrementally, then create an overall transaction log (production version) that becomes immutable for historical purposes.
  • Zero-Cost Sharing/Linking
    True reference-linked shared items with no data replication.
    Advanced Branch Types
    Three advanced branch types to create sophisticated workflows:

  • Clone: The traditional "branch". Data replication occurs immediately, with the two resulting objects having a shared history up until the point of cloning.

  • Reflection: An automatically managed propagation of change in a single direction. A -> B. When A is changed, the same change occurs in B. If B is changed, the reflection relationship is severed and they become clones. Useful for propagating changes from older code trees to newer ones, for instance in the case of maintaining a legacy release while a new version of your product is already in development.

  • Shard: A hybrid of shares and clones. Sometimes called a "branch-on-change". Shards behave like linked files until either file is changed. At that point they become clones.
  • "Harmonizer"
    The harmonizer is a visual tool that maps the flow of code in an intuitive, human-readable diagram.

    Harmonizing is the term Evolution uses to indicate a two-directional merge of objects. The end result of a harmonization is that the objects have the same tip data (head).

    Also makes code rebasing easy. A simple point and click interface to pull code from an archetype, or parent object into a child. The end result of a rebase is that the child has the same tip data (head) as the archetype.
    Visual Management Tools
    The Evolution Version Manager provides an intuitive visualization of your code state. It boasts a powerful and easy to use drag and drop interface to manipulate the units that are about to be saved into an immutable snapshot.

Promotion Stages

The Evolution promotion ladder is how process automation and transparency are achieved.
    Promotion Ladder
    The start point of controlled management process. The ladder defines stages, for instance, 'Development', 'Test', 'Approval', 'Live'. Promoting code into stage as the application development lifecycle progresses allows you to know exactly what code is where in the process.

    Download a paper on implementing the workflow to the right (medium complexity)
    Event Triggers
    The complement of the promotion ladder is the event trigger. Whereas promotion ladders only define the process and enable trackability, event triggers implement the process. User defined actions (such as sending email or getting a code revision) can be set to take place when events occur. Interface-accessible server variables provide the necessary information to perform advanced operations based on a trigger.
    Command Line and Email Utilities
    The included full-featured command line allows any Evolution operation to be performed. The most useful of which are the "get" operations, which can be configured to get by promotion state. The included email utility allows you to send notifications to Evolution users when system events occur.
    Powerful Fine-Grained, Inherited Permissions and Security
    Security from the file level to the promotion level to the ladder level. Evolution provides a powerful, flexible inherited permission based security model.
    "Shadow" Folders and More
    Using a combination of all the above features, so much more than simple shadow folders can be accomplished. A promotion event can be configured to set off a chain of events (with minimal scripting or custom programming) that notifies users by email, moves specific versions of code, starts a build process, and finishes off with a deployment.
    Highly Customizable Open Architecture
    Evolution is open and scriptable, allowing you to better integrate Evolution with dedicated build automation and deployment tools. Use Evolution as the keystone tool in your process to control and monitor your code, but you are free to use the other tools you already have to perform auxiliary duties.
View The Full Feature Outline Here