38
38
self.src_dir = the.repo.full_dir
39
39
self.dst_dir = the.full_home_dir
40
40
self.walk_list = walk_list if walk_list is not None else \
41
self.generate_walk_list()
41
self.generate_walk_list( the.repo.full_dir )
43
43
self.modified = list()
44
44
self.missing = list()
50
50
# entity is missing in home dir?
51
51
if dst.type == '_':
52
if the.verbose >= 2: print " _|%s %s" % ( dst.type, rel_file )
53
if not the.config.ignores.matches( rel_file ):
54
self.missing.append( rel_file )
52
self.missing.append( rel_file )
56
54
# if a directory is missing in the home dir, we only really want to
57
55
# hear about that and not all the files it contains (which are also
61
59
# entity has changed type?
62
60
elif dst.get_type_name() != src.get_type_name():
64
# is it a directory that has changed to a symlnik to a directory and
65
# is an acceptable substitution?
66
if src.type == 'd' and dst.link_type == 'd' and \
67
the.config.symlinks.matches( rel_file ):
68
if the.verbose >= 2: print " d@d " + rel_file
72
print " %s|%s %s" % ( dst.type, src.type, rel_file )
73
if not the.config.ignores.matches( rel_file ):
74
self.changed.append( "%s (%s => %s)" % (
75
rel_file, src.get_type_name(), dst.get_type_name() ) )
61
self.changed.append( "%s (%s => %s)" % (
62
rel_file, src.get_type_name(), dst.get_type_name() ) )
77
64
# if an entity has changed to/from a directory, we don't care about
78
65
# anything that directory does/did contain
81
# entity is a file that has been modified?
68
# entity has been modified?
69
# TODO: check directory permission changes
82
70
if src.type == 'f':
83
71
if not filecmp.cmp( src.file, dst.file ):
84
if the.verbose >= 2: print " f|f " + rel_file
85
if not the.config.ignores.matches( rel_file ):
86
self.modified.append( rel_file )
88
if the.verbose >= 2: print " f=f " + rel_file
91
# entity is a symlink that has been modified?
72
self.modified.append( rel_file )
92
73
elif dst.type == 'l':
93
74
if os.readlink( src.file ) != os.readlink( dst.file ):
94
if the.verbose >= 2: print " l|l " + rel_file
95
if not the.config.ignores.matches( rel_file ):
96
self.modified.append( rel_file )
98
if the.verbose >= 2: print " l=l " + rel_file
101
# TODO: check directory permission changes
75
self.modified.append( rel_file )
103
77
# nothing to see here
105
print " %s=%s %s" % ( dst.type, src.type, rel_file )