[gentoo-user] Re: OT: Copy directories in a special manner

2011-02-05 Thread Nikos Chantziaras

On 02/05/2011 09:05 AM, meino.cra...@gmx.de wrote:

  There are two directories called 'source' and 'target'.

  'source' gets updated via 'svn up', then it gets compiled.
  Since there is no make install or similiar, installation
  is done via copying 'source' to 'target'. A symlink from
  /usr/local/bin/name  to the compiled executabe in (now)
  'target' completes the installation.

  BUT:
  'source' is a VERY big directory and copying it to 'target'
  after each svn up is a PAIN.


Of course it's big, since it has all SVN data in it too.  You will find 
that after you delete that data with something like:


  rm -rf $(find . -name *.svn)

It will become much smaller.




Re: [gentoo-user] Re: OT: Copy directories in a special manner

2011-02-05 Thread Florian Philipp
Am 05.02.2011 10:06, schrieb Nikos Chantziaras:
 On 02/05/2011 09:05 AM, meino.cra...@gmx.de wrote:
   There are two directories called 'source' and 'target'.

   'source' gets updated via 'svn up', then it gets compiled.
   Since there is no make install or similiar, installation
   is done via copying 'source' to 'target'. A symlink from
   /usr/local/bin/name  to the compiled executabe in (now)
   'target' completes the installation.

   BUT:
   'source' is a VERY big directory and copying it to 'target'
   after each svn up is a PAIN.
 
 Of course it's big, since it has all SVN data in it too.  You will find
 that after you delete that data with something like:
 
   rm -rf $(find . -name *.svn)
 
 It will become much smaller.
 
 

Easier (but untested!):
rsync -a --delete --exclude .svn/ source/ target

Excludes every directory called .svn from the transfer. Make sure to
include the slash after .svn or otherwise it matches files called .svn

Also take note that rsync changes its behavior depending on trailing
slashes on the source directory.

rsync -a source/ target
copies all content from source to target. For example source/foo ends up
as target/foo.

rsync -a source target
copies all content from source to target/source. For example source/foo
ends up as target/source/foo

Hope this helps,
Florian Philipp



signature.asc
Description: OpenPGP digital signature