Hello,
We plan to work on main software codes and additional development codes in a software project.
We do not want developers who develop on the main software to see the source codes that emerge during the additional development process.
We cannot solve this problem by separating it on a branch basis. If I had to explain with an example,
Developers named A,B,C will only be able to work on ABC Branch,
Developers named D,E will only be able to work on DE Branch....
A user with the Admin role will manage the entire project and prepare the final version by merging it.
Is it possible to do this on a Branch basis? Is there a detail we missed?
Or;
If I want to do it on a repository basis, is there a structure where we can publish the codes by performing a weekly repository merge?
Hi Samet,
Unfortunately - this is not possible on a branch basis. If a user has READ access (at a minimum) to a repository, they will be able to see all of the code within that repository.
On a repository basis you could do this using project permissions - ie users in ProjectA only have access to the repository in ProjectA, users in ProjectB only have access to the repository in ProjectB.
A possible approach is to create a fork from RepoA (ProjectA) into ProjectB, this way the users in ProjectB can work on the forked repository - once the work is done, an admin can create a PR to merge the changes into the original repository (ProjectA). The problem with this is that you would need to delete the fork each time (to avoid divergence) and no one would be able to work on the original repo while the changes are being made to the fork (also to avoid divergence). The other issue is that once you perform a fork again so that users in ProjectB can perform further work - users in ProjectB would see those changes from prior that are meant to be hidden.
The underlying issue here is that you cannot restrict users with repo access from seeing any of the code in that repo.
Cheers!
- Ben (Bitbucket Cloud Support)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.