Reputation: 1451
Basically, There are two different Svn server and each one of them used by different groups are working on the same project. I am trying to find out a way to merge changes using svn's functionality.
In order to make Test: I have created two repository (file:///D:/FirstRepo
and file:///D:/SecondRepo
) in my local and added same file(test.txt
) like a project. After changed the file in first repository, I created a patch and apply the patch to other repository. It does not work properly. If these two files are not synchronized (files' contents are completely same), the patch that created comes empty.
So, what way should be selected to achieve this goal? Is my way good approach and Is it developable?
Thanks in advance.
Note:
Upvotes: 1
Views: 126
Reputation: 2304
-- In response to your last comment.
Oh, well if that's the case, then yeah I definitely have a solution for you. I thought you had something different in mind.
Even if your teams don't communicate, you can still host the code under the same repository and even if you host the two teams under the same repository, you can give the groups access/block access down to specific directories and they will never see the others.
Subversion supports Path Based Authorization where you basically take a set of groups, and you give them permissions to the directories as they are required.
So let's say you have two groups: team-one
and team-two
, and these two teams, as you say have access to only these specific directories. If you setup authz file authorization, you can explicitly set permissions on all of your directories in your repository, therefore, you will only need one repository.
[groups]
admins = krezus
team-one = chris, john
team-two = jim, ted
[RepoName:/MyProject]
@admins = rw
[RepoName:/MyProject/trunk]
@team-one = rw
[RepoName:/MyProject/branches]
@team-two = rw
[RepoName:/MyProject/tags]
@team-one = rw
@team-two = r
In this quick example, you're the admin. Therefore, you have access to everything under RepoName/MyProject
. team-one
being the main development team, they have read-write
access to the trunk
and tags
. team-two
won't have access to any of these files under trunk.
However, during your dev cycle, you periodically make "releases" of your code for team-two
to use. You can then make a tag of your trunk
at a certain revision and copy it to the tags
directory. team-two
can read the tag and they can pull changes into any of their code under branches
, which no one has access to except them.
The would cover pretty much everything you're trying to accomplish:
Upvotes: 1