Git::CPAN::Patch - Patch CPAN modules using Git


version 2.5.0


# import a module:

% git-cpan clone Foo::Bar
% cd Foo-Bar

# hack and submit to RT

# it's probably best to work in a branch
% git checkout -b blah

... hack lib/Foo/Bar.pm ...

% git commit -am "blah"
% git-cpan send-patch

# update the module
# this automatically rebases the current branch
% git-cpan update


[Git::CPAN::Patch](https://metacpan.org/pod/Git%3A%3ACPAN%3A%3APatch) provides a suite of git commands
aimed at making trivially
easy the process of  grabbing
any distribution off CPAN, stuffing it
in a local git repository and, once gleeful
hacking has been perpetrated, sending back
patches to its maintainer.

NOTE: This module is supported in Linux, BSD, and the like. This 
module is **not** supported in Microsoft Windows (Cygwin, Strawberry Perl). 
See [CPAN Testers Matrix](http://matrix.cpantesters.org/?dist=Git-CPAN-Patch)
for currently supported operating systems.


- [clone](https://metacpan.org/pod/Git%3A%3ACPAN%3A%3APatch%3A%3ACommand%3A%3AClone)

    Clone a CPAN module's history into a new git repository

- [import](https://metacpan.org/pod/Git%3A%3ACPAN%3A%3APatch%3A%3ACommand%3A%3AImport)

    Import a module into a git repository.

- [send-email](https://metacpan.org/pod/Git%3A%3ACPAN%3A%3APatch%3A%3ACommand%3A%3ASendEmail)

    Use `git-send-email` to submit patches to CPAN RT

- [send-patch](https://metacpan.org/pod/Git%3A%3ACPAN%3A%3APatch%3A%3ACommand%3A%3ASendPatch)

    Create patch files and submit then to RT

- [update](https://metacpan.org/pod/Git%3A%3ACPAN%3A%3APatch%3A%3ACommand%3A%3AUpdate)

    Import the latest version of a module and rebase the current branch

- [format-patch](https://metacpan.org/pod/Git%3A%3ACPAN%3A%3APatch%3A%3ACommand%3A%3AFormatPatch)

    Format patches using `cpan/master` as the origin reference

- [squash](https://metacpan.org/pod/Git%3A%3ACPAN%3A%3APatch%3A%3ACommand%3A%3ASquash)

    Combine multiple commits into one patch

- [which](https://metacpan.org/pod/Git%3A%3ACPAN%3A%3APatch%3A%3ACommand%3A%3AWhich)

    Report upon the managed module


Yanick Champoux `<yanick@cpan.org>` [![endorse](http://api.coderwall.com/yanick/endorsecount.png)](http://coderwall.com/yanick)

Yuval Kogman `<nothingmuch@woobling.org>`


## Articles

The set of scripts that would eventually become
[Git::CPAN::Patch](https://metacpan.org/pod/Git%3A%3ACPAN%3A%3APatch) were first presented in the
article _CPAN Patching with Git_, published in
issue 5.1 of [The Perl Review](http://theperlreview.com).


Yanick Champoux <yanick@cpan.org> [![endorse](http://api.coderwall.com/yanick/endorsecount.png)](http://coderwall.com/yanick)


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

This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.