Git::CPAN::Patch::Command::Import - Import a module into a git repository


version 2.3.4


    # takes any string CPANPLUS handles:

    % git-cpan import Foo::Bar
    % git-cpan import A/AU/AUTHORID/Foo-Bar-0.03.tar.gz
    % git-cpan import

    # If the repository is already initialized, can be run with no arguments to
    # import the latest version
    git-cpan import


This command is used internally by git-cpan-init, git-cpan-update and git-backpan-init.

This command takes a tarball, extracts it, and imports it into the repository.

It is only possible to update to a newer version of a module.

The module history is tracked in refs/remotes/cpan/master.

Tags are created for each version of the module.

This command does not touch the working directory, and is safe to run even if you have pending work.


--check, --nocheck

Explicitly enables/disables version checking. If version checking is enabled, which is the default, git-cpan-import will refuse to import a version of the package that has a smaller version number than the HEAD of the branch cpan/master.


Allows adding extra parents when importing, so that when a patch has been incorporated into an upstream version the generated commit is like a merge commit, incorporating both the CPAN history and the user's local history.

For example, this will set the current HEAD of the master branch as a parent of the imported CPAN package:

    $ git checkout master
    $ git-cpan import --parent HEAD My-Module

More than one '--parent' can be specified.


Forces the author name to the given value, instead of trying to resolve it from the release metadata.


Forces the author email to the given value, instead of trying to resolve it from the release metadata.


Yuval Kogman <>

Yanick Champoux <>




Yanick Champoux <>


This software is copyright (c) 2018, 2017, 2016, 2015, 2014, 2013, 2012, 2011, 2010, 2009 by Yanick Champoux.
