Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Git::SVN::Fetcher(3)  User Contributed Perl Documentation Git::SVN::Fetcher(3)

NAME
       Git::SVN::Fetcher - tree	delta consumer for "git	svn fetch"

SYNOPSIS
	   use SVN::Core;
	   use SVN::Ra;
	   use Git::SVN;
	   use Git::SVN::Fetcher;
	   use Git;

	   my $gs = Git::SVN->find_by_url($url);
	   my $ra = SVN::Ra->new(url =>	$url);
	   my $editor =	Git::SVN::Fetcher->new($gs);
	   my $reporter	= $ra->do_update($SVN::Core::INVALID_REVNUM, '',
					 1, $editor);
	   $reporter->set_path('', $old_rev, 0);
	   $reporter->finish_report;
	   my $tree = $gs->tmp_index_do(sub { command_oneline('write-tree') });

	   foreach my $path (keys %{$editor->{dir_prop}) {
	       my $props = $editor->{dir_prop}{$path};
	       foreach my $prop	(keys %$props) {
		   print "property $prop at $path changed to $props->{$prop}\n";
	       }
	   }
	   foreach my $path (keys %{$editor->{empty}) {
	       my $action = $editor->{empty}{$path} ? 'added' :	'removed';
	       print "empty directory $path $action\n";
	   }
	   foreach my $path (keys %{$editor->{file_prop}) { ...	}
	   foreach my $parent (keys %{$editor->{absent_dir}}) {
	       my @children = @{$editor->{abstent_dir}{$parent}};
	       print "cannot fetch directory $parent/$_: not authorized?\n"
		   foreach @children;
	   }
	   foreach my $parent (keys %{$editor->{absent_file}) {	... }

DESCRIPTION
       This is a subclass of "SVN::Delta::Editor", which means it implements
       callbacks to act	as a consumer of Subversion tree deltas.  This
       particular implementation of those callbacks is meant to	store
       information about the resulting content which git svn fetch could use
       to populate new commits and new entries for unhandled.log.  More
       specifically:

       o   Additions, removals,	and modifications of files are propagated to
	   git-svn's index file	$GIT_DIR/svn/$refname/index using git update-
	   index.

       o   Changes in Subversion path properties are recorded in the
	   "dir_prop" and "file_prop" fields (which are	hashes).

       o   Addition and	removal	of empty directories are indicated by entries
	   with	value 1	and 0 respectively in the "empty" hash.

       o   Paths that are present but cannot be	conveyed (presumably due to
	   permissions)	are recorded in	the "absent_file" and "absent_dirs"
	   hashes.  For	each key, the corresponding value is a list of paths
	   under that directory	that were present but could not	be conveyed.

       The interface is	unstable.  Do not use this module unless you are
       developing git-svn.

DEPENDENCIES
       SVN::Delta from the Subversion perl bindings, the core Carp and
       File::Basename modules, and git's Git helper module.

       "Git::SVN::Fetcher" has not been	tested using callers other than	git-
       svn itself.

SEE ALSO
       SVN::Delta, Git::SVN::Editor.

INCOMPATIBILITIES
       None reported.

BUGS
       None.

perl v5.24.1			  2017-06-24		  Git::SVN::Fetcher(3)

NAME | SYNOPSIS | DESCRIPTION | DEPENDENCIES | SEE ALSO | INCOMPATIBILITIES | BUGS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Git::SVN::Fetcher&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help