Problem
Source Control (SCM) products are used to manage multiple versions of project files, allowing you to save a new version, revert to an older version, and compare between different versions. This is a valuable feature when you introduce bugs in the process of modifying your project. Most new source code management (SCM) products provide a source control system (SCCS) developed in the Bell lab, in addition to managing the versions of each file.
Even for small projects, each developer should use source code control (SCM). Turning small projects into large projects is inevitable, although it is only necessary to fix bugs and add functionality to the job. The ability to track and manage software is a key factor for success.
Application deployment is sometimes problematic: you need to place the correct file--java descriptor (JAD) and Java Archive (JAR) in the correct location under the Web server file root (docroot). Having an automated solution is simpler than a manual process.
This technical article uses the following components:
NetBeans IDE
Subversion Source code Management--Client and server
Sun Java System Web Server
Sun Ultra 25 Workstation (I call it peg), which runs on the Solaris OS, Yundang Subversion server and Web server
Virtual PC for Microsoft Windows XP operating system, using NetBeans IDE for Java ME Development
Subversion
Subversion, commonly called SVN, is an open-source source control (SCM) system that can be run on many platforms. In this article, the SVN server runs on the Sun Ultra 25 workstation, and the client software runs in Windows XP. The packages used by the server installation are available from sunfreeware.com. Sunfreeware.com is a popular web site that provides open source packages (available from a long list of Solaris OS distributions).
To install the server, simply download Pkgtrans and Pkgadd. The only downside to this process is to download and install the 11 additional packages required by Subversion to run on the Solaris OS.
I put all the SVN storage inventory in a separate directory. This simplifies the running environment of the SVN server. It also facilitates backup of various repositories.
The server is started with the system using/ETC/INIT.D. SVN's RC file/etc/init.d/svnserve contains the following:
#!/sbin/sh
#
# SVNSERVE - manage the SVN server.
#
case "$1" in
'start')
if [ -x /usr/local/bin/svnserve ]; then
/usr/local/bin/svnserve -d -r /export/home/shared/svn/
fi
;;
'stop')
if /usr/bin/pgrep svnserve >/dev/null 2>&1; then
pkill svnserve
fi
;;
'restart')
/etc/init.d/svnserve stop
/etc/init.d/svnserve start
;;
esac
exit 0
This is a hard connection to the/etc/rc2.d/s98svnserve. As a result, the SVN server starts when the system starts.