Thread (2 messages) flat view 2 messages, 2 authors, 2016-06-15

Re: StGIT cannot import properly from stdin

From: Catalin Marinas <hidden>
Date: 2016-06-15 22:42:07

Pierre Ossman [off-list ref] wrote:
quoted
It works for me with the latest snapshot. What might happen in your
case is a missing "---" line after the patch description. The import
command reads the sys.stdin file descriptor until the first "---"
line. After that, the git.apply() function will read the rest of the
lines and pass them to git-apply. You can put some prints in the
git.apply() function to check where it starts reading from.
Hmm... it seems you're kind of right. It doesn't need the patch twice.
But it needs EOF more than once. The for-loop in __parse_patch() doesn't
start until the EOF is recieved. And the second for-loop in _input()
requires a new EOF.
The line below in __parse_patch() ensures that the 'for' loop does not
consume all the input lines:

        if re.match('---\s*$', line) or re.match('diff -', line):
            break

Unfortunately, if the '---' line is missing, it consumes all the input
lines. Is this the case with your patch?
If you would cache the input to a file (or memory) you would remove both
of these problems.
True, but it requires more work than simply writing the patch to a
file and reading it twice.

-- 
Catalin
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help