Provided by: mercurial-common_6.9.4-1_all bug

NAME

       hg import - import an ordered set of patches

SYNOPSIS

       hg import [OPTION]... PATCH...

DESCRIPTION

       Import a list of patches and commit them individually (unless --no-commit is specified).

       To  read a patch from standard input (stdin), use "-" as the patch name. If a URL is specified, the patch
       will be downloaded from there.

       Import first applies changes to the working directory (unless --bypass is specified), import  will  abort
       if there are outstanding changes.

       Use  --bypass  to  apply  and  commit  patches  directly to the repository, without affecting the working
       directory. Without --exact, patches will be applied on top of the working directory parent revision.

       You can import a patch straight from a mail message. Even patches as attachments work (to  use  the  body
       part,  it  must have type text/plain or text/x-patch). From and Subject headers of email message are used
       as default committer and commit message. All text/plain body parts before first diff  are  added  to  the
       commit message.

       If  the  imported  patch was generated by hg export, user and description from patch override values from
       message headers and body. Values given on command line with -m/--message and -u/--user override these.

       If --exact is specified, import will set the working  directory  to  the  parent  of  each  patch  before
       applying  it,  and  will abort if the resulting changeset has a different ID than the one recorded in the
       patch. This will guard against various ways that portable patch formats and mail systems  might  fail  to
       transfer Mercurial data or metadata. See hg bundle for lossless transmission.

       Use  --partial  to  ensure  a  changeset will be created from the patch even if some hunks fail to apply.
       Hunks that fail to apply will be written to a <target-file>.rej file. Conflicts can then be  resolved  by
       hand  before  hg  commit  --amend is  run to update the created changeset. This flag exists to let people
       import patches that partially apply without losing the associated metadata  (author,  date,  description,
       ...).

       Note   When  no  hunks  apply cleanly, hg import --partial will create an empty changeset, importing only
              the patch metadata.

       With -s/--similarity, hg will attempt to discover renames and copies in the patch in the same way  as  hg
       addremove.

       It  is possible to use external patch programs to perform the patch by setting the ui.patch configuration
       option. For the default internal tool, the fuzz can also be  configured  via  patch.fuzz.   See  hg  help
       config for more information about configuration files and how to use these options.

       See hg help dates for a list of formats valid for -d/--date.

       Examples:

       • import a traditional patch from a website and detect renames:

         hg import -s 80 http://example.com/bugfix.patch

       • import a changeset from an hgweb server:

         hg import https://www.mercurial-scm.org/repo/hg/rev/5ca8c111e9aa

       • import all the patches in an Unix-style mbox:

         hg import incoming-patches.mbox

       • import patches from stdin:

         hg import -

       • attempt to exactly restore an exported changeset (not always possible):

         hg import --exact proposed-fix.patch

       • use an external tool to apply a patch which is too fuzzy for the default internal tool.

         hg import --config ui.patch="patch --merge" fuzzy.patch

       • change the default fuzzing from 2 to a less strict 7

         hg import --config ui.fuzz=7 fuzz.patch

         Returns 0 on success, 1 on partial success (see --partial).

OPTIONS

       -p,--strip <NUM>
              directory  strip  option  for  patch.  This has the same meaning as the corresponding patch option
              (default: 1)

       -b,--base <PATH>
              base path (DEPRECATED)

       --secret
              use the secret phase for committing

       -e, --edit
              invoke editor on commit messages

       -f, --force
              skip check for outstanding uncommitted changes (DEPRECATED)

       --no-commit
              don't commit, just update the working directory

       --bypass
              apply patch without touching the working directory

       --partial
              commit even if some hunks fail

       --exact
              abort if patch would apply lossily

       --prefix <DIR>
              apply patch to subdirectory

       --import-branch
              use any branch information in patch (implied by --exact)

       -m,--message <TEXT>
              use text as commit message

       -l,--logfile <FILE>
              read commit message from file

       -d,--date <DATE>
              record the specified date as commit date

       -u,--user <USER>
              record the specified user as committer

       -s,--similarity <SIMILARITY>
              guess renamed files by similarity (0<=s<=100)

ALIASES

       patch

                                                                                                      HG(IMPORT)