diff options
author | Yang Zhao <yang.zhao@skyboxlabs.com> | 2019-12-13 15:52:43 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-01-15 12:53:40 -0800 |
commit | 4294d741cc13e1f5533efaa693e4479c62b28873 (patch) | |
tree | 2cf19c20564e63385ceb9200965bb3e6f77c2a85 /git-p4.py | |
parent | 50da1e73933386ef95499d2f7753184ba82ce2b3 (diff) | |
download | git-4294d741cc13e1f5533efaa693e4479c62b28873.tar.gz |
git-p4: fix freezing while waiting for fast-import progress
As part of its importing process, git-p4 sends a `checkpoint` followed
immediately by `progress` to fast-import to force synchronization.
Due to buffering, it is possible for the `progress` command to not be
flushed before git-p4 begins to wait for the corresponding response.
This causes the script to freeze completely, and is consistently
observable at least on python-3.6.9.
Make sure this command sequence is completely flushed before waiting.
Signed-off-by: Yang Zhao <yang.zhao@skyboxlabs.com>
Reviewed-by: Ben Keene <seraphire@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-p4.py')
-rwxr-xr-x | git-p4.py | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -2641,6 +2641,7 @@ class P4Sync(Command, P4UserMap): def checkpoint(self): self.gitStream.write("checkpoint\n\n") self.gitStream.write("progress checkpoint\n\n") + self.gitStream.flush() out = self.gitOutput.readline() if self.verbose: print("checkpoint finished: " + out) |