@status('Getting the list of files that have been added/changed', info=(lambda x: ('%s files' % len(x))))
def changed_files():
 cmd = 'svn status --quiet --non-interactive --ignore-externals'
 svn_st = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE)
 svn_st.wait()
 output = [line.strip() for line in svn_st.stdout.readlines()]
 files = set()
 for line in output:
  if (not (line[0] in ('A', 'M'))):
   continue
  line_parts = line.split()
  path = line_parts[(-1)]
  if os.path.isfile(path):
   files.add(path)
 return files

@ status ( 'Getting the list of files that have been added/changed' , info = ( lambda x : ( '%s files' % len ( x ) ) ) ) def changed_files ( ) : cmd = 'svn status --quiet --non-interactive --ignore-externals' svn_st = subprocess . Popen ( cmd , shell = True , stdout = subprocess . PIPE ) svn_st . wait ( ) output = [ line . strip ( ) for line in svn_st . stdout . readlines ( ) ] files = set ( ) for line in output : if ( not ( line [ 0 ] in ( 'A' , 'M' ) ) ) : continue line_parts = line . split ( ) path = line_parts [ ( - 1 ) ] if os . path . isfile ( path ) : files . add ( path ) return files
run svn status and return a set of files that have been changed/added .