[mythtv] Best way to use SVN version for deployment?

Bruce Markey bjm at lvcm.com
Sat May 26 21:23:56 UTC 2007


aaron wrote:
> On 25/05/07, Michael T. Dean <mtdean at thirdcontact.com> wrote:
>> On 05/25/2007 04:52 PM, aaron wrote:
>>> Why's that?  (getting off topic...)
>>>
>> A lot of reasons--from permissions to symbolic and hard link handling
> 
> <.. snip lots of good stuff ..>
> 
> Hm. I guess I've been lucky all these years... or I just haven't
> copied source directories as often as I thought I had. :)

Your 'luck' will hold out for the foreseeable future. I always
use "cp -rp". There are no hard links or symlinks in the source
tree or as a result of compiling and you shouldn't be deleting
directories and reusing the inode to create a plain file while
the copy is in progress ;-). "cp" has correctly copied files on
UNIX based systems for about forty years as one of the most basic
commands. If cp should ever fail, it is a clear indication that
there is something seriously wrong with the system.

The key for source dirs is to be sure to use "p":

  -p     same as --preserve=mode,ownership,timestamps

  --preserve[=ATTR_LIST]
         preserve   the   specified   attributes   (default:  mode,owner-
         ship,timestamps), if possible additional attributes: links, all

for the timestamps to be preserved so that "make" can determine
what does or doesn't need to be recompiled. I normally checkout
a clean copy from svn and compile. Next,

$ mkdir foo
$ cd foo
$ cp -rp ../mythtv/ .
$ cd mythtv
$ patch -p0 < ../../somethingbrilliant.diff
$ make && make install

I have a different tree for each thing I work on and only need
to recompile for the files that change in that diff or files I
edit.

--  bjm




More information about the mythtv-dev mailing list