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.
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
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:
- Log into the Fisheye admin
- Go to the Groups administration page
- Create the corresponding group
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)
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.
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.
Using forks will only allow you to see the hierarchy of the different repositories displayed as a tree.
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.
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.