Version 58, last updated by Titas Norkunas at August 22, 2011 00:24 UTC

The code browser renders pages in the Source/Git and Source/SVN tools.  It communicates with repository servers.  Follow these instructions if you will work on features that use the repositories servers, including the Source/repo tools, and the FTP publisher and Server tools.

Install Additional Software

  • Follow instructions in the section Install Software of Setup a subversion server wiki page. That section is enough for code browser installation, so you don't have to configure Subversion in case you decide to go with Git server instead for instance.

Setup other components

Configure code browser

  • The code browser is disabled by default. Enable it in the config/settings_local.yml:
    rcb_processor_enabled: true
    rcb:
      svn_rpc_repos: :all
      grit_clouds: true
      fork_disk_limit: 314572800
      temp_dir: /tmp
      svn_root_dir: /srv/breakout/svn
    # git_root-dir: /srv/breakout/git
      max_diff_size: 512000
      enabled: true
      rpc_ports:
      - 9999
      enable_diff_comments: false
      host_dir_map:
        svn.localhost: /srv/breakout/svn
        # hg.localhost: /srv/breakout/hg
        # git.localhost: /srv/breakout/git/repositories
      show_fork_tool_to: :all
      cc_fs_ports:
      - 9999
      git_nodes_cache: true
      # run_mercurial_tests: true
      show_compare_view: true
  • The host_dir_map option used to lookup repository directories by their associated host name. Multiple host names in host_dir_map can map to the same directory, however host_dir_map should not contain duplicated host names.

    If the repositories are served by a seperate repo server, then you must mount these directories (using NFS, smb, sshfs, etc.) from the remote repo server.

    If the repositories are served from the same host as breakout, then you must use distinct domains for different tool repositories. I.e.
    svn.localhost for Source/SVN and git.localhost for Source/Git). Note: do not forget to edit /etc/hosts and add aliases:
    127.0.0.1 svn.localhost
    127.0.0.1 git.localhost
    Checkout the Admin/Tool servers page (http://localhost:3000/tool_servers), enter Dns for Source/Git and Source/SVN. In this example it is svn.localhost and git.localhost.

    Sample breakout-control/etc/control.yml:
    subversion:
    base_dir: /srv/breakout/svn
    git:
    base_dir: /srv/breakout/git
  • For FtpTool, add this to config/settings_local.yml:
    svn_diff:
    enabled: true

Launch the application

To run the RCB tests:

rake rcb:test
# or
rake rcb:test:units

That allows you to run only the code browser tests without running all other application tests.