Linux iad1-shared-b7-18 6.6.49-grsec-jammy+ #10 SMP Thu Sep 12 23:23:08 UTC 2024 x86_64
Apache
: 67.205.6.31 | : 216.73.216.47
Cant Read [ /etc/named.conf ]
8.2.29
fernandoquevedo
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
usr /
lib /
python3 /
dist-packages /
mercurial /
[ HOME SHELL ]
Name
Size
Permission
Action
__pycache__
[ DIR ]
drwxr-xr-x
cext
[ DIR ]
drwxr-xr-x
cffi
[ DIR ]
drwxr-xr-x
defaultrc
[ DIR ]
drwxr-xr-x
dirstateutils
[ DIR ]
drwxr-xr-x
helptext
[ DIR ]
drwxr-xr-x
hgweb
[ DIR ]
drwxr-xr-x
interfaces
[ DIR ]
drwxr-xr-x
locale
[ DIR ]
drwxr-xr-x
pure
[ DIR ]
drwxr-xr-x
revlogutils
[ DIR ]
drwxr-xr-x
templates
[ DIR ]
drwxr-xr-x
testing
[ DIR ]
drwxr-xr-x
thirdparty
[ DIR ]
drwxr-xr-x
upgrade_utils
[ DIR ]
drwxr-xr-x
utils
[ DIR ]
drwxr-xr-x
__init__.py
416
B
-rw-r--r--
__modulepolicy__.py
61
B
-rw-r--r--
__version__.py
60
B
-rw-r--r--
ancestor.py
12.51
KB
-rw-r--r--
archival.py
11.59
KB
-rw-r--r--
bookmarks.py
34.74
KB
-rw-r--r--
branchmap.py
31.58
KB
-rw-r--r--
bundle2.py
86.74
KB
-rw-r--r--
bundlecaches.py
13.6
KB
-rw-r--r--
bundlerepo.py
23.29
KB
-rw-r--r--
cacheutil.py
827
B
-rw-r--r--
changegroup.py
65.72
KB
-rw-r--r--
changelog.py
19.72
KB
-rw-r--r--
chgserver.py
26.25
KB
-rw-r--r--
cmdutil.py
131.98
KB
-rw-r--r--
color.py
17.93
KB
-rw-r--r--
commands.py
257.93
KB
-rw-r--r--
commandserver.py
24.59
KB
-rw-r--r--
commit.py
18.52
KB
-rw-r--r--
config.py
8.59
KB
-rw-r--r--
configitems.py
46.49
KB
-rw-r--r--
context.py
100.53
KB
-rw-r--r--
copies.py
46.01
KB
-rw-r--r--
crecord.py
70.99
KB
-rw-r--r--
dagop.py
39.57
KB
-rw-r--r--
dagparser.py
15.13
KB
-rw-r--r--
debugcommands.py
154.84
KB
-rw-r--r--
destutil.py
17.07
KB
-rw-r--r--
diffhelper.py
2.32
KB
-rw-r--r--
diffutil.py
4.52
KB
-rw-r--r--
dirstate.py
51.01
KB
-rw-r--r--
dirstateguard.py
3.09
KB
-rw-r--r--
dirstatemap.py
23.77
KB
-rw-r--r--
discovery.py
22
KB
-rw-r--r--
dispatch.py
46.19
KB
-rw-r--r--
dummycert.pem
2.19
KB
-rw-r--r--
encoding.py
22.89
KB
-rw-r--r--
error.py
17.88
KB
-rw-r--r--
exchange.py
94.65
KB
-rw-r--r--
extensions.py
30.6
KB
-rw-r--r--
exthelper.py
11.83
KB
-rw-r--r--
fancyopts.py
11.3
KB
-rw-r--r--
filelog.py
8.58
KB
-rw-r--r--
filemerge.py
39.67
KB
-rw-r--r--
fileset.py
18.66
KB
-rw-r--r--
filesetlang.py
10.34
KB
-rw-r--r--
formatter.py
26.34
KB
-rw-r--r--
graphmod.py
16.76
KB
-rw-r--r--
grep.py
7.26
KB
-rw-r--r--
hbisect.py
10.89
KB
-rw-r--r--
help.py
36.74
KB
-rw-r--r--
hg.py
51.95
KB
-rw-r--r--
hook.py
11.53
KB
-rw-r--r--
httpconnection.py
4.27
KB
-rw-r--r--
httppeer.py
20.71
KB
-rw-r--r--
i18n.py
4.05
KB
-rw-r--r--
keepalive.py
27.1
KB
-rw-r--r--
linelog.py
14.94
KB
-rw-r--r--
localrepo.py
140.97
KB
-rw-r--r--
lock.py
11.89
KB
-rw-r--r--
logcmdutil.py
42.53
KB
-rw-r--r--
logexchange.py
4.98
KB
-rw-r--r--
loggingutil.py
3.93
KB
-rw-r--r--
lsprof.py
4.25
KB
-rw-r--r--
lsprofcalltree.py
2.74
KB
-rw-r--r--
mail.py
17.09
KB
-rw-r--r--
manifest.py
75.45
KB
-rw-r--r--
match.py
52.06
KB
-rw-r--r--
mdiff.py
17.37
KB
-rw-r--r--
merge.py
90.09
KB
-rw-r--r--
mergestate.py
31.37
KB
-rw-r--r--
mergeutil.py
502
B
-rw-r--r--
metadata.py
32.33
KB
-rw-r--r--
minifileset.py
3.54
KB
-rw-r--r--
minirst.py
29.13
KB
-rw-r--r--
namespaces.py
8.19
KB
-rw-r--r--
narrowspec.py
11.57
KB
-rw-r--r--
node.py
2.07
KB
-rw-r--r--
obsolete.py
36.76
KB
-rw-r--r--
obsutil.py
35.84
KB
-rw-r--r--
parser.py
25.68
KB
-rw-r--r--
patch.py
102
KB
-rw-r--r--
pathutil.py
12.21
KB
-rw-r--r--
phases.py
32.54
KB
-rw-r--r--
policy.py
4.74
KB
-rw-r--r--
posix.py
23.05
KB
-rw-r--r--
profiling.py
8.64
KB
-rw-r--r--
progress.py
10.92
KB
-rw-r--r--
pushkey.py
1.67
KB
-rw-r--r--
pvec.py
6.01
KB
-rw-r--r--
pycompat.py
16.33
KB
-rw-r--r--
rcutil.py
3.57
KB
-rw-r--r--
registrar.py
17.78
KB
-rw-r--r--
repair.py
18.46
KB
-rw-r--r--
repocache.py
4.49
KB
-rw-r--r--
repoview.py
16.89
KB
-rw-r--r--
requirements.py
4.64
KB
-rw-r--r--
revlog.py
117.08
KB
-rw-r--r--
revset.py
87.27
KB
-rw-r--r--
revsetlang.py
28.47
KB
-rw-r--r--
rewriteutil.py
8.47
KB
-rw-r--r--
scmposix.py
2.57
KB
-rw-r--r--
scmutil.py
75.72
KB
-rw-r--r--
scmwindows.py
3.37
KB
-rw-r--r--
server.py
7.05
KB
-rw-r--r--
setdiscovery.py
18
KB
-rw-r--r--
shelve.py
38.04
KB
-rw-r--r--
similar.py
3.97
KB
-rw-r--r--
simplemerge.py
16.86
KB
-rw-r--r--
smartset.py
33.65
KB
-rw-r--r--
sparse.py
26.37
KB
-rw-r--r--
sshpeer.py
22.56
KB
-rw-r--r--
sslutil.py
35.54
KB
-rw-r--r--
stack.py
762
B
-rw-r--r--
state.py
11.99
KB
-rw-r--r--
statichttprepo.py
7.92
KB
-rw-r--r--
statprof.py
32.16
KB
-rw-r--r--
store.py
25.27
KB
-rw-r--r--
streamclone.py
30.73
KB
-rw-r--r--
strip.py
8.72
KB
-rw-r--r--
subrepo.py
70.89
KB
-rw-r--r--
subrepoutil.py
17.42
KB
-rw-r--r--
tagmerge.py
11.29
KB
-rw-r--r--
tags.py
29.67
KB
-rw-r--r--
templatefilters.py
15.11
KB
-rw-r--r--
templatefuncs.py
30.14
KB
-rw-r--r--
templatekw.py
34.12
KB
-rw-r--r--
templater.py
37.7
KB
-rw-r--r--
templateutil.py
35.66
KB
-rw-r--r--
transaction.py
25.97
KB
-rw-r--r--
treediscovery.py
5.92
KB
-rw-r--r--
txnutil.py
1.02
KB
-rw-r--r--
ui.py
80.23
KB
-rw-r--r--
unionrepo.py
9.72
KB
-rw-r--r--
upgrade.py
14.59
KB
-rw-r--r--
url.py
24.56
KB
-rw-r--r--
urllibcompat.py
5.94
KB
-rw-r--r--
util.py
95.18
KB
-rw-r--r--
verify.py
21.8
KB
-rw-r--r--
vfs.py
24.93
KB
-rw-r--r--
win32.py
22.04
KB
-rw-r--r--
windows.py
21.77
KB
-rw-r--r--
wireprotoframing.py
64.95
KB
-rw-r--r--
wireprotoserver.py
17.38
KB
-rw-r--r--
wireprototypes.py
13.07
KB
-rw-r--r--
wireprotov1peer.py
21.51
KB
-rw-r--r--
wireprotov1server.py
26.33
KB
-rw-r--r--
worker.py
15.47
KB
-rw-r--r--
zstd.cpython-310-x86_64-linux-...
570.78
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : grep.py
# grep.py - logic for history walk and grep # # Copyright 2005-2007 Olivia Mackall <olivia@selenic.com> # # This software may be used and distributed according to the terms of the # GNU General Public License version 2 or any later version. from __future__ import absolute_import import difflib import errno from .i18n import _ from . import ( error, match as matchmod, pycompat, scmutil, util, ) def matchlines(body, regexp): begin = 0 linenum = 0 while begin < len(body): match = regexp.search(body, begin) if not match: break mstart, mend = match.span() linenum += body.count(b'\n', begin, mstart) + 1 lstart = body.rfind(b'\n', begin, mstart) + 1 or begin begin = body.find(b'\n', mend) + 1 or len(body) + 1 lend = begin - 1 yield linenum, mstart - lstart, mend - lstart, body[lstart:lend] class linestate(object): def __init__(self, line, linenum, colstart, colend): self.line = line self.linenum = linenum self.colstart = colstart self.colend = colend def __hash__(self): return hash(self.line) def __eq__(self, other): return self.line == other.line def findpos(self, regexp): """Iterate all (start, end) indices of matches""" yield self.colstart, self.colend p = self.colend while p < len(self.line): m = regexp.search(self.line, p) if not m: break if m.end() == p: p += 1 else: yield m.span() p = m.end() def difflinestates(a, b): sm = difflib.SequenceMatcher(None, a, b) for tag, alo, ahi, blo, bhi in sm.get_opcodes(): if tag == 'insert': for i in pycompat.xrange(blo, bhi): yield (b'+', b[i]) elif tag == 'delete': for i in pycompat.xrange(alo, ahi): yield (b'-', a[i]) elif tag == 'replace': for i in pycompat.xrange(alo, ahi): yield (b'-', a[i]) for i in pycompat.xrange(blo, bhi): yield (b'+', b[i]) class grepsearcher(object): """Search files and revisions for lines matching the given pattern Options: - all_files to search unchanged files at that revision. - diff to search files in the parent revision so diffs can be generated. - follow to skip files across copies and renames. """ def __init__( self, ui, repo, regexp, all_files=False, diff=False, follow=False ): self._ui = ui self._repo = repo self._regexp = regexp self._all_files = all_files self._diff = diff self._follow = follow self._getfile = util.lrucachefunc(repo.file) self._getrenamed = scmutil.getrenamedfn(repo) self._matches = {} self._copies = {} self._skip = set() self._revfiles = {} def skipfile(self, fn, rev): """Exclude the given file (and the copy at the specified revision) from future search""" copy = self._copies.get(rev, {}).get(fn) self._skip.add(fn) if copy: self._skip.add(copy) def searchfiles(self, revs, makefilematcher): """Walk files and revisions to yield (fn, ctx, pstates, states) matches states is a list of linestate objects. pstates may be empty unless diff is True. """ for ctx in scmutil.walkchangerevs( self._repo, revs, makefilematcher, self._prep ): rev = ctx.rev() parent = ctx.p1().rev() for fn in sorted(self._revfiles.get(rev, [])): states = self._matches[rev][fn] copy = self._copies.get(rev, {}).get(fn) if fn in self._skip: if copy: self._skip.add(copy) continue pstates = self._matches.get(parent, {}).get(copy or fn, []) if pstates or states: yield fn, ctx, pstates, states del self._revfiles[rev] # We will keep the matches dict for the duration of the window # clear the matches dict once the window is over if not self._revfiles: self._matches.clear() def _grepbody(self, fn, rev, body): self._matches[rev].setdefault(fn, []) m = self._matches[rev][fn] if body is None: return for lnum, cstart, cend, line in matchlines(body, self._regexp): s = linestate(line, lnum, cstart, cend) m.append(s) def _readfile(self, ctx, fn): rev = ctx.rev() if rev is None: fctx = ctx[fn] try: return fctx.data() except IOError as e: if e.errno != errno.ENOENT: raise else: flog = self._getfile(fn) fnode = ctx.filenode(fn) try: return flog.read(fnode) except error.CensoredNodeError: self._ui.warn( _( b'cannot search in censored file: ' b'%(filename)s:%(revnum)s\n' ) % {b'filename': fn, b'revnum': pycompat.bytestr(rev)} ) def _prep(self, ctx, fmatch): rev = ctx.rev() pctx = ctx.p1() self._matches.setdefault(rev, {}) if self._diff: parent = pctx.rev() self._matches.setdefault(parent, {}) files = self._revfiles.setdefault(rev, []) if rev is None: # in `hg grep pattern`, 2/3 of the time is spent is spent in # pathauditor checks without this in mozilla-central contextmanager = self._repo.wvfs.audit.cached else: contextmanager = util.nullcontextmanager with contextmanager(): # TODO: maybe better to warn missing files? if self._all_files: fmatch = matchmod.badmatch(fmatch, lambda f, msg: None) filenames = ctx.matches(fmatch) else: filenames = (f for f in ctx.files() if fmatch(f)) for fn in filenames: # fn might not exist in the revision (could be a file removed by # the revision). We could check `fn not in ctx` even when rev is # None, but it's less racy to protect againt that in readfile. if rev is not None and fn not in ctx: continue copy = None if self._follow: copy = self._getrenamed(fn, rev) if copy: self._copies.setdefault(rev, {})[fn] = copy if fn in self._skip: self._skip.add(copy) if fn in self._skip: continue files.append(fn) if fn not in self._matches[rev]: self._grepbody(fn, rev, self._readfile(ctx, fn)) if self._diff: pfn = copy or fn if pfn not in self._matches[parent] and pfn in pctx: self._grepbody(pfn, parent, self._readfile(pctx, pfn))
Close