diff options
author | Michael G. Schwern <schwern@pobox.com> | 2012-07-26 17:26:05 -0700 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2012-07-27 22:36:17 +0000 |
commit | 10c2aa5928b5309374bb4328f1c2849cb4ae65cc (patch) | |
tree | 1b68a9b74290241c38952a21f9bd5a03142d1af1 | |
parent | e96cdba110346691794c1160db17f7a1b1f974b5 (diff) | |
download | git-10c2aa5928b5309374bb4328f1c2849cb4ae65cc.tar.gz git-10c2aa5928b5309374bb4328f1c2849cb4ae65cc.tar.xz |
Move Git::IndexInfo into its own file.
Straight cut & paste. Didn't require any fixing.
Signed-off-by: Eric Wong <normalperson@yhbt.net>
-rwxr-xr-x | git-svn.perl | 32 | ||||
-rw-r--r-- | perl/Git/IndexInfo.pm | 33 | ||||
-rw-r--r-- | perl/Git/SVN/Fetcher.pm | 1 | ||||
-rw-r--r-- | perl/Makefile | 1 | ||||
-rw-r--r-- | t/Git-SVN/00compile.t | 3 |
5 files changed, 37 insertions, 33 deletions
diff --git a/git-svn.perl b/git-svn.perl index 139f8eafb..ca0b6f298 100755 --- a/git-svn.perl +++ b/git-svn.perl @@ -2040,38 +2040,6 @@ sub gc_directory { } -package Git::IndexInfo; -use strict; -use warnings; -use Git qw/command_input_pipe command_close_pipe/; - -sub new { - my ($class) = @_; - my ($gui, $ctx) = command_input_pipe(qw/update-index -z --index-info/); - bless { gui => $gui, ctx => $ctx, nr => 0}, $class; -} - -sub remove { - my ($self, $path) = @_; - if (print { $self->{gui} } '0 ', 0 x 40, "\t", $path, "\0") { - return ++$self->{nr}; - } - undef; -} - -sub update { - my ($self, $mode, $hash, $path) = @_; - if (print { $self->{gui} } $mode, ' ', $hash, "\t", $path, "\0") { - return ++$self->{nr}; - } - undef; -} - -sub DESTROY { - my ($self) = @_; - command_close_pipe($self->{gui}, $self->{ctx}); -} - package Git::SVN::GlobSpec; use strict; use warnings; diff --git a/perl/Git/IndexInfo.pm b/perl/Git/IndexInfo.pm new file mode 100644 index 000000000..a43108c98 --- /dev/null +++ b/perl/Git/IndexInfo.pm @@ -0,0 +1,33 @@ +package Git::IndexInfo; +use strict; +use warnings; +use Git qw/command_input_pipe command_close_pipe/; + +sub new { + my ($class) = @_; + my ($gui, $ctx) = command_input_pipe(qw/update-index -z --index-info/); + bless { gui => $gui, ctx => $ctx, nr => 0}, $class; +} + +sub remove { + my ($self, $path) = @_; + if (print { $self->{gui} } '0 ', 0 x 40, "\t", $path, "\0") { + return ++$self->{nr}; + } + undef; +} + +sub update { + my ($self, $mode, $hash, $path) = @_; + if (print { $self->{gui} } $mode, ' ', $hash, "\t", $path, "\0") { + return ++$self->{nr}; + } + undef; +} + +sub DESTROY { + my ($self) = @_; + command_close_pipe($self->{gui}, $self->{ctx}); +} + +1; diff --git a/perl/Git/SVN/Fetcher.pm b/perl/Git/SVN/Fetcher.pm index ef8e9ed2a..76fae9bce 100644 --- a/perl/Git/SVN/Fetcher.pm +++ b/perl/Git/SVN/Fetcher.pm @@ -57,6 +57,7 @@ sub new { $self->{file_prop} = {}; $self->{absent_dir} = {}; $self->{absent_file} = {}; + require Git::IndexInfo; $self->{gii} = $git_svn->tmp_index_do(sub { Git::IndexInfo->new }); $self->{pathnameencoding} = Git::config('svn.pathnameencoding'); $self; diff --git a/perl/Makefile b/perl/Makefile index 794626ea2..0b0e345cc 100644 --- a/perl/Makefile +++ b/perl/Makefile @@ -29,6 +29,7 @@ instdir_SQ = $(subst ','\'',$(prefix)/lib) modules += Git modules += Git/I18N +modules += Git/IndexInfo modules += Git/SVN modules += Git/SVN/Memoize/YAML modules += Git/SVN/Fetcher diff --git a/t/Git-SVN/00compile.t b/t/Git-SVN/00compile.t index 1307b65e8..541943874 100644 --- a/t/Git-SVN/00compile.t +++ b/t/Git-SVN/00compile.t @@ -3,10 +3,11 @@ use strict; use warnings; -use Test::More tests => 5; +use Test::More tests => 6; require_ok 'Git::SVN'; require_ok 'Git::SVN::Utils'; require_ok 'Git::SVN::Ra'; require_ok 'Git::SVN::Log'; require_ok 'Git::SVN::Migration'; +require_ok 'Git::IndexInfo'; |