sapling/hgext3rd
Jun Wu 143b8c67d9 lfs: rewrite pointer logic
Summary:
Since we decided to only support GitHub's Git LFS specification, there is no
need to support multiple pointer types, so the code could be simplified.

The old code special case keys like `version`, `oid`, `hashalgo`, which makes
it longer than necessary. The new code is a rewrite treating everything as a
normal dict entry so the pointer class is much shorter: 76 -> 21 lines.

Data validation is temporary lost, which will be added back (and stronger) by
the next diff. It is separated to make review easier.


Test Plan: Run existing tests

Reviewers: #mercurial, davidsp, rmcelroy

Reviewed By: rmcelroy

Subscribers: rmcelroy

Differential Revision: https://phabricator.intern.facebook.com/D5043547

Signature: t1:5043547:1494543031:ac1100939a10a79dfd749ab6ac9c3bb7fcd84dbf
2017-05-11 17:48:21 -07:00
..
absorb absorb: do not invalidate fsmonitorstate 2017-04-21 19:47:00 -07:00
lfs lfs: rewrite pointer logic 2017-05-11 17:48:21 -07:00
__init__.py debian: Do not package hgext3rd/__init__.py 2016-12-19 16:34:49 -08:00
allowunstable.py codemod: get rid of ui.backupconfig 2017-03-17 19:42:50 -07:00
arcdiff.py arcdiff: use absolute paths 2017-01-20 00:24:45 -08:00
backups.py backups: small output improvements for backups extension 2017-04-24 10:00:31 -07:00
bundle2hooks.py hgext: move single file extensions to hgext3rd 2016-07-08 13:15:42 +01:00
catnotate.py testedwith: change testedwith to "ships-with-fb-hgext" 2016-11-29 13:24:07 +00:00
checkmessagehook.py checkmessagehook: use reposetup to setup a hook 2017-03-02 01:05:19 -08:00
chistedit.py chistedit: choose default revision just like histedit 2017-04-24 10:00:31 -07:00
cleanobsstore.py cleanobsstore: write cleanobsstore output to stderr 2017-04-26 03:55:16 -07:00
commitextras.py testedwith: change testedwith to "ships-with-fb-hgext" 2016-11-29 13:24:07 +00:00
conflictinfo.py resolve: add internal:dumpjson as an internal merge tool (as an extension, for now) 2017-04-25 12:46:28 -07:00
debugcommitmessage.py extension to print commit message that would be supplied to editor 2016-10-03 04:39:51 -07:00
debuginhibit.py warnings: remove deprecated nested usages 2017-04-20 10:58:50 -07:00
dialect.py testedwith: change testedwith to "ships-with-fb-hgext" 2016-11-29 13:24:07 +00:00
dirsync.py dirsync: rename in-repo config file to .hgdirsync 2017-03-20 10:55:43 -07:00
edrecord.py edrecord: allow specifying a different editor for chunk selection 2017-04-06 16:49:27 -07:00
errorredirect.py errorredirect: log and fallback to old error handler when appropriate 2017-04-04 10:27:30 -07:00
extorder.py fb-hgext: fix test-check-code.t failures 2017-03-24 15:22:31 -07:00
extutil.py extutil: add unit tests for runbgcommand 2017-04-11 11:25:40 -07:00
fastlog.py fastlog: fix ScmQuery request parameter name 2017-04-12 13:51:18 -07:00
fastpartialmatch.py fastpartialmatch: handle nullid correctly 2017-04-26 03:55:59 -07:00
fbamend.py warnings: remove deprecated nested usages 2017-04-20 10:58:50 -07:00
fbconduit.py templater: fixup for templater changes upstream 2017-04-18 13:04:11 -07:00
fbhistedit.py codemod: replace repo.join to repo.vfs.join 2017-03-13 20:51:37 -07:00
fbmetaedit.py fbmetaedit: intoduce the extension 2017-03-15 07:40:26 -07:00
fbshow.py hgext: rename show.py to fbshow.py to prevent upstream collision 2017-04-06 13:36:18 -07:00
fixcorrupt.py fixcorrupt: automatically look back as far as necessary 2017-04-12 14:09:22 -07:00
generic_bisect.py fastpartialmatch: use bisect to quickly find matching revisions 2017-02-02 05:12:10 -08:00
githelp.py githelp: making the unknown message footer configurable 2017-05-11 07:19:32 -07:00
gitlookup.py gitlookup: fix lookup if not string is passed 2017-04-04 01:04:40 -07:00
gitrevset.py gitlookup: fix gitnode() template and revset 2017-03-29 07:13:41 -07:00
grepdiff.py grepdiff: fix to match upstream 2017-03-12 12:49:18 -07:00
grpcheck.py testedwith: change testedwith to "ships-with-fb-hgext" 2016-11-29 13:24:07 +00:00
hiddenerror.py hiddenerror: fix out of bounds error 2017-02-25 15:26:19 -08:00
inhibitwarn.py pyflakes: fix all pyflakes issues 2016-11-25 00:23:21 +00:00
linkrevcache.py linkrevcache: update documentation 2016-12-02 00:59:48 +00:00
logginghelper.py logginghelper: log obsstore size 2017-04-25 01:09:28 -07:00
mergedriver.py codemod: get rid of ui.backupconfig 2017-03-17 19:42:50 -07:00
morecolors.py morecolors: new extension to add more colors to outputs 2017-04-25 17:03:26 -07:00
morestatus.py morestatus: add config knob to allow some states to be skipped 2017-05-03 13:34:36 -04:00
myparent.py templates: fix help messages for template keywords 2017-01-19 12:52:54 -08:00
nointerrupt.py nointerrupt: allowing attendance to default to True 2017-04-24 10:00:31 -07:00
ownercheck.py ownercheck: new extension to prevent operations on repos not owned 2016-07-26 13:10:15 +01:00
patchpython.py patchpython: fix test-check tests 2016-10-20 16:03:31 +01:00
patchrmdir.pyx patchrmdir: new extension to workaround rmdir kernel issues 2017-03-15 18:55:48 -07:00
perftweaks.py perftweaks: remove hardlink tweak 2017-03-27 10:43:01 -07:00
phabdiff.py templater: fixup for templater changes upstream 2017-04-18 13:04:11 -07:00
phabstatus.py phabstatus: fail gracefully if necessary arcrc settings are missing 2017-03-30 11:55:39 -07:00
phrevset.py phrevset: return baseset instead of list 2017-04-24 09:47:52 -07:00
progressfile.py progressfile: fix trailing space 2017-04-26 14:19:39 -07:00
pullcreatemarkers.py pyflakes: fix all pyflakes issues 2016-11-25 00:23:21 +00:00
pushrebase.py pushrebase: fix a typo in comment 2017-05-03 16:19:11 -07:00
pushvars.py pyflakes: fix all pyflakes issues 2016-11-25 00:23:21 +00:00
rage.py rage: include klist output 2017-04-19 03:18:04 -07:00
reset.py codemod: replace repo.join to repo.vfs.join 2017-03-13 20:51:37 -07:00
sampling.py sampling: fix comment 2017-02-07 00:39:26 -08:00
sigtrace.py sigtrace: new extension provides stack traces on signal 2017-03-07 17:25:40 -08:00
simplecache.py testedwith: change testedwith to "ships-with-fb-hgext" 2016-11-29 13:24:07 +00:00
smartlog.py templater: fixup for templater changes upstream 2017-04-18 13:04:11 -07:00
sparse.py sparse: restore sparse profile on exception during import 2017-05-04 04:58:43 -07:00
sshaskpass.py sshaskpass: do not import mercurial 2017-01-05 17:04:34 +00:00
tweakdefaults.py tweakdefaults: let commit -M support revset 2017-05-06 10:26:20 -07:00
uncommit.py warnings: remove deprecated nested usages 2017-04-20 10:58:50 -07:00
upgradegeneraldelta.py pyflakes: fix all pyflakes issues 2016-11-25 00:23:21 +00:00
whereami.py whereami: add extension 2017-02-17 16:01:02 +00:00