2014-08-06 20:53:08 +04:00
|
|
|
#require test-repo
|
2014-05-05 22:42:58 +04:00
|
|
|
|
2016-05-11 07:49:27 +03:00
|
|
|
$ . "$TESTDIR/helpers-testrepo.sh"
|
2011-11-23 05:50:58 +04:00
|
|
|
$ check_code="$TESTDIR"/../contrib/check-code.py
|
|
|
|
$ cd "$TESTDIR"/..
|
|
|
|
|
2013-07-06 23:47:56 +04:00
|
|
|
New errors are not allowed. Warnings are strongly discouraged.
|
2014-01-08 01:29:15 +04:00
|
|
|
(The writing "no-che?k-code" is for not skipping this file when checking.)
|
2013-07-06 23:47:56 +04:00
|
|
|
|
2018-01-25 00:44:47 +03:00
|
|
|
$ testrepohg files -I . \
|
2017-10-01 13:24:19 +03:00
|
|
|
> -X contrib/python-zstandard \
|
|
|
|
> -X hgext/fsmonitor/pywatchman \
|
2018-01-09 04:55:53 +03:00
|
|
|
> -X lib/cdatapack \
|
2018-01-08 23:54:57 +03:00
|
|
|
> -X lib/third-party \
|
2018-01-09 04:55:53 +03:00
|
|
|
> -X mercurial/thirdparty \
|
2018-01-03 20:46:16 +03:00
|
|
|
> -X fb-hgext \
|
2018-01-11 08:19:51 +03:00
|
|
|
> -X fb/packaging \
|
2017-10-01 13:24:19 +03:00
|
|
|
> | sed 's-\\-/-g' | "$check_code" --warnings --per-file=0 - || false
|
flake8: enable F821 check
Summary:
This check is useful and detects real errors (ex. fbconduit). Unfortunately
`arc lint` will run it with both py2 and py3 so a lot of py2 builtins will
still be warned.
I didn't find a clean way to disable py3 check. So this diff tries to fix them.
For `xrange`, the change was done by a script:
```
import sys
import redbaron
headertypes = {'comment', 'endl', 'from_import', 'import', 'string',
'assignment', 'atomtrailers'}
xrangefix = '''try:
xrange(0)
except NameError:
xrange = range
'''
def isxrange(x):
try:
return x[0].value == 'xrange'
except Exception:
return False
def main(argv):
for i, path in enumerate(argv):
print('(%d/%d) scanning %s' % (i + 1, len(argv), path))
content = open(path).read()
try:
red = redbaron.RedBaron(content)
except Exception:
print(' warning: failed to parse')
continue
hasxrange = red.find('atomtrailersnode', value=isxrange)
hasxrangefix = 'xrange = range' in content
if hasxrangefix or not hasxrange:
print(' no need to change')
continue
# find a place to insert the compatibility statement
changed = False
for node in red:
if node.type in headertypes:
continue
# node.insert_before is an easier API, but it has bugs changing
# other "finally" and "except" positions. So do the insert
# manually.
# # node.insert_before(xrangefix)
line = node.absolute_bounding_box.top_left.line - 1
lines = content.splitlines(1)
content = ''.join(lines[:line]) + xrangefix + ''.join(lines[line:])
changed = True
break
if changed:
# "content" is faster than "red.dumps()"
open(path, 'w').write(content)
print(' updated')
if __name__ == "__main__":
sys.exit(main(sys.argv[1:]))
```
For other py2 builtins that do not have a py3 equivalent, some `# noqa`
were added as a workaround for now.
Reviewed By: DurhamG
Differential Revision: D6934535
fbshipit-source-id: 546b62830af144bc8b46788d2e0fd00496838939
2018-02-10 04:31:44 +03:00
|
|
|
fb/tests/sqldirstate_benchmark.py:100:
|
2018-01-11 06:19:46 +03:00
|
|
|
> hg.next()
|
|
|
|
don't use .next(), use next(...)
|
2018-04-12 19:13:24 +03:00
|
|
|
fb/tests/test-fbclone-fbsource.t:1:
|
|
|
|
> $ FBCLONE=$TESTDIR/../staticfiles/opt/facebook/bin/fbclone
|
|
|
|
don't use explicit paths for tools
|
2018-01-11 06:19:46 +03:00
|
|
|
fb/tests/test-hg-rsh.t:2:
|
2018-01-11 07:05:57 +03:00
|
|
|
> $ HGRSH=$TESTDIR/../staticfiles/bin/hg-rsh
|
2018-01-11 06:19:46 +03:00
|
|
|
don't use explicit paths for tools
|
2018-01-26 03:18:57 +03:00
|
|
|
fb/tests/test-hg-rsh.t:35:
|
2018-01-11 06:19:46 +03:00
|
|
|
> > %include /bin/../etc/mercurial/repo-specific/common.rc
|
|
|
|
don't use explicit paths for tools
|
2018-01-09 21:36:54 +03:00
|
|
|
Skipping hgext/extlib/cfastmanifest.c it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cfastmanifest/bsearch.c it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cfastmanifest/bsearch.h it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cfastmanifest/bsearch_test.c it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cfastmanifest/checksum.c it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cfastmanifest/checksum.h it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cfastmanifest/checksum_test.c it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cfastmanifest/internal_result.h it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cfastmanifest/node.c it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cfastmanifest/node.h it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cfastmanifest/node_test.c it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cfastmanifest/path_buffer.h it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cfastmanifest/result.h it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cfastmanifest/tests.c it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cfastmanifest/tests.h it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cfastmanifest/tree.c it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cfastmanifest/tree.h it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cfastmanifest/tree_arena.c it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cfastmanifest/tree_arena.h it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cfastmanifest/tree_convert.c it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cfastmanifest/tree_convert_rt.c it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cfastmanifest/tree_convert_test.c it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cfastmanifest/tree_copy.c it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cfastmanifest/tree_copy_test.c it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cfastmanifest/tree_diff.c it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cfastmanifest/tree_diff_test.c it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cfastmanifest/tree_disk.c it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cfastmanifest/tree_disk_test.c it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cfastmanifest/tree_dump.c it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cfastmanifest/tree_iterate_rt.c it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cfastmanifest/tree_iterator.c it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cfastmanifest/tree_iterator.h it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cfastmanifest/tree_iterator_test.c it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cfastmanifest/tree_path.c it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cfastmanifest/tree_path.h it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cfastmanifest/tree_test.c it has no-che?k-code (glob)
|
2018-01-09 04:55:53 +03:00
|
|
|
Skipping hgext/extlib/cstore/datapackstore.cpp it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cstore/datapackstore.h it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cstore/datastore.h it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cstore/deltachain.cpp it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cstore/deltachain.h it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cstore/key.h it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cstore/match.h it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cstore/py-cdatapack.h it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cstore/py-cstore.cpp it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cstore/py-datapackstore.h it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cstore/py-structs.h it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cstore/py-treemanifest.h it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cstore/pythondatastore.cpp it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cstore/pythondatastore.h it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cstore/pythonkeyiterator.h it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cstore/pythonutil.cpp it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cstore/pythonutil.h it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cstore/store.h it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cstore/uniondatapackstore.cpp it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/cstore/uniondatapackstore.h it has no-che?k-code (glob)
|
2018-01-09 04:55:53 +03:00
|
|
|
Skipping hgext/extlib/ctreemanifest/manifest.cpp it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/ctreemanifest/manifest.h it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/ctreemanifest/manifest_entry.cpp it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/ctreemanifest/manifest_entry.h it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/ctreemanifest/manifest_fetcher.cpp it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/ctreemanifest/manifest_fetcher.h it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/ctreemanifest/manifest_ptr.cpp it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/ctreemanifest/manifest_ptr.h it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/ctreemanifest/treemanifest.cpp it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/extlib/ctreemanifest/treemanifest.h it has no-che?k-code (glob)
|
2018-01-04 21:54:02 +03:00
|
|
|
Skipping hgext/hgsql.py it has no-che?k-code (glob)
|
2018-01-11 03:20:45 +03:00
|
|
|
Skipping hgext/hgsubversion/__init__.py it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/hgsubversion/compathacks.py it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/hgsubversion/editor.py it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/hgsubversion/hooks/updatemeta.py it has no-che?k-code (glob)
|
|
|
|
hgext/hgsubversion/layouts/__init__.py:1:
|
|
|
|
> """Code for dealing with subversion layouts
|
|
|
|
don't capitalize docstring title
|
|
|
|
Skipping hgext/hgsubversion/layouts/base.py it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/hgsubversion/layouts/custom.py it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/hgsubversion/layouts/standard.py it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/hgsubversion/maps.py it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/hgsubversion/pushmod.py it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/hgsubversion/stupid.py it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/hgsubversion/svncommands.py it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/hgsubversion/svnexternals.py it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/hgsubversion/svnmeta.py it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/hgsubversion/svnrepo.py it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/hgsubversion/svnwrap/__init__.py it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/hgsubversion/svnwrap/common.py it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/hgsubversion/svnwrap/subvertpy_wrapper.py it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/hgsubversion/svnwrap/svn_swig_wrapper.py it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/hgsubversion/util.py it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/hgsubversion/verify.py it has no-che?k-code (glob)
|
|
|
|
Skipping hgext/hgsubversion/wrappers.py it has no-che?k-code (glob)
|
2018-02-08 23:09:35 +03:00
|
|
|
hgext/morestatus.py:48:
|
2018-01-09 15:45:57 +03:00
|
|
|
> os.getcwd()) for path in unresolvedlist])
|
|
|
|
use pycompat.getcwd instead (py3)
|
2018-03-08 01:32:31 +03:00
|
|
|
hgext/phabstatus.py:80:
|
2018-01-09 15:45:57 +03:00
|
|
|
> repodir=os.getcwd(), ca_bundle=ca_certs, repo=repo)
|
|
|
|
use pycompat.getcwd instead (py3)
|
2018-04-11 17:05:55 +03:00
|
|
|
hgext/undo.py:*: (glob)
|
2018-01-09 15:45:57 +03:00
|
|
|
> if 'CHGINTERNALMARK' in os.environ:
|
|
|
|
use encoding.environ instead (py3)
|
2018-04-11 17:05:55 +03:00
|
|
|
hgext/undo.py:*: (glob)
|
2018-01-09 15:45:57 +03:00
|
|
|
> if '_undologactive' in os.environ:
|
|
|
|
use encoding.environ instead (py3)
|
2018-04-11 17:05:55 +03:00
|
|
|
hgext/undo.py:*: (glob)
|
2018-01-09 15:45:57 +03:00
|
|
|
> os.environ['_undologactive'] = "active"
|
|
|
|
use encoding.environ instead (py3)
|
2018-04-11 17:05:55 +03:00
|
|
|
hgext/undo.py:*: (glob)
|
2018-01-09 15:45:57 +03:00
|
|
|
> del os.environ['_undologactive']
|
|
|
|
use encoding.environ instead (py3)
|
2014-01-08 01:29:15 +04:00
|
|
|
Skipping i18n/polib.py it has no-che?k-code (glob)
|
2018-01-09 02:08:18 +03:00
|
|
|
Skipping lib/clib/buffer.c it has no-che?k-code (glob)
|
|
|
|
Skipping lib/clib/buffer.h it has no-che?k-code (glob)
|
|
|
|
Skipping lib/clib/convert.h it has no-che?k-code (glob)
|
|
|
|
Skipping lib/clib/null_test.c it has no-che?k-code (glob)
|
2018-04-10 11:06:47 +03:00
|
|
|
Skipping lib/clib/portability/dirent.h it has no-che?k-code (glob)
|
2018-01-09 02:08:18 +03:00
|
|
|
Skipping lib/clib/portability/inet.h it has no-che?k-code (glob)
|
2018-02-13 18:47:38 +03:00
|
|
|
Skipping lib/clib/portability/mman.h it has no-che?k-code (glob)
|
2018-01-09 02:08:18 +03:00
|
|
|
Skipping lib/clib/portability/portability.h it has no-che?k-code (glob)
|
|
|
|
Skipping lib/clib/portability/unistd.h it has no-che?k-code (glob)
|
|
|
|
Skipping lib/clib/sha1.h it has no-che?k-code (glob)
|
2014-01-08 01:29:15 +04:00
|
|
|
Skipping mercurial/httpclient/__init__.py it has no-che?k-code (glob)
|
|
|
|
Skipping mercurial/httpclient/_readers.py it has no-che?k-code (glob)
|
2016-11-02 04:54:03 +03:00
|
|
|
Skipping mercurial/statprof.py it has no-che?k-code (glob)
|
2017-04-14 08:19:28 +03:00
|
|
|
Skipping tests/badserverext.py it has no-che?k-code (glob)
|
2018-01-17 14:23:44 +03:00
|
|
|
Skipping tests/comprehensive/test-hgsubversion-custom-layout.py it has no-che?k-code (glob)
|
|
|
|
Skipping tests/comprehensive/test-hgsubversion-obsstore-on.py it has no-che?k-code (glob)
|
|
|
|
Skipping tests/comprehensive/test-hgsubversion-rebuildmeta.py it has no-che?k-code (glob)
|
|
|
|
Skipping tests/comprehensive/test-hgsubversion-sqlite-revmap.py it has no-che?k-code (glob)
|
|
|
|
Skipping tests/comprehensive/test-hgsubversion-stupid-pull.py it has no-che?k-code (glob)
|
|
|
|
Skipping tests/comprehensive/test-hgsubversion-updatemeta.py it has no-che?k-code (glob)
|
|
|
|
Skipping tests/comprehensive/test-hgsubversion-verify-and-startrev.py it has no-che?k-code (glob)
|
2018-01-09 15:45:57 +03:00
|
|
|
Skipping tests/conduithttp.py it has no-che?k-code (glob)
|
2018-01-17 14:23:44 +03:00
|
|
|
Skipping tests/fixtures/rsvn.py it has no-che?k-code (glob)
|
2018-01-09 05:58:08 +03:00
|
|
|
Skipping tests/test-fb-hgext-remotefilelog-bad-configs.t it has no-che?k-code (glob)
|
2018-01-09 17:08:01 +03:00
|
|
|
tests/test-hggit-git-submodules.t:61:
|
|
|
|
> $ grep 'submodule "subrepo2"' -A2 .gitmodules > .gitmodules-new
|
|
|
|
don't use grep's context flags
|
|
|
|
tests/test-hggit-gitignore.t:124:
|
|
|
|
> $ echo 'foo.*$(?<!bar)' >> .hgignore
|
|
|
|
don't use $(expr), use `expr`
|
|
|
|
tests/test-hggit-renames.t:79:
|
|
|
|
> $ grep 'submodule "gitsubmodule"' -A2 .gitmodules > .gitmodules-new
|
|
|
|
don't use grep's context flags
|
2018-01-04 21:54:02 +03:00
|
|
|
Skipping tests/test-hgsql-encoding.t it has no-che?k-code (glob)
|
|
|
|
Skipping tests/test-hgsql-race-conditions.t it has no-che?k-code (glob)
|
2018-01-17 14:23:44 +03:00
|
|
|
Skipping tests/test-hgsubversion-externals.py it has no-che?k-code (glob)
|
|
|
|
Skipping tests/test-hgsubversion-fetch-branches.py it has no-che?k-code (glob)
|
|
|
|
Skipping tests/test-hgsubversion-fetch-command-regexes.py it has no-che?k-code (glob)
|
|
|
|
Skipping tests/test-hgsubversion-fetch-command.py it has no-che?k-code (glob)
|
|
|
|
Skipping tests/test-hgsubversion-fetch-exec.py it has no-che?k-code (glob)
|
|
|
|
Skipping tests/test-hgsubversion-fetch-mappings.py it has no-che?k-code (glob)
|
|
|
|
Skipping tests/test-hgsubversion-fetch-symlinks.py it has no-che?k-code (glob)
|
|
|
|
Skipping tests/test-hgsubversion-push-command.py it has no-che?k-code (glob)
|
|
|
|
Skipping tests/test-hgsubversion-push-dirs.py it has no-che?k-code (glob)
|
|
|
|
Skipping tests/test-hgsubversion-push-renames.py it has no-che?k-code (glob)
|
|
|
|
Skipping tests/test-hgsubversion-single-dir-clone.py it has no-che?k-code (glob)
|
|
|
|
Skipping tests/test-hgsubversion-single-dir-push.py it has no-che?k-code (glob)
|
|
|
|
Skipping tests/test-hgsubversion-svn-pre-commit-hooks.py it has no-che?k-code (glob)
|
|
|
|
Skipping tests/test-hgsubversion-svnwrap.py it has no-che?k-code (glob)
|
|
|
|
Skipping tests/test-hgsubversion-tags.py it has no-che?k-code (glob)
|
|
|
|
Skipping tests/test-hgsubversion-template-keywords.py it has no-che?k-code (glob)
|
|
|
|
Skipping tests/test-hgsubversion-urls.py it has no-che?k-code (glob)
|
|
|
|
Skipping tests/test-hgsubversion-utility-commands.py it has no-che?k-code (glob)
|
2018-03-16 21:14:39 +03:00
|
|
|
tests/test-revset.t:2759:
|
|
|
|
> > . +
|
|
|
|
warning: ^ must be quoted
|
2018-01-17 14:23:44 +03:00
|
|
|
Skipping tests/test_hgsubversion_util.py it has no-che?k-code (glob)
|
2018-01-09 15:45:57 +03:00
|
|
|
[1]
|
2016-11-25 20:55:05 +03:00
|
|
|
|
|
|
|
@commands in debugcommands.py should be in alphabetical order.
|
|
|
|
|
|
|
|
>>> import re
|
|
|
|
>>> commands = []
|
|
|
|
>>> with open('mercurial/debugcommands.py', 'rb') as fh:
|
|
|
|
... for line in fh:
|
|
|
|
... m = re.match("^@command\('([a-z]+)", line)
|
|
|
|
... if m:
|
|
|
|
... commands.append(m.group(1))
|
|
|
|
>>> scommands = list(sorted(commands))
|
|
|
|
>>> for i, command in enumerate(scommands):
|
|
|
|
... if command != commands[i]:
|
|
|
|
... print('commands in debugcommands.py not sorted; first differing '
|
|
|
|
... 'command is %s; expected %s' % (commands[i], command))
|
|
|
|
... break
|
2017-03-29 22:14:20 +03:00
|
|
|
|
|
|
|
Prevent adding new files in the root directory accidentally.
|
|
|
|
|
2017-07-02 07:14:20 +03:00
|
|
|
$ testrepohg files 'glob:*'
|
2015-01-25 01:04:25 +03:00
|
|
|
.clang-format
|
2017-03-29 22:14:20 +03:00
|
|
|
.editorconfig
|
2018-01-24 23:39:04 +03:00
|
|
|
.flake8
|
|
|
|
.gitignore
|
2018-01-10 04:48:32 +03:00
|
|
|
.hg-vendored-crates
|
2017-03-29 22:14:20 +03:00
|
|
|
.hgsigs
|
2017-11-22 17:18:06 +03:00
|
|
|
.jshintrc
|
2018-01-23 23:08:53 +03:00
|
|
|
.watchmanconfig
|
2017-03-29 22:14:20 +03:00
|
|
|
CONTRIBUTING
|
|
|
|
CONTRIBUTORS
|
|
|
|
COPYING
|
|
|
|
Makefile
|
2017-09-26 09:37:17 +03:00
|
|
|
README.rst
|
2018-01-26 03:18:57 +03:00
|
|
|
TARGETS
|
2017-03-29 22:14:20 +03:00
|
|
|
hg
|
|
|
|
hgeditor
|
|
|
|
hgweb.cgi
|
|
|
|
setup.py
|
2018-01-10 04:48:32 +03:00
|
|
|
vendorcrates.py
|