mirror of
https://github.com/facebook/sapling.git
synced 2024-10-07 15:27:13 +03:00
status: remove pickle formatter, fix test
Summary: Remove pickle formatter, as part of python3 migration. Fix test-status.t for python3 compatibility. Remove test-status.t python2 requirement. Reviewed By: xavierd Differential Revision: D22121912 fbshipit-source-id: 1cfdd18880198ef16973463ed24cf9afb28a7afb
This commit is contained in:
parent
da38165c2b
commit
49d5ada3f4
@ -122,10 +122,6 @@ from .i18n import _
|
||||
from .node import hex, short
|
||||
|
||||
|
||||
# pyre-fixme[11]: Annotation `pickle` is not defined as a type.
|
||||
pickle = util.pickle
|
||||
|
||||
|
||||
class _nullconverter(object):
|
||||
"""convert non-primitive data types to be processed by formatter"""
|
||||
|
||||
@ -140,9 +136,7 @@ class _nullconverter(object):
|
||||
@staticmethod
|
||||
def formatdict(data, key, value, fmt, sep):
|
||||
"""convert dict or key-value pairs to appropriate dict format"""
|
||||
# use plain dict instead of util.sortdict so that data can be
|
||||
# serialized as a builtin dict in pickle output
|
||||
return dict(data)
|
||||
return data
|
||||
|
||||
@staticmethod
|
||||
def formatlist(data, name, fmt, sep):
|
||||
@ -355,20 +349,6 @@ class debugformatter(baseformatter):
|
||||
self._out.write("]\n")
|
||||
|
||||
|
||||
class pickleformatter(baseformatter):
|
||||
def __init__(self, ui, out, topic, opts):
|
||||
baseformatter.__init__(self, ui, topic, opts, _nullconverter)
|
||||
self._out = out
|
||||
self._data = []
|
||||
|
||||
def _showitem(self):
|
||||
self._data.append(self._item)
|
||||
|
||||
def end(self):
|
||||
baseformatter.end(self)
|
||||
self._out.write(pickle.dumps(self._data))
|
||||
|
||||
|
||||
class jsonformatter(baseformatter):
|
||||
def __init__(self, ui, out, topic, opts):
|
||||
baseformatter.__init__(self, ui, topic, opts, _nullconverter)
|
||||
@ -587,8 +567,6 @@ def formatter(ui, out, topic, opts):
|
||||
template = opts.get("template", "")
|
||||
if template == "json":
|
||||
return jsonformatter(ui, out, topic, opts)
|
||||
elif template == "pickle":
|
||||
return pickleformatter(ui, out, topic, opts)
|
||||
elif template == "debug":
|
||||
return debugformatter(ui, out, topic, opts)
|
||||
elif template != "":
|
||||
|
@ -1,4 +1,3 @@
|
||||
#require py2
|
||||
#chg-compatible
|
||||
|
||||
$ hg init repo1
|
||||
@ -231,13 +230,6 @@ hg status -A:
|
||||
}
|
||||
]
|
||||
|
||||
$ hg status -A -Tpickle > pickle
|
||||
>>> from __future__ import print_function
|
||||
>>> import pickle
|
||||
>>> print(sorted((x['status'], x['path']) for x in pickle.load(open("pickle"))))
|
||||
[('!', 'deleted'), ('?', 'pickle'), ('?', 'unknown'), ('A', 'added'), ('A', 'copied'), ('C', '.gitignore'), ('C', 'modified'), ('I', 'ignored'), ('R', 'removed')]
|
||||
$ rm pickle
|
||||
|
||||
$ echo "ignoreddir/" > .gitignore
|
||||
$ mkdir ignoreddir
|
||||
$ touch ignoreddir/file
|
||||
@ -447,12 +439,12 @@ hg status of binary file starting with '\1\n', a separator for metadata:
|
||||
|
||||
$ hg init repo5
|
||||
$ cd repo5
|
||||
>>> _ = open("010a", "wb").write("\1\nfoo")
|
||||
>>> _ = open("010a", "wb").write(b"\1\nfoo")
|
||||
$ hg ci -q -A -m 'initial checkin'
|
||||
$ hg status -A
|
||||
C 010a
|
||||
|
||||
>>> _ = open("010a", "wb").write("\1\nbar")
|
||||
>>> _ = open("010a", "wb").write(b"\1\nbar")
|
||||
$ hg status -A
|
||||
M 010a
|
||||
$ hg ci -q -m 'modify 010a'
|
||||
|
Loading…
Reference in New Issue
Block a user