• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 497
  • Last Modified:

How can I work on a Subversion branch in a different repository?

I would like to make a fairly major change to a publicly-available project tracked by Subversion, but I do not have commit privileges on the public repository.  I do, however, have my own Subversion repository so I would like to store my version of the project there.  The important functionality I want to retain is the ability to merge changes to the public trunk to the "branch" stored on my repository.  What is the best way to do this?  If possible, I would like to do this with the TortoiseSVN client.

I have tried to "Merge a range of revisions" in TortoiseSVN while leaving the revision range blank, but this generates conflicts even on files that I have not changed (but have been changed in the public trunk).
0
bjp1662
Asked:
bjp1662
  • 2
1 Solution
 
jaredbooneCommented:
This is not possible using TortoiseSVN. There are perl and python versions of a script called svn-merge-repos.
0
 
sailingbyeCommented:
I believe svn externals will do what you want [1].  It allows you to define an 'external' repository for part of your working copy, such that when you update your working copy, updates are automagically pulled from all repositories.

I'm sorry, but I don't have any experience of using it with TortoiseSVN.

[1] http://svnbook.red-bean.com/en/1.0/ch07s03.html
0
 
bjp1662Author Commented:
sailingbye, that is definitely a useful feature, but I don't think it solves the problem of of being able to merge changes in a remote repository with changes in a local repository.

jaredboone, I was afraid of that.  I'm looking into the script you suggest, but so far it seems like it's intended more as a one-time-use way to integrate two disparate projects into one repository rather than a way to effectively merge different versions of the same files from different repositories -- am I misreading the description?

I'm surprised a tool for doing this sort of thing isn't more prominent; it seems like anyone who wants to make their own changes to an open-source project (which they don't have commit access to) while keeping up with changes to the public open-source project would need something like this.
0
 
sailingbyeCommented:
>but I don't think it solves the problem of of being
>able to merge changes in a remote repository
>with changes in a local repository.

I'm confident it does. When you perform an update, Subversion will merge changes from the repository with local changes if possible, in exactly the same way that it does with a repository that you do have permission to commit to. If a merge is not possible then a conflict occurs and you resolve it in exactly the same way.

0

Featured Post

Hire Technology Freelancers with Gigs

Work with freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely, and get projects done right.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now