def changed_files(directory, id)
      Dir.chdir(@directory) do
        tracked_files = []
        begin
          tracked_files += run("git diff-index --name-only #{id} -- #{directory}").split
        rescue ExecutionFailed => e
          raise e if e.status != 1 # status 1 is normal
        end

        untracked_files = run("git ls-files --exclude-standard --others -- #{directory}").split
        tracked_files + untracked_files
      end
    end
def changed_files(directory, id)
      Dir.chdir(@directory) do
        tracked_files = []
        begin
          tracked_files += run("git diff-index --name-only #{id} -- #{directory}").split
        rescue ExecutionFailed => e
          raise e if e.status != 1 # status 1 is normal
        end

        untracked_files = run("git ls-files --exclude-standard --others -- #{directory}").split
        tracked_files + untracked_files
      end
    end
returns the list of files changed from since_id
 including changes in the working tree and staging
 area