On Thursday, June 15, 2017 at 12:23:15 PM UTC-5, Edward K. Ream wrote:

> > I wonder whether git can deliver (the contents of) blobs by file name 
and commit.
> Well, of course it can: git show HEAD~2:./leo/core/commit_timestamp.json
...
> If this output can be piped into Leo we won't need gitpython at all...

The following reads the 5182 lines of leoAtFile.py into Leo almost 
instantaneously:

    import os
    import shlex
    import subprocess
    os.chdir(r'c:\leo.repo\leo-editor')
    command = r'git show HEAD~2:./leo/core/leoAtFile.py'
    p = subprocess.Popen(
        shlex.split(command),
        stdout=subprocess.PIPE,
        stderr=None, # Shows error messages.
        shell=False,
    )
    out, err = p.communicate()
    n = 0
    for line in g.splitLines(out):
        n += 1
        s = g.toUnicode(line.rstrip())
    print('%s lines' % n)

This is very fast because it uses git itself. I see no reason to use 
gitpython. Do you?

Edward

-- 
You received this message because you are subscribed to the Google Groups 
"leo-editor" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to leo-editor+unsubscr...@googlegroups.com.
To post to this group, send email to leo-editor@googlegroups.com.
Visit this group at https://groups.google.com/group/leo-editor.
For more options, visit https://groups.google.com/d/optout.

Reply via email to