[sldev] Setting up source version control, for beginners?

Dale Mahalko dmahalko at gmail.com
Mon Aug 4 14:40:00 PDT 2008

I have some more Mercurial n00b questions.

I'm not really sure how to be creating the repository.  I am using the
entire \indra\* directory path, since that is where all the *.cpp and
*.h are located, but should it really include all of \linden instead?

And how to deal with the compiler's data files which dump into the
\indra directories? I am assuming I don't want compiler files in the
repository because they are unnecessary and I won't care about changes
to compiler *.obj files. Here's what I am seeing with my experimental
repository config:

1. Initialize new repository using \linden\*
2. Compile the viewer in "debug" mode.
3. hg status

M indra_complete\indra_complete.sln
? compilechange
? indra_complete\indra_complete.ncb
? indra_complete\indra_complete.suo
? lib\python\indra\__init__.pyc
? lib\python\indra\ipc\__init__.pyc
? lib\python\indra\ipc\compatibility.pyc
? lib\python\indra\ipc\llmessage.pyc
? lib\python\indra\ipc\tokenstream.pyc
? lib_debug\i686-win32\llaudio.lib
? lib_debug\i686-win32\llcharacter.lib
? lib_debug\i686-win32\llcommon.lib
? lib_debug\i686-win32\llimage.lib
? lib_debug\i686-win32\llimagej2coj.lib
? lib_debug\i686-win32\llinventory.lib
? lib_debug\i686-win32\llmath.lib
[. . . .]
? newview\libeay32.dll
? newview\ortp.dll
? newview\srtp.dll
? newview\ssleay32.dll
? newview\tntk.dll
? newview\vivoxsdk.dll
? newview\wrap_oal.dll
? win_crash_logger\Debug\BuildLog.htm
? win_crash_logger\Debug\StdAfx.obj
? win_crash_logger\Debug\llcrashlogger.obj
? win_crash_logger\Debug\llcrashloggerwindows.obj
? win_crash_logger\Debug\vc70.idb
? win_crash_logger\Debug\vc70.pdb
? win_crash_logger\Debug\win_crash_logger.obj
? win_crash_logger\Debug\win_crash_logger.pdb
? win_crash_logger\Debug\win_crash_logger.res
? win_crash_logger\win_crash_logger.exe
? win_updater\Debug\BuildLog.htm
? win_updater\Debug\updater.obj
? win_updater\Debug\vc70.idb
? win_updater\Debug\vc70.pdb
? win_updater\Debug\win_updater.pdb
? win_updater\updater.exe
? win_updater\updater.ilk

After each compile, do I need to be issuing a command to Mercurial
that says, "don't record changes to any of those files" ?

Should I be configuring the compiler to store its temporary *.obj
files, etc, somewhere else outside indra\* ?

..... or do I need to be much finer-grained about what goes into the
repository, such as only including the *.cpp and *.h files rather than
entire source directory trees, so it won't notice those added compiler

- Scalar Tardis / Dale Mahalko

More information about the SLDev mailing list