diff options
author | Matt Jordan <mjordan@digium.com> | 2015-04-15 12:42:41 -0500 |
---|---|---|
committer | Matt Jordan <mjordan@digium.com> | 2015-04-15 12:42:41 -0500 |
commit | f9e7a3d93da741f81a5af2e84422376c54f1f337 (patch) | |
tree | 63a203e6f102a571cb4a76eff3da0f1a27521691 /git/util.py | |
parent | e129846a1a5344c8d7c0abe5ec52136c3a581cce (diff) | |
download | gitpython-f9e7a3d93da741f81a5af2e84422376c54f1f337.tar.gz |
fix(util): Handle 'Finding sources' messages in RemoteProgress
When running a long running operation (such as a clone on a large repo),
Git may return a message indicating that it is 'Finding sources'. Since
there is no bit field value for this message, this causes a large amount
of error messages to be emitted to stderr.
This patch fixes this by adding another bit field value for this
message, FINDING_SOURCES. Derived classes can look for this op_code and
handle it appropriately.
Diffstat (limited to 'git/util.py')
-rw-r--r-- | git/util.py | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/git/util.py b/git/util.py index 1147cb53..547da093 100644 --- a/git/util.py +++ b/git/util.py @@ -165,7 +165,7 @@ class RemoteProgress(object): and git-fetch and to dispatch callbacks allowing subclasses to react to the progress. """ _num_op_codes = 7 - BEGIN, END, COUNTING, COMPRESSING, WRITING, RECEIVING, RESOLVING = [1 << x for x in range(_num_op_codes)] + BEGIN, END, COUNTING, COMPRESSING, WRITING, RECEIVING, RESOLVING, FINDING_SOURCES = [1 << x for x in range(_num_op_codes)] STAGE_MASK = BEGIN | END OP_MASK = ~STAGE_MASK @@ -227,6 +227,8 @@ class RemoteProgress(object): op_code |= self.RECEIVING elif op_name == 'Resolving deltas': op_code |= self.RESOLVING + elif op_name == 'Finding sources': + op_code |= self.FINDING_SOURCES else: # Note: On windows it can happen that partial lines are sent # Hence we get something like "CompreReceiving objects", which is |