/stdhome

To get this branch, use:
bzr branch http://bzr.ed.am/stdhome

« back to all changes in this revision

Viewing changes to lib/stdhome/walker/copy_in.py

  • Committer: Tim Marston
  • Date: 2016-12-13 21:40:34 UTC
  • Revision ID: tim@ed.am-20161213214034-nd5t7ztnlrjd627i
fix add command and generic filename expansion/resolution to expend to
homedir-relative filename and absolute filename based on original filename, as
specified, rather than a fully, symlink-resolved filename.  So, e.g., if ~/bob
was a symlink to ~/fred, then ~/bob/a would resolve to the relative filename
bob/a, becuase it is inside the homedir (it would resolve to fred/a otherwise)

Show diffs side-by-side

added added

removed removed

Lines of Context:
21
21
 
22
22
from copy_base import CopyBaseWalker
23
23
import stdhome.the as the
 
24
from stdhome.file_matcher import FileMatcher
24
25
 
25
26
 
26
27
class CopyInWalker( CopyBaseWalker ):
32
33
        Walker traversing:   repo
33
34
        """
34
35
 
35
 
        def __init__( self ):
 
36
        def __init__( self, walk_files = None, report = False ):
 
37
                CopyBaseWalker.__init__( self )
36
38
                self.src_dir = the.full_home_dir
37
39
                self.dst_dir = the.repo.full_dir
38
 
                self.walk_list = self.generate_walk_list( the.repo.full_dir )
39
 
 
40
 
                self.changed = list()
41
 
 
42
 
 
43
 
        def print_op( self, rel_file, operation ):
44
 
                print "  %s %s" % ( operation, rel_file )
 
40
                self.walk_list = walk_files if walk_files is not None else \
 
41
                                                 self.generate_walk_list( the.repo.full_dir )
 
42
                self.check_src_symlinks = True
 
43
                self.report = report
 
44
 
 
45
 
 
46
        def print_op( self, rel_file, src, op, dst ):
 
47
 
 
48
                CopyBaseWalker.print_op( self, rel_file, src, op, dst )
 
49
 
 
50
                # verbose reporting
 
51
                if the.verbose >= 2:
 
52
                        if op == '*': op = '>'
 
53
                        print "  %s%s%s %s" % ( src, op, dst, rel_file )