This is v2 of the Perl rewrite of Felipe Contreras' git-related v9 patch
series which was written in Ruby. v2 addresses (hopefully all of)
Junio's v1 review points.
Changes since v1:
* Match Signed-off-by:, etc. labels case-insensitively.
* Recognize Cc: in addition to Signed-off-by: and other typical labels.
* Match SHA-1's and surrounding context more strictly in output of
git-format-patch, git-blame, git-cat-file.
* Mention -C in commit message of [1/3].
* Pass just a single -C to git-blame and git-diff. Previously, git-blame
was invoked inconsistently with '-C -C' and git-diff with '-C'.
* Employ git-blame --porcelain rather than --incremental.
* Fix bug where a "new file" ('--- /dev/null') hunk following a "changed
file" ('--- a/path/to/file') hunk would incorrectly invoke git-blame
on "changed file" with line numbers from "new file".
* Fix bug where filename containing whitespace was not recognized
correctly when scanning hunk source lines ('--- /a/file name').
* Abort when unable to parse hunk source ('--- path') from diff with
* Emit diagnostic, rather than exiting silently, when user neglects to
provide input arguments.
* Combine v1 patches [1/4] and [2/4]. As Junio pointed, a single patch
file may contain multiple patches (for example "git format-patch
--stdout -4 >P.mbox"), so the machinery for dealing with multiple
patches must already be present in [1/4] whether the patches come from
one file or many. Consequently, adding "multiple file" support
involved only a very minor change to @ARGV handling, not deserving of
a separate [2/4] patch.
* Drop Perl source file and line number information from user-facing
Possible future directions and considerations:
* Add mailmap support.
* Make participation parameters (minimum-percent, blame since-date, -C
* Optimize by coalescing ranges into a single git-blame -L invocation;
or enhance git-blame to accept multiple -L's.
* Improve Windows support if needed, possibly via grabbing
run_cmd_pipe() from git-add--interactive.perl or similar.
Eric Sunshine (3):
contrib: add git-contacts helper
contrib: contacts: add ability to parse from committish
contrib: contacts: interpret committish akin to format-patch
contrib/contacts/git-contacts | 170 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 170 insertions(+)
create mode 100755 contrib/contacts/git-contacts
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html