Search code examples
svnubersvn

How can I add a new user in UberSVN?


How can I create a new account (username & password) in UberSVN (WANdisco)?

My SVN client and my SVN server are running on Windows machines.


Solution

  • Where is the SVN folder on the server?

    Let's suppose that all you know is an URL (because you are just a client) - E.g.: my-host:9870 (replace the host and the port with your values).

    1. Connect to my-host using Remote Desktop Connection

    2. Open a cmd and type:

      echo off & (for /f "tokens=5" %a in ('netstat -aon ^| findstr 9870') do tasklist /FI "PID eq %a") & echo on
      

      You will get an output like this:

      Image Name                     PID Session Name        Session#    Mem Usage
      ========================= ======== ================ =========== ============
      httpd.exe                      405                            0        488 K
      

      So, based on your port number, you managed to see the process image name and PID.

    3. Based on the image name or on the port, you can find the path of the executable file.

      E.g.:

      WMIC PROCESS get Caption,Commandline,Processid | findstr httpd.exe
      

      You can also use PowerShell for this.

      One of the output lines:

      httpd.exe             "C:\Program Files\WANdisco\uberSVN\bin\httpd.exe" -k runservice
      

      So, you found the SVN folder location: C:\Program Files\WANdisco\uberSVN\.


    How can I create a new user?

    1. Open a cmd and change the path to: C:\Program Files\WANdisco\uberSVN\bin.
    2. Type:

      htpasswd.exe -nb newuser newpassword
      

      where newuser and newpassword will be replaced with the values you want.

      Possible output:

      newuser:$apr1$Zyy11URO$nipJKOkb45Z8KaTInv32o1
      

      If you need some advanced options, just type htpasswd.exe to see what you can do with this executable.

    3. Using explorer, go to C:\Program Files\WANdisco\uberSVN\conf and identify the files: svn.authz and svn.passwd.

    4. Open svn.authz and add the new user.

      There is a line like this:

      RW__Everyone = user1, user2, user3
      

      Just change it to:

      RW__Everyone = user1, user2, user3, newuser
      
    5. Open svn.passwd and add the output from point 2 as a new line at the end of the file:

      newuser:$apr1$Zyy11URO$nipJKOkb45Z8KaTInv32o1
      
    6. Now it works without a server restart. You can test it from the client side (browser, Tortoise SVN, etc.).