calbzam Posted July 4, 2013 Report Share Posted July 4, 2013 Hi, We recommend to separate projects in different repositories: (1 repository per project). This way, if you need to combine different projects, you can use Xlinks to combine the repositories. The advantage of using Xlinks is that you can configure view permissions for the different repositories. You can also mount the different repositories (projects) according your needs. I think Xlinks would fit in your scenario (http://www.plasticscm.com/releases/4.1/manuals/en/xlinksguide.pdf) repA |______ repB |______ repC |______ repD repA is repository who has links to other repositories (projects). You can manage permission at repository level to configure the different users you want to access to repB, repC, rep D. For example: user1: with permissions to all repositories user2: with permissions to repD. Regards, Carlos Link to comment Share on other sites More sharing options...
green Posted July 10, 2013 Author Report Share Posted July 10, 2013 Thank you Carlos. I think that in this way it is very difficult to manage but I'll try this setup asap. Link to comment Share on other sites More sharing options...
calbzam Posted July 10, 2013 Report Share Posted July 10, 2013 Ok, let us know if you need assistance you with the setup. Regards, Carlos Link to comment Share on other sites More sharing options...
green Posted August 20, 2013 Author Report Share Posted August 20, 2013 I tried to solve my problem by xlinks. Unfortunately it does not work (plastic scm v 4.2.39.466). Here is my test setup: Repositories: - Subproj1 - Subproj2 - SubProj3 - TestProject TestProject is main project with xlinks, it has directories: Subproj1 (xlink to Subproj1 repo) Subproj2 (xlink to Subproj2 repo) SubProj3 (xlink to Subproj3 repo) Users: - admin. Admin has access to all repos - user1: User has access to Subproj1, Subproj3 but not to Subproj2 (user1 has deny all permissions to Subproj2 repo) I have some files in all repos, now user1 want to checkout TestProject files and he see message about update problems: "Path: Subproj2 You don't have permissions for operation view". It's confusing because user1 should not know anything about Subproj2. Worse: plasticscm creates an empty directory Subproj2 in user1 workspace. User1 look at it and comes to the conclusion that the directory is unnecessary. So delete it and make checkin. Consequently xlink to Subproj2 is deleted in the main project. So User1 can make changes to mainproject and destroy the xlink configuration. His mistake affects other users. In old plasticscm version (with permissions on file/directory level) I could completely hide the directory from the user. The user can do checkin/checkout and not know anything about hidden directory. Why in the current version that is not possible? This means that the program is useless in more advanced configurations. Link to comment Share on other sites More sharing options...
calbzam Posted August 20, 2013 Report Share Posted August 20, 2013 Hi, In your scenario, (if you want to completely hide the directory from the User1), the best solution would be to a create two repositories. Admin user uses "Admin_repo" and User1 uses "Outsourcing_repo", where only has two Xlinks charged. e.g: Admi_repo - Subproj1 - Subproj2 - SubProj3 Outsourcing_repo - Subproj1 - SubProj3 This way, you avoid "User1" to commit changes to "Subproj2" repository. Regards, Carlos Link to comment Share on other sites More sharing options...
green Posted August 21, 2013 Author Report Share Posted August 21, 2013 Hi, In your scenario, (if you want to completely hide the directory from the User1), the best solution would be to a create two repositories. Admin user uses "Admin_repo" and User1 uses "Outsourcing_repo", where only has two Xlinks charged. e.g: Admi_repo - Subproj1 - Subproj2 - SubProj3 Outsourcing_repo - Subproj1 - SubProj3 This way, you avoid "User1" to commit changes to "Subproj2" repository. Regards, Carlos Yes, this is a solution. But this solution is acceptable only for simple setup. This is no problem if you have small number of users (or user groups). What if I have more users with different rights? For example: I have admin and five users. Each of these users have access to a common repository, and each has its own repository. So I need: common repository, five subproject repositories, six (admin + five users) user repositories with xlinks In summary: 12 repos for one simple project ... And I need to edit xlinks after user changes. For example If admin make changes in common repo, each user must change xlink to common repository. In branch explorer user dont see the changes in common repo, so admin must send message to the user about new version. This all is very complicated .... Is there any other solution ? Old permissions system on file/directory level was good for our needs. Why it was changed in the new version ? Link to comment Share on other sites More sharing options...
calbzam Posted August 22, 2013 Report Share Posted August 22, 2013 Hi, In your scenario you could need more repos, but it´s only in case you need to completely hide the directory from the User1. The more common workflow using Xlinks is to have a repo containing some lineked subrojects. Then you can edit user permissions at repository level. For instance, you can deny checkin permissions to "User1" in "Subproj2" and deny chekin, remove, add and move permissions to "User3" in "Subproj2". If you need to completely hide the directory from a user, the best solution would be to a create a new repository as I explained in my last post. We have companies that have 2 or 3 profiles (eg. developers, outosourcing, designers) and they create a custom repo for each profile using Xlinks, but not a repo per every Plastic user. Regarding the problem of two people working on the same Xlink: Let´s say that "User1" make a change in a common repo. "User2" doesn´t know about this change and perform another change. A merge window will appear, and after the merge, a new changeset is created. Your Xlink will point to the last changeset (you don´t need to manually edit it). In Plastic 4, you can also manage path permissions. Right click on a file --> Path permissions. Regards, Carlos Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.