For Subversion and Git repositories, you have the option to use the TeamForge code browser which is turned on by default while integrating the source code server.
  1. Click SOURCE CODE from the Project Home menu.
  2. Select the Repositories tab.
  3. From the list of project repositories, select the repository you want to look at.

    Click the name of a Subversion or a Git repository in which you want to view code. On the top right of code browser, you can select the branch/tag (for Git) or specify the revision (for SVN) you want to browse.

To clone the repository, click the clone button ( ) available against each repository in the list.

The View Tab

This tab allows you to do the following:

  • Browse through the folder hierarchy of the repository and view the content of specific files. For any folder or file you are viewing within a branch (Git) or revision (SVN), you can obtain the commit information pertaining to its last update.
  • While viewing a single specific commit or a file, you can see the paths that were modified in that commit, the associations including JIRA such as builds, code reviews and so on (from EventQ events) for the specific commit and the difference between files in that commit.

  • While viewing a folder, if there is a file named readme, readme.txt or, that file will automatically be rendered beneath the list of files in the folder. If the file contains markdown formatting, it will be rendered as rich text.
  • With the linking capability, you can refer to a line of code or a range of lines in any revision of the file.

  • Inline-edit files in a Subversion Repository. Just browse and open the file (on a Subversion repository) on the View tab. Click Edit, edit the file in the File Editor and click Save.
    Edit (inline edit) button to edit Subversion files
    File Editor for inline editing
  • Inline-edit files on Git repositories without Code Review. You can inline-edit the source files on Git repositories for which code review is not enabled. Browse and open the file on the View tab, click Edit, modify the file on the File Editor and click Save.

    Edit (inline edit) button to edit Git files
    File Editor for inline editing
  • Find files as you type. With the Find File feature, you can just type the keywords and the results are shown as you type. Click the Find File icon and type the keyword to find a file you want.

    Find File icon
    Search results are shown as you type
  • View Git Blame Prior to a Specific Change. You can now view Git blame prior to a particular change. Browse and view a file in a Git repository, select the Annotations check box and click the View Git blame icon.

    View Git blame icons to view blame prior to a specific change
  • View PDF files. You can view the PDF files in Code Browser.

  • View Images stored in Git LFS. You can view the image files stored in Git LFS. Supported formats: GIF, JPEG, and PNG.

  • Download files. The existing Download tab is replaced by the Download button, which appears next to the Edit button on the Code Browser. Click this button to download source files.

  • Support for multiple Git LFS backends in Code Browser. Prior to this Gerrit release 18.3.6-2.14.6, the Code Browser was only able to access LFS files that were stored on local file system (FS backend).

The Changes Tab

This tab lets you view all of the commits that touched a specific path you are browsing within a branch or revision. Click a commit to view its details.

With more and more number of commits, the Changes tab can typically show a long list of changes. However, if you are looking for specific commits on a particular subject or commits made by a specific committer, you can filter commits further either by the log message, author or by the committer.

Just click Filter and type a keyword to search the log message or type the author or committer name and click Done. The list of commits would be filtered by the criteria you entered. You can clear the filter criteria anytime.

Filter button to filter commits
Filter dialog box to filter commits by Log Message, Author or Committer

The Graph Tab

This tab provides a graphical representation of the changes made including branching and merging of repositories.

The Branches Tab (for Git)

This allows you to see all of the branches in the repository in their relation to the default (master) one. Using Compare Branch, you can see the commits in the branch that do not exist in the default branch.

The Tags Tab

This tab lets you create Git tags and tag specific points in history as being important. Typically, you can use this functionality to mark release points (v1.0 and so on) with an option to add Release Notes for the tagged version. Once you create a tag, you can use it to download source code as a zip/tar file and view the tag information in Changes and Graph tabs.

  1. To create Git tags and tag specific points in history as being important (to mark release points, for example, v1.0, and so on), select the TAGS tab and click Create Tag.

  2. Type a tag name and revision number and add a Release Notes for the tag. Click Create Tag.

    Once you create a tag, you can use it download source code as a zip/tar file and view the tag information in Changes and Graphs tabs.

The Reviews Tab

This tab lists all the Open, Merged, and Abandoned reviews, both Pull Requests and Gerrit single-commit reviews. Pull requests allow developers to collaborate with each other on a code change before merging it into another branch on a GIT repository. You can access this tab only when the repository owner has enabled this feature. For more information, see Pull Request: Step by Step.

  • Support for Both Pull Requests and Single-commit Gerrit Reviews: Supports all types of code review policies, which include Pull Requests and single commit Gerrit Reviews.
  • Auto Refresh When a Pull Request Changes: When a pull request changes, the page is automatically refreshed to reflect the changes.
  • Comments to Support @mentions: Inline comments are parsed for @mentions and users called out via @mentions are added as reviewers.
  • Open Your Gerrit Reviews in Gerrit’s User Interface: A new button has been added to let you open your Gerrit Reviews in Gerrit’s user interface.
  • Code Commenting: During code reviews, you can now add line comments in context while looking at the files in diff view. You can double-click to block a line/text and add a comment.

    You can also reply to line comments.

  • Ability to Diff the Change Against the Base or a Previous Patch Set: As part of the Gerrit review workflow, you now have the ability to diff the change against the Base or a previous Patch Set.
  • Markdown Support: Markdown support for all .MD files: Render Markdown files when viewed through Code Browser.

    TeamForge uses Showdown—a bidirectional Markdown to HTML to Markdown converter written in Javascript. For more information, see the official Showdown Documentation. Here’s an abridged version of the Markdown syntax documentation.

  • Mass Delete/Resurrect Options: Mass delete/resurrect options in History Protect tab:
  • Delete abadoned reviews: To delete an abandoned review, open the review in the code browser and click Delete from Actions.

  • Inline Editing of Files: Quick changes to files, if required only to few files, can be done using the inline edit feature from within the code browser without having to clone an entire repository. Browse the repository, locate and open the file in the View tab, click Edit to open the file in the File Editor, make your changes, Create code review and Publish your changes for review.

    You can add new files to a review and delete files from a review by click the Edit Files icon and then the “+” and “-“ icons respectively.

    Type the name of the file to see results matching the file name, select a file and click Add File.

    Type the name of the file you want to delete to see results matching the file name, select the file and click Delete File.

    Click the Complete File Edits icon.

  • Submit Whole Topic: You can now bundle related changes (code reviews) by topic and submit the whole topic for review instead of just submitting changes one-by-one. Just open a review, click the Set Topic link and enter the topic name.
  • Add Coauthors in Commit Message: The coauthor name is also included as part of the author avatar and Authored by information on the changes list, whenever a change is done to the “Co-authored-by” footer text. More information can be seen in change details view.

    Add coauthors in the Commit Message
    List of coauthors
  • Option to show only files with review comments—By default, all files with or without the code review comments are shown on the Files tab view. Select the check box Commented files only, if you want to see only the list of files that have review comments.
  • Review comments to unchanged lines of code—Code review comments, added to lines of code that have not been modified as part of the code change, are now visible in the UI.

  • Improved user experience with review rules

    • Active review rules are displayed on the Actions panel.
    • Review rules description is added as a tooltip on the Actions panel. The tooltip describes which rule is violated and what steps need to be performed moving forward.
  • Hide/Show details for code review comments—Allows toggling visibility for long review comments (having lot of log snippets or images) using the Expand/Collapse option.

The Search Tab

This tab lets you search for code via TeamForge Code Search powered by Elasticsearch. You can search all files in a repository or narrow your scope to specific file types such as C, C++, C# and so on. Type your search keyword, select a file extension (optional) and click Search. For more information, see Search Code.

The Settings tab

This tab lets you configure the repository settings for both Git and SVN as follows:

  • General Repository Settings
  • Policy Settings
  • Replica Settings

General Repository Settings

In the General settings tab, you can configure the repository details such as:

  • Name—Name of the repository.
  • Description—Description about the repository.
  • Server—Server to which the repository is connected. Value includes the repository type (Git/Subversion), hostname, and the system ID.

    Example for Git:

      Git (exsy1002) 
       |                  |              |
       |                  |              |
    (repository type)  (hostname)     (system ID) 

    Example for Subversion:

      SVN ( (exsy1003)
       |                   |               |
       |                   |               | 
    (repository type)   (hostname)       (system ID)
  • Folder—Project folder that contains the repository.

Policy Settings

You can set up the policies required for both Git and Subversion to work as configured.

The following table provides the policy fields applicable for Git and Subversion.

Policies Git Subversion
Default Branch
Protect History
Repository Category
Submit Type
Git LFS Enabled
Max LFS Object Size
Webhook URLs
Custom Object ID Mappings

Default Branch

The default branch is the base branch in your repository, against which all pull requests and code commits are automatically made.

The default branch of a remote repository is defined by its HEAD. For convenience reasons, when the repository is cloned, Git creates a local branch for this default branch and checks it out.

master acts as the default branch of a Git repository, unless you specify a different branch. A Source Code Administrator can change the default branch on the repository.

Protect History

History protection archives rewritten changes and keeps backups of deleted branches. If history changes occur, an immutable backup ref is created in the remote repository, notification emails are sent to all members of the Gerrit Administrators group, and an event is logged in the audit log.

For more information, see History Protection.

Repository Category

You can control all Gerrit Code Review features directly from TeamForge by specifying a code review policy.

For more information on code review policies, see Control Your Code Review Policy.

Submit Type

Gerrit uses Submit type as the method to submit a change to the project. The submit type defines what Gerrit should do on submit of a change if the destination branch has moved while the change was in review.

For more information on submit type, see Submit Type.

Git LFS Enabled and Max LFS Object Size

Git Large File Storage (LFS) is a Git extension for versioning large files. Git LFS replaces large files such as audio samples, videos, datasets, and graphics with text pointers inside Git, while storing the file contents on a separate server (typically a remote server).

For more information on Git LFS, see Set up LFS.


Create associations between code commits and other CollabNet TeamForge items, such as tracker artifacts or documents, to help define relationships, track dependencies, and enforce workflow rules.

For more information on associating code commits, see Associate Code Commits.


This option, if enabled, indexes the content of the repository and makes the repository content available in search results.


This option, if enabled, hides the details in monitoring messages.

Webhook URLs

Webhooks can be configured both at a project level or for select repositories. Once set up, SCM events such as commit and merge are published to the Webhooks for other applications to consume.

For more information on setting up webhooks for repositories, see Set up Webhooks for Repositories.

Custom Object ID Mappings

Custom object ID mapping is a process in which you define a combination of regular expression and link URL that is used to dynamically create hyperlinks of custom object IDs used in commit messages. For example, you can define a custom object ID mapping to automatically linkify objects of an external application.

For more information on linkifying custom object ids, see Linkify Custom Object IDs in Code Browser.

Replica Settings

In this section, you can see how to add the Replica Server(s) to a Git repository or a Subversion repository. The Git or SVN repository is then replicated on the Replica Server(s) added to it.

Replicate a Git Repository

Before you replicate can replicate a Git repository, you must add one or more Git Replica Servers (also referred to as slave or mirror servers) with TeamForge. For more information on how to set up Git Replica Servers, see Set up Git Replica Servers.

It is assumed that you already have one or more Teamforge projects that consists of one or more Git repositories that you want to replicate.

  1. To start replicating a repository–go to the TeamForge project–select the Git repository you want to replicate, select the Settings tab and then select the Replicas tab.

    This page lists the available Git Replica Servers.

    If you don’t see any available replica server listed here, it may be because none were created for this Subversion server, or there are pending replicas which haven’t yet been approved by a TeamForge administrator.

  2. From the list of Replica Servers, click the Add button of one or more Replica Servers to have the server(s) replicate the selected repository.
  3. Click Save.
  4. Push a commit and verify if it’s replicated on the Replica Servers.

Replicate a Subversion Repository

When a Subversion Edge replica has been successfully registered with a TeamForge SCM integration server, it is available to project administrators in projects using that server to house repositories. To replicate a Subversion repository, you need to add it to one or more Replica Servers.

Before you can replicate a Subversion repository, you must first add one or more Replica Servers. This involves converting a Subversion Edge server, and then approving the replica in TeamForge.

  1. Click SOURCE CODE from the Project Home menu.

  2. In the list of project repositories, select the one you want to replicate and click Settings.

  3. Select the Replicas tab. The available replica servers are listed here.

    Here’s an example:

    If you don’t see any available replica server listed here, it may be because none were created for this Subversion server, or there are pending replicas which haven’t yet been approved by a TeamForge administrator.

  4. From the list of Available Replica Servers, click Add of one or more Replica Servers to have the server(s) replicate the selected repository.

  5. Click Save. Now the replica server is the hosting server for the repository.

    Push a commit and verify if it’s replicated on the Replica Servers.