Skip to main content

Using Source Control Management with Eggplant Functional

Source control management (SCM) allows multiple users to share suites stored in repositories. Eggplant Functional works with Git and Apache Subversion repositories for SCM.

Through the Eggplant Functional UI, you can check out local copies of SCM repositories on your Eggplant Functional machine, then work with and save changes to that machine. When you are ready, you can push your changes back to the repository. You can store multiple Eggplant Functional suites in a single repository, or you can check out different suites from multiple repositories.


SCM integration requires Eggplant Functional version 16.10 or later.

The following topics can help you get started:

For information about using SCM features within Eggplant Functional, see Working with Suites Under Source Control Management.

Configure Your System for SCM

Before you can use Eggplant Functional for SCM, make sure that your system is properly configured and that you can access either the GIT or Subversion (SVN) repository you want. The specific details about how you set up your repositories differ based on which SCM provider you use, so you need to check the documentation for those products.

  • Your Git or SVN repository needs to be set up and available. You need the full path URL to the repository when you perform the checkout from Eggplant Functional.

  • If you're using SVN, the executable for SVN version 1.8 or later must be installed on the machine where Eggplant Functional is running.


    If the SVN executable isn't installed in the default location on your computer, you must specify its path in the Account tab of Eggplant > Preferences.

  • Git is built into Eggplant Functional 18.2 and later, so if you're using a Git repository, you don't need to install git.exe.

  • (Optional) If you use SSH for secure connections, enter your username and password on the SCM Checkout dialog box (described below). You also enter the path to your private key, if necessary.


    If you are using GitHub, you must enter your public key in your GitHub account. See GitHub - Account Setup and Configuration for instructions.

For information about Git, visit the Git website. For information about SVN, visit the Apache Subversion website.

Step by Step: Connect to a Repository

If you have Eggplant Functional suites in a repository, you can use the File > Clone / Checkout Repository function to connect to the repository and create a local copy. Follow the steps below to check out the repository.

  1. On the Eggplant Functional main menu, select File > Clone / Checkout Repository to open the Clone / Checkout window.

    The SCM Checkout window in Eggplant Functional

  2. Select the appropriate Repository Type from the drop-down list, either Git or SVN.

  3. Enter the Repository URL. Use the full path URL for the Git or SVN repository that you want to access.

    Git Repository Examples

    https repositories: `<repo_accnt_name><repo_name>.git`

    or including username as part of a clone command:<accnt_name>/<repo_name>.git>

    ssh repositories:<repo_accnt_name>/<repo_name>.git

    SVN Repository Examples

    https repositories: https://svn.<repo>.com/<repo name>/

    ssh repositories: svn+ssh://<user_name>@svn.<repository_host>.com/usr/local/svn/<repo>/trunk


    You can include secure connections (for example, svn+ssh) as long as you provide the correct credentials.

  4. Select the Destination folder for the repository. Click Browse to use the file browser to navigate to a location. Within the Browse For Folder dialog box, click Make New Folder (New Folder on Mac) to create a new location. Use a location on the local machine, or any location you can navigate to on the network.


    The Destination folder must be empty.

  5. Click Submit. If any of the information you entered is incorrect, an error message appears at the bottom of the window explaining what information is missing or incorrect. Otherwise, the connection is made and the repository is copied, or checked out, to the Destination folder.

After the checkout is done, open suites from the repository you copied using the File menu. Go to File > Open Suite, then navigate to the location you set as the Destination.

The status bar also shows the name of the branch in which you are working and statuses for Settings (which include items on the Settings tab of the Suite window as well as Schedules and other suite information) and Snippets. For more information about using these buttons, see Working with Suites Under SCM.

SCM Workflow

To use SCM within Eggplant Functional, you might use the following basic workflow:

  1. Use the Checkout function to connect to a repository that contains Eggplant Functional suites. The Checkout function is described above.
  2. Open a suite from the local copy of the repository that you have checked out. When you work with source control, you will always work on a local copy.
  3. Make changes to scripts or other suite resources and run tests in the Eggplant Functional interface as you typically would. As long as you have performed the checkout, Eggplant Functional helps keeps track of changes between the local copy and the repository.
  4. When you are ready to share your local changes with others who use the same repository, go to File > Commit to save your changes. If you're using SVN, Commit also sends your changes to the remote repository. If you're using Git, select the Push to origin/master checkbox to push changes to the remote repository. With Git, you also can use File > Push to save changes to the remote repository. For instructions on committing local changes, see Working with Suites Under SCM.