1

I have a remote SVN repository that I have no permissions to administrate. That repository server has no extra features except of regular SVN operations, and it does not contain any (useful) SVN hooks. I'm interested in setting up of some kind of a local proxy (not sure how exactly it may be called) to the remote repository (e.g., when someone commits the changes to the local "virtual" repository, the local server must commit the changes to the remote one), and it would be really and really great if such a proxy could support SVN hooks so I could configure my local (or LAN) set of SVN hooks.

So what I'm looking for is, let's say, just like a regular proxy server but that behaves like a "virtual" SVN server. Is it possible at all (especially for Windows)?

Thanks in advance.

P.S. Sorry for probably not so clear explanation.

Lyubomyr Shaydariv
  • 20,327
  • 12
  • 64
  • 105
  • Would the client side hooks of TortoiseSVN be good enough? – Albin Sunnanbo Dec 09 '11 at 18:08
  • @Albin, not really. It would be nice to share the common set of SVN hooks for all members of the development team (+ it does not require any configuration management for any member locally). Another reason is that some people prefer TortoiseSVN, but some others prefer, let's say, IntelliJ IDEA internal SVN support. – Lyubomyr Shaydariv Dec 10 '11 at 07:39

1 Answers1

0

There are at least two known for me solutions of this problem.

The first is a detailed configuration of the remote master and the local slave SVN-servers using the slave-side SVNMasterURI directive. As far as I understand at the moment (but I still have not tried it yet) considering a proposed solution, this solution may have some difficulties: using svnsync (it may cause absolute synchronization with the master repository - that is not always fine); master server specific configuration, but that is not always possible because of no permissions to administrate the master repository; some possible problems of the slave repository work; as far as I understand the scope of SVNMasterURI directive, total submission of entire slave server (not a single slave repository) to the master one.

The second, probably simplier, solution is using of Mercurial with the hgsubversion extension installed, configuring the shared local Mercurial repository, and enabling the commit.autopush hook. Unfortunately, this solution has at least a few problems to me: our development team won't be very happy to learn Mercurial just to use build/email/test hooks (these changes are too radical, sure + that does not mean rejection of the master SVN ideology); as far as I understand, slave Mercurial repository revision numbers mismatch the master Subversion repository revision numbers leaving us confused.

Community
  • 1
  • 1
Lyubomyr Shaydariv
  • 20,327
  • 12
  • 64
  • 105