def METHOD_NAME(startDate):
    """Do the processing."""
    dir='../temp_lines_of_code'
    print('### Start date =%s' % start_date)
    print('###')
    erase_old = True
    #erase_old = False
    if erase_old:
        print('### Starting a fresh checkout in %s' % dir)
        print('###')
        if os.path.isdir(dir):
            print('### Erasing previous %s' % dir)
            shutil.rmtree(dir)
        print('### Checking out...')
        os.system('git clone -q -b develop https://chaste.cs.ox.ac.uk/git/chaste.git '+dir+' > /dev/null')
        print('### Checked out')
        print('###')
    print('### Switch to %s' % dir)
    print('###')
    os.chdir(dir)
    print_header()
    sys.stdout.flush()
    step = 3
    date = startDate + datetime.timedelta(20)
    old_hash = 'No hash'
    while (date <= datetime.date.today()):
        p = subprocess.Popen('git log develop --abbrev-commit --max-count=1 --before=' + str(date), shell=True, stdout=subprocess.PIPE, stderr=None)
        (out, _) = p.communicate()
        out = out.decode("utf-8")
        out_lines = out.split('\n')
        date_line = out_lines[2]
        if (date_line[:5] != 'Date:'):
            date_line = out_lines[3]
        date_line = date_line[8:] # Subtract "Date:..."
        hash =  out.split()[1]
        hash = hash[:-1] # Drop space
        if hash != old_hash:
            os.system('git checkout --quiet '+hash)
            print_stats(hash, date_line)
            sys.stdout.flush()
        date = date +datetime.timedelta(step)
        old_hash = hash