Mercurial > hg
changeset 26510:77c13f3c01ca
bundle: extract the parsing of the bundle type in a function
We are going to introduce significant extensions of the bundle parsing code to
support creation of bundle2 through the bundle command. As an early step, we
extract the logic in its own function.
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Thu, 01 Oct 2015 18:01:24 -0700 |
parents | 83d82fbefccb |
children | bb3d961c1648 |
files | mercurial/cmdutil.py mercurial/commands.py |
diffstat | 2 files changed, 19 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/cmdutil.py Thu Oct 01 19:14:47 2015 -0700 +++ b/mercurial/cmdutil.py Thu Oct 01 18:01:24 2015 -0700 @@ -10,7 +10,7 @@ import os, sys, errno, re, tempfile, cStringIO, shutil import util, scmutil, templater, patch, error, templatekw, revlog, copies import match as matchmod -import repair, graphmod, revset, phases, obsolete, pathutil +import repair, graphmod, revset, phases, obsolete, pathutil, changegroup import changelog import bookmarks import encoding @@ -3330,3 +3330,20 @@ % self._filename) raise util.Abort(msg) self._abort() + +def parsebundletype(bundletype): + """return the internal bundle type to use from a user input + + This is parsing user specified bundle type as accepted in: + + 'hg bundle --type TYPE'. + """ + btypes = {'none': 'HG10UN', + 'bzip2': 'HG10BZ', + 'gzip': 'HG10GZ', + 'bundle2': 'HG20'} + bundletype = btypes.get(bundletype) + if bundletype not in changegroup.bundletypes: + raise util.Abort(_('unknown bundle type specified with --type')) + return bundletype +
--- a/mercurial/commands.py Thu Oct 01 19:14:47 2015 -0700 +++ b/mercurial/commands.py Thu Oct 01 18:01:24 2015 -0700 @@ -1238,13 +1238,7 @@ revs = scmutil.revrange(repo, opts['rev']) bundletype = opts.get('type', 'bzip2').lower() - btypes = {'none': 'HG10UN', - 'bzip2': 'HG10BZ', - 'gzip': 'HG10GZ', - 'bundle2': 'HG20'} - bundletype = btypes.get(bundletype) - if bundletype not in changegroup.bundletypes: - raise util.Abort(_('unknown bundle type specified with --type')) + bundletype = cmdutil.parsebundletype(bundletype) if opts.get('all'): base = ['null']