Get hands-on training for JIRA Software, Confluence, and more at Atlassian Summit Europe. Register now ›

One of the huge features recently introduced in FishEye 2.7 is Git repository management. When the FishEye team thought of this feature our goals were two-fold:

  • Allow enterprises to get or migrate to Git repositories behind their firewall
  • Make it simple to configure repositories permissions for teams

Git is a powerful tool for teams moving to distributed version control – but it is more powerful when you have the right workflow on top of it. Let’s walk through a concrete way of setting up your FishEye instance to leverage DVCS.

Team organization

Dev teams can have many structures and we decided to use a simple example (below) that you can adapt to your own organization and process.

  • 2 projects: Project A and Project B
  • 2 roles: developers and dev leads

config-team.jpg

In the model above each project has a corresponding repository and group. Each group will have read and write permissions on their project repositories. To allow developers to contribute, you will add them to the group related to the project they will be working on.

If you have members of your team (tech leads, architects…) that need cross-repository write permissions you can setup a separate group.

Setup your repositories in FishEye

Let’s create the structure mentioned above in FishEye.

Before you begin, create developer groups for each of the repositories that you have and create a group for dev leads / tech leads that need to get write permissions across all the repositories.

Doing so is pretty simple:

  1. Log into the FishEye admin
  2. Go to the Groups administration page
  3. Create the corresponding group

create-groups-1.png

 

After you have created all of your groups, the next step is to setup repository permissions.

  • Navigate to the Repositories administration page
  • Click on the name of the repository you are interested in (search for it in the repository search filter if needed)

repo-1-1.png

  • Configure the permissions according to the structure that you want to have

permissions-1.jpg

FAQ & recommendations

Use branches instead of forks

We have forks support in the administration, but it will be faster for you and your team to use branches.

You can easily push your branches in FishEye using the command line interface.

Assuming that you have a branch called feature-branch and that you named the remote FishEye Git repository origin the command below will push feature-branch to FishEye.

image2011-8-19+15-11-0.jpg

The other advantage of using branches over forks in FishEye 2.7 is
that you will be able to use the commit graph to visualize and monitor the structure of your code.

commit-graph.jpg

Using forks will only allow you to see the hierarchy of the different repositories displayed as a tree.

forks.jpg

What if a developer has to work on several repositories?

Just add him / her to the dev-group of the repository. You will have a situation like the following one.

config-team2.jpg

Try our managed Git repositories on FishEye

Download FishEye 2.7 now to get started with a 30-day FREE trial or upgrade your current instance.

If you have any questions on any FishEye features email me directly at spittet at atlassian dot com.

Fresh ideas, announcements, and inspiration for your team, delivered weekly.

Subscribe now

Fresh ideas, announcements, and inspiration for your team, delivered weekly.

Subscribe now