summaryrefslogtreecommitdiff
path: root/git/util.py
diff options
context:
space:
mode:
authorGuyzmo <guyzmo+github@m0g.net>2016-05-12 16:35:51 +0200
committerGuyzmo <guyzmo+github@m0g.net>2016-05-12 17:43:59 +0200
commit89ade7bfff534ae799d7dd693b206931d5ed3d4f (patch)
tree5b54deb61df6ad6605d5d263911bd9916c1a92b1 /git/util.py
parentfb577c8a1eca8958415b76cde54d454618ac431e (diff)
downloadgitpython-89ade7bfff534ae799d7dd693b206931d5ed3d4f.tar.gz
Fix order of operators before executing the git command
Since Python 3.3, the hash value of an object is seeded randomly, making it change between each call. As a consequence, the `dict` type relying on the hash value for the order of the items upon iterating on it, and the parameters passed to `git` being passed as `kwargs` to the `execute()` method, the order of parameters will change randomly between calls. For example, when you call `git.remote.pull()` in a code, two consecutives run will generate: 1. git pull --progress -v origin master 2. git pull -v --progress origin master Within the `transform_kwargs()` method, I'm promoting `kwargs` into an `collections.OrderedDict` being built with `kwargs` sorted on the keys. Then it will ensure that each subsequent calls will execute the parameters in the same order.
Diffstat (limited to 'git/util.py')
0 files changed, 0 insertions, 0 deletions