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

Ryan Williams (Which) rdw at lindenlab.com
Tue Aug 5 10:47:08 PDT 2008


Dale Mahalko wrote:
> 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\debugview.pdb
> ? 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
> files?
>
>   
The .hgignore file will help you here:

http://www.selenic.com/mercurial/hgignore.5.html

I believe you will want to also un-add any files that are purely build 
artifacts (the .sln is one of those since it's generated by cmake).

-RYaN


More information about the SLDev mailing list