Tue, 20 Jun 2017 14:00:41 -0700 py3: catch StopIteration from next() in generatorset
Martin von Zweigbergk <martinvonz@google.com> [Tue, 20 Jun 2017 14:00:41 -0700] rev 32977
py3: catch StopIteration from next() in generatorset IIUC, letting the StopIteration through would not cause any bugs, but not doing it makes the test-py3-commands.t pass. I have also diligently gone through all uses of next() in our code base. They either: * are not called from a generator * pass a default value to next() * catch StopException * work on infinite iterators * request a fixed number of items that matches the generated number * are about batching in wireproto which I didn't quite follow I'd appreciate if Augie or someone else could take a look at the wireproto batching and convince themselves that the next(batchable) calls there will not raise a StopIteration.
Tue, 20 Jun 2017 23:23:45 -0400 tests: adjust quoting to keep Windows happy with recent $PYTHON change
Matt Harbison <matt_harbison@yahoo.com> [Tue, 20 Jun 2017 23:23:45 -0400] rev 32976
tests: adjust quoting to keep Windows happy with recent $PYTHON change I tried adding quotes to the $PYTHON variable, and also tried converting the path from the current 'c:/Python/python.exe' form to '/c/python/python.exe', but neither worked. I'm not sure why one of these needs '\"' around the variable and the other doesn't.
Tue, 20 Jun 2017 16:33:13 -0700 bundle2: don't use debug message "no-transaction" with transaction
Martin von Zweigbergk <martinvonz@google.com> [Tue, 20 Jun 2017 16:33:13 -0700] rev 32975
bundle2: don't use debug message "no-transaction" with transaction
Wed, 21 Jun 2017 02:20:34 +0530 py3: use pycompat.bytestr() in place of str()
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 21 Jun 2017 02:20:34 +0530] rev 32974
py3: use pycompat.bytestr() in place of str()
Wed, 21 Jun 2017 02:13:34 +0530 py3: use r'' to access values from kwargs where keys are str
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 21 Jun 2017 02:13:34 +0530] rev 32973
py3: use r'' to access values from kwargs where keys are str These are the cases where either args is again passed as keyword argument or 1 or 2 elements are accessed. So it's better to add an r'' to prevent it converting to bytes rather than doing the conversion of args.
Wed, 21 Jun 2017 02:10:25 +0530 py3: convert keys of kwargs in template keywords functions to bytes
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 21 Jun 2017 02:10:25 +0530] rev 32972
py3: convert keys of kwargs in template keywords functions to bytes This patch converts the args argument keys' to bytes wherever necessary as there are some places where either args is not used or using r'' is better or args is again passed as keyword arguments.
Tue, 20 Jun 2017 23:50:50 +0530 py3: make sure the commands name are bytes in test-devel-warnings.t
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 20 Jun 2017 23:50:50 +0530] rev 32971
py3: make sure the commands name are bytes in test-devel-warnings.t
Tue, 20 Jun 2017 23:46:18 +0530 py3: replace str with bytes in isinstance()
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 20 Jun 2017 23:46:18 +0530] rev 32970
py3: replace str with bytes in isinstance() We were using str because on Python 2, str were bytes but now we have to use bytes. Otherwise the if conditions fails and we have weird results from commands on Python 3.
Tue, 20 Jun 2017 22:11:46 +0530 py3: catch binascii.Error raised from binascii.unhexlify
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 20 Jun 2017 22:11:46 +0530] rev 32969
py3: catch binascii.Error raised from binascii.unhexlify Before Python 3, binsacii.unhexlify used to raise TypeError, now it raises binascii.Error.
Tue, 20 Jun 2017 23:39:59 -0700 shelve: allow unlimited shelved changes per name
Jun Wu <quark@fb.com> [Tue, 20 Jun 2017 23:39:59 -0700] rev 32968
shelve: allow unlimited shelved changes per name Previously, there is a 100 changes limit per name (bookmark or named branch). And the user will get "too many shelved changes named %s" when they are trying to shelve the 101th change. I hit that error message today. This limit was introduced by the shelve extension since the beginning. The function generating the names was called "gennames", under "getshelvename". There is another "gennames" under "backupfilename": def backupfilename(self): def gennames(base): yield base base, ext = base.rsplit('.', 1) for i in itertools.count(1): yield '%s-%d.%s' % (base, i, ext) "itertools.count" is an endless counter. Since the other "gennames" generates unlimited number of names, and the changeset introducing the limit (49d4919d21) does not say why the limit is useful. It seems safe to just remove the limit. The format "%02d" was kept intentionally so existing shelved changes won't break.
(0) -30000 -10000 -3000 -1000 -300 -100 -10 +10 +100 +300 +1000 +3000 +10000 tip