branch of the `git.git` repository.
Documentation for older releases are available here:
- * link:v1.6.0.5/git.html[documentation for release 1.6.0.5]
-* link:v1.6.0.2/git.html[documentation for release 1.6.0.2]
++* link:v1.6.0.6/git.html[documentation for release 1.6.0.6]
* release notes for
++ link:RelNotes-1.6.0.6.txt[1.6.0.6],
+ link:RelNotes-1.6.0.5.txt[1.6.0.5],
+ link:RelNotes-1.6.0.4.txt[1.6.0.4],
+ link:RelNotes-1.6.0.3.txt[1.6.0.3],
link:RelNotes-1.6.0.2.txt[1.6.0.2],
link:RelNotes-1.6.0.1.txt[1.6.0.1],
link:RelNotes-1.6.0.txt[1.6.0].
--* link:v1.5.6.5/git.html[documentation for release 1.5.6.5]
++* link:v1.5.6.6/git.html[documentation for release 1.5.6.6]
* release notes for
++ link:RelNotes-1.5.6.6.txt[1.5.6.6],
link:RelNotes-1.5.6.5.txt[1.5.6.5],
link:RelNotes-1.5.6.4.txt[1.5.6.4],
link:RelNotes-1.5.6.3.txt[1.5.6.3],
link:RelNotes-1.5.6.1.txt[1.5.6.1],
link:RelNotes-1.5.6.txt[1.5.6].
--* link:v1.5.5.4/git.html[documentation for release 1.5.5.4]
++* link:v1.5.5.6/git.html[documentation for release 1.5.5.6]
* release notes for
++ link:RelNotes-1.5.5.6.txt[1.5.5.6],
++ link:RelNotes-1.5.5.5.txt[1.5.5.5],
link:RelNotes-1.5.5.4.txt[1.5.5.4],
link:RelNotes-1.5.5.3.txt[1.5.5.3],
link:RelNotes-1.5.5.2.txt[1.5.5.2],
link:RelNotes-1.5.5.1.txt[1.5.5.1],
link:RelNotes-1.5.5.txt[1.5.5].
--* link:v1.5.4.5/git.html[documentation for release 1.5.4.5]
++* link:v1.5.4.7/git.html[documentation for release 1.5.4.7]
* release notes for
++ link:RelNotes-1.5.4.7.txt[1.5.4.7],
++ link:RelNotes-1.5.4.6.txt[1.5.4.6],
link:RelNotes-1.5.4.5.txt[1.5.4.5],
link:RelNotes-1.5.4.4.txt[1.5.4.4],
link:RelNotes-1.5.4.3.txt[1.5.4.3],
use warnings;
use Term::ReadLine;
use Getopt::Long;
+ use Text::ParseWords;
use Data::Dumper;
use Term::ANSIColor;
+use File::Temp qw/ tempdir /;
+use Error qw(:try);
use Git;
+Getopt::Long::Configure qw/ pass_through /;
+
package FakeTerm;
sub new {
my ($class, $reason) = @_;
# spaces delimit multiple addresses
$aliases{$1} = [ split(/\s+/, $2) ];
}}},
- pine => sub { my $fh = shift; while (<$fh>) {
- if (/^(\S+)\t.*\t(.*)$/) {
+ pine => sub { my $fh = shift; my $f='\t[^\t]*';
+ for (my $x = ''; defined($x); $x = $_) {
+ chomp $x;
+ $x .= $1 while(defined($_ = <$fh>) && /^ +(.*)$/);
+ $x =~ /^(\S+)$f\t\(?([^\t]+?)\)?(:?$f){0,2}$/ or next;
- $aliases{$1} = [ split(/\s*,\s*/, $2) ];
+ $aliases{$1} = [ split_addrs($2) ];
- }}},
+ }},
gnus => sub { my $fh = shift; while (<$fh>) {
if (/\(define-mail-alias\s+"(\S+?)"\s+"(\S+?)"\)/) {
$aliases{$1} = [ $2 ];