You description is not sufficient (yet). So I describe something that could possibly work (I don't like it ...).
- Create a repository on server X.
- Checkout part of the repository (that you want to be the live part) on the server X in directory
svn-web
. - Ensure that
svn-web
is served by apache, and try to hide the directorysvn-web/.svn
, so that it is not visible to the users through the browser. Or serve only a sub-directory ofsvn-web
by Apache, sosvn-web/.svn
is hidden automatically. - Implement a post-commit-hook (like described in SVN Red Book).
- Include in that hook the following:
cd svn-web; svn update .
Then the following will happen:
- A developer changes some part of the directory tree of
svn-web
locally. - When he has finished his changes, he will commit them.
- If the commit is successful (pre-commit does not deny it), the post-commit hook will be triggered.
- An update will be done on the server in the checked out directory, so that the next web request will see the different sources.
Why I don't like it?
- Not every commit in Subversion is self-contained, so there may be intermediate states that are not "nice" for the end user.
- There is no test, integration, ... phase to find bugs before they are found by the end user.