0

Question 1:

I'm setting up a SVN server on for development, how do I serve the files from the /var/www/ which is my root of my website which I'd like to manage the files via SVN that would reflect the root of /var/www/ for changes I commit to my server.

Currently my development files are in /var/www/ but I have followed a tutorial which is at /home/svn/, how should I change it to the website root (/var/www/) instead of /home/svn/?

Question 2:

Also, I have another two related questions, when I run this command:

svnserve -d --foreground -r /home/svn

I can connect to my SVN server, however the command doesn't seem to finish, it looks like it's waiting for a response when running the command, so I stop it by doing ctrl & c (^C) (Mac) which stops the connection that doesn't let me connect to the server any more. So how do I keep it active when not using Terminal for development?

Question 3:

Another question, when I navigate my browser to:

http://mydomain:3690

I get this output:

( success ( 2 2 ( ) ( edit-pipeline svndiff1 absent-entries commit-revprops depth log-revprops partial-replay ) ) ) 

Is this a security risk? If so, what should I do to prevent this risk?

They are the three questions I have to ask.

MacMac
  • 2,061
  • 10
  • 31
  • 38

2 Answers2

0
  1. Use repository as site source is just impossible - repository is database, not physical files
  2. You can use Working Copy of repository as site (result of svn co|svn up), but it have (some, possible) security flaws
  3. svnserve starts daemon, which handle svn:// access protocol to repositories, run it a) always b) in background
  4. svnserve isn't http, you haven't http-based repo with svnserve on 3690 port. You must access repo in this case with svn://mydomain:3690 (can't say more about svnserve configuration, never used it)
Lazy Badger
  • 3,137
  • 15
  • 13
  • I'm sorry, could you clarify #2 and #3 because I don't understand what you mean by the command and the security flaws (explain what flaws there are). Also, how to run svnserve without daemon to run actively. – MacMac Feb 15 '12 at 21:35
0

Firstly, you seem to be confusing Subversion and Web servers.

  1. You probably want to create a Subversion repository somewhere on disk (e.g. /data/svn) with svnadmin. Next, check out said repository and add all the files from your web root to it. Finally, checkout the repository to /var/www with svn co.
  2. Don't run svnserve with --foreground - the option does what you expect it to! If you just run svnserve -d then it will run as a background daemon.
  3. You're confusing svnserve with a web server. Port 3690 is the svnserve port and expects an svn client to talk to it using its native protocol. If you want to do it via HTTP you need to add something like mod_dav_svn in Apache.
James O'Gorman
  • 5,329
  • 2
  • 24
  • 28
  • Okay, I don't understand. I'm new with subversion, I don't understand the part with #1. I created `/data/svn` and executed `svnadmin create /data/svn`, how can I "check out" and add the files to it (I use Cornerstone as my SVN client) so it'll reflect the root my domain which will show live changes made towards my site with my commits. Lastly, I'm not asking to have the HTTP protocol, I want only to allow connections made through the svn:// protocol, as you can access the `domain.com:3690` that shows the output in my post. – MacMac Feb 16 '12 at 13:51
  • Sorry, but "how do I do version control" is _far_ too broad to be covered on a Q&A site. – James O'Gorman Feb 16 '12 at 13:53
  • So there's no point of me asking this here then? I'm only asking how to reflect a repository to the root that shows every change when viewing the site. – MacMac Feb 16 '12 at 14:17
  • So... do you have anything to say? – MacMac Feb 16 '12 at 19:57
  • I suggest you read the [Subversion book](http://svnbook.red-bean.com/) and create a test repository before going any further. – James O'Gorman Feb 16 '12 at 20:38