sapling/mercurial
Denis Laxalde 6af640ec03 hgweb: fix diff hunks filtering by line range in webutil.diffs()
The previous clause for filter out a diff hunk was too restrictive. We need to
consider the following cases (assuming linerange=(lb, ub) and the @s2,l2
hunkrange):

            <-(s2)--------(s2+l2)->
      <-(lb)---(ub)->
               <-(lb)---(ub)->
                           <-(lb)---(ub)->

previously on the first and last situations were considered.

In test-hgweb-filelog.t, add a couple of lines at the beginning of file "b" so
that the line range we will follow does not start at the beginning of file.
This covers the change in aforementioned diff hunk filter clause.
2017-03-29 12:07:07 +02:00
..
cffi setup: move cffi stuff to mercurial/cffi 2016-11-09 22:08:30 +00:00
default.d mergetools.rc: find OSX FileMerge in the new location inside Xcode 4.3 2015-10-16 11:37:34 +02:00
help help: format `commands` heading correctly 2017-03-22 16:36:53 -07:00
hgweb hgweb: fix diff hunks filtering by line range in webutil.diffs() 2017-03-29 12:07:07 +02:00
httpclient httpclient: don't use mutable default argument value 2017-03-14 23:49:25 -07:00
pure py3: abuse r'' to preserve str-ness of literals passed to __setattr__() 2017-03-26 16:33:12 +09:00
templates templates: shorten definition of changeset labels in command-line style 2017-03-28 22:38:45 +02:00
__init__.py py3: rewrite itervalues() as values() by importer 2017-03-13 08:44:57 -07:00
ancestor.py py3: add __bool__ to every class defining __nonzero__ 2017-03-13 12:40:14 -07:00
archival.py py3: remove use of *L syntax 2016-09-01 02:29:46 +05:30
base85.c base85: fix comparison of an int and a long 2015-08-21 14:29:42 -04:00
bdiff_module.c bdiff: use Python memory allocator in fixws 2017-03-09 11:54:25 -08:00
bdiff.c bdiff: split bdiff into cpy-aware and cpy-agnostic part 2016-07-13 10:46:26 +02:00
bdiff.h bdiff: split bdiff into cpy-aware and cpy-agnostic part 2016-07-13 10:46:26 +02:00
bitmanipulation.h internals: move the bitmanipulation routines into its own file 2016-06-06 13:08:13 +02:00
bookmarks.py bookmarks: use tryunlink 2017-03-21 06:50:28 -07:00
branchmap.py branchmap: be more careful about using %d on ints 2017-03-19 01:01:25 -04:00
bundle2.py bundle2: use ProgrammingError 2017-03-26 16:57:25 -07:00
bundlerepo.py revlog: flag processor 2017-01-10 16:15:21 +00:00
byterange.py pycompat: switch to util.urlreq/util.urlerr for py3 compat 2016-04-06 23:22:12 +00:00
changegroup.py merge with stable 2017-03-24 08:37:26 -07:00
changelog.py py3: use bytes() to cast to immutable bytes in changelog.appender.write() 2017-03-26 16:31:01 +09:00
chgserver.py chgserver: do not copy configs set by environment variables 2017-03-28 08:40:12 -07:00
cmdutil.py cmdutil: add a "changeset.obsolete" label in changeset_printer 2017-03-25 09:39:07 +01:00
color.py color: stop mutating the default effects map 2017-03-25 13:50:17 -04:00
commands.py summary: display obsolete state of parents 2017-03-25 11:30:08 +01:00
commandserver.py commandserver: update comment about setpgid 2016-07-18 15:59:08 +01:00
compat.h compat: define ssize_t as int on 32bit Windows, silences C4142 warning 2016-07-15 23:54:56 +09:00
config.py ui: move configlist parser to config.py 2017-03-17 09:19:56 -07:00
context.py metadataonlyctx: speed up sanity check 2017-03-26 12:26:35 -07:00
copies.py merge: avoid superfluous filemerges when grafting through renames (issue5407) 2016-10-25 21:01:53 +02:00
crecord.py crecord: use ProgrammingError 2017-03-26 17:00:23 -07:00
dagparser.py error: get Abort from 'error' instead of 'util' 2015-10-08 12:55:45 -07:00
dagutil.py dagutil: use absolute_import 2015-08-08 19:04:09 -07:00
debugcommands.py color: stop mutating the default effects map 2017-03-25 13:50:17 -04:00
demandimport.py py3: abuse r'' to preserve str-ness of literals passed to __setattr__() 2017-03-26 16:33:12 +09:00
destutil.py update: use single quotes in use warning 2016-09-02 21:49:33 +00:00
diffhelpers.c diffhelpers: fix botched return statement from e48d70075d8a 2015-01-28 13:34:20 -05:00
dirs.c dirs: use PyVarObject_HEAD_INIT 2016-10-13 13:14:14 +02:00
dirstate.py dirstate: use tryunlink 2017-03-21 06:50:28 -07:00
dirstateguard.py dirstateguard: move to new module so I can break some layering violations 2016-11-21 21:29:32 -05:00
discovery.py checkheads: extract obsolete post processing in its own function 2017-03-21 23:30:13 +01:00
dispatch.py dispatch: use pycompat.maplist() instead of map() to get a list 2017-03-26 20:49:18 +05:30
dummycert.pem ssl: on OS X, use a dummy cert to trick Python/OpenSSL to use system CA certs 2014-09-26 02:19:48 +02:00
encoding.py encoding: add converter between native str and byte string 2017-03-13 09:12:56 -07:00
error.py error: use r-string to properly pop hints from **kw 2017-03-19 01:02:42 -04:00
exchange.py exchange: use v2 bundles for modern compression engines (issue5506) 2017-03-16 12:33:15 -07:00
exewrapper.c exewrapper: prefer HackableMercurial python if availbale 2017-03-13 12:44:13 -07:00
extensions.py encoding: add converter between native str and byte string 2017-03-13 09:12:56 -07:00
fancyopts.py flags: allow specifying --no-boolean-flag on the command line (BC) 2016-09-13 22:57:57 -04:00
filelog.py revlog: merge hash checking subfunctions 2016-12-13 14:21:36 +00:00
filemerge.py filemerge: explicitly tests for None 2017-03-15 15:11:52 -07:00
fileset.py fileset: perform membership test against set for status queries 2017-03-28 14:40:13 -07:00
formatter.py formatter: support json formatting of long type 2017-03-13 18:31:29 -07:00
graphmod.py graphlog: draw multiple edges towards null node (issue5440) 2017-03-20 11:50:55 +09:00
hbisect.py bisect: move check_state into the bisect module 2016-08-24 04:25:20 +02:00
help.py help: make "mergetool" an alias for "merge-tools" 2017-01-13 21:21:02 -08:00
hg.py clone: get rid of ui.backupconfig 2017-03-16 14:18:50 -07:00
hook.py hook: split config reading further 2016-04-14 17:03:49 -07:00
httpconnection.py httpconnection: make sure to clear progress of httpsendfile at EOF 2017-03-18 16:02:14 +09:00
httppeer.py httppeer: advertise and support application/mercurial-0.2 2016-12-24 15:22:18 -07:00
i18n.py i18n: make the locale directory name the same string type as the datapath 2016-10-08 05:26:18 -04:00
keepalive.py keepalive: switch from thread to threading module 2016-07-01 19:17:16 +05:30
localrepo.py tags: deprecated 'repo.tag' 2017-03-27 16:00:47 +02:00
lock.py lock: do not encode result of gethostname on Python 2 2017-03-12 16:26:34 -07:00
lsprof.py lsprof: use print function 2016-01-02 11:40:53 -08:00
lsprofcalltree.py lsprofcalltree: use print function 2016-01-02 11:45:29 -08:00
mail.py encoding: factor out unicode variants of from/tolocal() 2017-03-13 09:11:08 -07:00
manifest.c manifest: use PyVarObject_HEAD_INIT 2016-10-13 13:17:23 +02:00
manifest.py py3: fix manifestdict.fastdelta() to be compatible with memoryview 2017-03-26 19:06:48 +09:00
match.py match: explicitly tests for None 2017-03-15 15:08:45 -07:00
mdiff.py diff: use pycompat.{byteskwargs, strkwargs} to switch opts b/w bytes and str 2017-03-26 20:58:21 +05:30
merge.py merge: use ProgrammingError 2017-03-26 16:55:56 -07:00
mergeutil.py checkunresolved: move to new package to help avoid import cycles 2016-11-21 21:31:45 -05:00
minirst.py minirst: use bytes.strip instead of str.strip 2017-03-12 22:46:57 +05:30
mpatch_module.c mpatch: raise MemoryError instead of mpatchError if lalloc() failed 2016-08-07 10:06:56 +09:00
mpatch.c internals: move the bitmanipulation routines into its own file 2016-06-06 13:08:13 +02:00
mpatch.h mpatch: raise MemoryError instead of mpatchError if lalloc() failed 2016-08-07 10:06:56 +09:00
namespaces.py namespaces: fix name/node confusion 2016-03-16 23:12:43 +00:00
node.py node: use byte literals to construct nullid and wdirid 2016-03-12 14:04:57 -08:00
obsolete.py py3: add __bool__ to every class defining __nonzero__ 2017-03-13 12:40:14 -07:00
osutil.c statfs: make getfstype() raise OSError 2017-03-25 17:25:23 +09:00
parser.py util: wrap s.decode('string_escape') calls for future py3 compatibility 2017-03-17 23:42:46 +09:00
parsers.c parsers: use Python memory allocator for indexObject->offsets 2017-03-09 12:09:31 -08:00
patch.py diff: use pycompat.{byteskwargs, strkwargs} to switch opts b/w bytes and str 2017-03-26 20:58:21 +05:30
pathencode.c pathencode: use assert() for PyBytes_Check() 2016-10-13 21:42:11 +02:00
pathutil.py util: rename checkcase() to fscasesensitive() (API) 2016-08-30 09:22:53 -07:00
peer.py py3: convert to next() function 2016-05-16 21:30:53 +00:00
phases.py phases: explicitly evaluate list returned by map 2017-03-11 20:53:20 -05:00
policy.py py3: add "b" prefix to string literals related to module policy 2017-03-13 04:06:36 +09:00
posix.py util: unify unlinkpath 2017-03-21 06:50:28 -07:00
profiling.py py3: replace pycompat.getenv with encoding.environ.get 2017-01-15 13:17:05 +05:30
progress.py progress: stop excessive clearing (issue4801) 2016-05-06 17:53:06 -05:00
pushkey.py pushkey: use absolute_import 2015-08-08 19:57:27 -07:00
pvec.py pvec: use absolute_import 2015-12-21 21:32:58 -08:00
pycompat.py py3: stop exporting urlparse from pycompat and util (API) 2017-03-21 22:47:49 -07:00
rcutil.py rcutil: extract duplicated logic to a lambda 2017-03-28 07:57:56 -07:00
registrar.py registrar: make format strings unicodes and not bytes 2016-10-07 08:32:18 -04:00
repair.py repair: use ProgrammingError 2017-03-26 16:53:28 -07:00
repoview.py py3: use portable way to stringify cache key of repoview 2017-03-12 17:20:42 -07:00
revlog.py py3: fix slicing of byte string in revlog.compress() 2017-03-26 17:12:06 +09:00
revset.py revset: factor out linerange processing into a utility function 2017-02-24 18:39:08 +01:00
revsetlang.py revsetlang: fix _quote on int on python3 2017-03-26 16:48:29 -04:00
scmposix.py smcposix: pass unicode as first argument to array.array 2017-03-12 22:27:53 +05:30
scmutil.py rcutil: move scmutil.*rcpath to rcutil (API) 2017-03-26 20:18:42 -07:00
scmwindows.py py3: conditionalize _winreg import 2016-08-10 04:35:44 +05:30
server.py server: use tryunlink 2017-03-21 06:50:28 -07:00
setdiscovery.py setdiscovery: use iterbatch interface instead of batch 2016-03-01 17:44:41 -05:00
similar.py similar: use cheaper hash() function to test exact matches 2017-03-23 20:57:27 +09:00
simplemerge.py simplemerge: move conflict warning message to filemerge 2015-10-09 13:54:52 -07:00
smartset.py py3: add __bool__ to every class defining __nonzero__ 2017-03-13 12:40:14 -07:00
sshpeer.py i18n: translate abort messages 2016-06-14 11:53:55 +02:00
sshserver.py wireproto: compress data from a generator 2016-10-16 11:10:21 -07:00
sslutil.py sslutil: guard against broken certifi installations (issue5406) 2016-10-19 18:06:14 +02:00
statichttprepo.py manifest: make manifestlog a storecache 2016-10-18 17:33:39 -07:00
statprof.py statprof: require input file 2017-01-18 22:45:07 -08:00
store.py store: py26 compat, don't use a dict comprehension 2016-10-09 12:58:22 +02:00
streamclone.py streamclone: clear caches after writing changes into files for visibility 2016-09-12 03:06:29 +09:00
subrepo.py subrepo: move prompts out of the if (issue5505) 2017-03-20 04:36:55 -07:00
tagmerge.py tagmerge: use 'wvfs' instead of 'wfile' 2017-03-15 00:28:58 -07:00
tags.py tags: move 'repo.tag' in the 'tags' module 2017-03-27 15:58:31 +02:00
templatefilters.py util: wrap s.encode('string_escape') call for future py3 compatibility 2017-03-15 23:06:50 +09:00
templatekw.py templatekw: add an "obsolete" keyword 2017-03-25 10:34:11 +01:00
templater.py templater: make pad() strip color codes before computing width (issue5416) 2017-03-18 21:02:20 +09:00
transaction.py transaction: use ProgrammingError 2017-03-26 16:59:30 -07:00
treediscovery.py error: get Abort from 'error' instead of 'util' 2015-10-08 12:55:45 -07:00
txnutil.py txnutil: factor out the logic to read file in according to HG_PENDING 2017-02-21 01:20:59 +09:00
ui.py ui: defer setting pager related properties until the pager has spawned 2017-03-25 21:12:00 -04:00
unionrepo.py revlog: add 'raw' argument to revision and _addrevision 2017-01-05 17:16:07 +00:00
url.py py3: replace pycompat.getenv with encoding.environ.get 2017-01-15 13:17:05 +05:30
util.h parsers: move PyInt aliasing out of util.h 2016-10-09 13:50:53 +02:00
util.py statfs: make getfstype() raise OSError 2017-03-25 17:25:23 +09:00
verify.py verify: specify unit for ui.progress when checking files 2016-03-11 20:18:41 +08:00
vfs.py py3: abuse r'' to preserve str-ness of literals passed to __setattr__() 2017-03-26 16:33:12 +09:00
win32.py py3: use pycompat.getcwd instead of os.getcwd 2016-12-22 01:54:17 +05:30
windows.py py3: abuse r'' to preserve str-ness of literals passed to __setattr__() 2017-03-26 16:33:12 +09:00
wireproto.py util: wrap s.encode('string_escape') call for future py3 compatibility 2017-03-15 23:06:50 +09:00
worker.py worker: flush ui buffers before running the worker 2017-03-28 10:21:38 -07:00