Index: subversion/bindings/swig/perl/native/Fs.pm
===================================================================
--- subversion/bindings/swig/perl/native/Fs.pm	(revision 18949)
+++ subversion/bindings/swig/perl/native/Fs.pm	(working copy)
@@ -23,7 +23,7 @@
 our @methods = qw/youngest_rev revision_root revision_prop revision_proplist
 		  change_rev_prop list_transactions open_txn begin_txn
 		  get_uuid set_uuid set_access get_access
-                  lock unlock get_lock get_locks generate_lock_token/;
+                  lock unlock get_lock get_locks generate_lock_token path/;
 
 for (@methods) {
     no strict 'refs';
@@ -42,6 +42,7 @@
 		 revision_root_revision/;
 
 *fs = *SVN::Fs::root_fs;
+*txn_name = *_p_svn_fs_txn_t::root_name;
 
 for (@methods) {
     no strict 'refs';
Index: subversion/bindings/swig/perl/native/t/2fs.t
===================================================================
--- subversion/bindings/swig/perl/native/t/2fs.t	(revision 18949)
+++ subversion/bindings/swig/perl/native/t/2fs.t	(working copy)
@@ -1,6 +1,6 @@
 #!/usr/bin/perl -w
 
-use Test::More tests => 11;
+use Test::More tests => 16;
 use strict;
 no warnings 'once'; # shut up about variables that are only used once.
 
@@ -22,11 +22,18 @@
 cmp_ok($fs->youngest_rev, '==', 0,
        "new repository start with rev 0");
 
+is($fs->path, "$repospath/db", '$fs->path()');
+is(SVN::Fs::type($fs->path), 'fsfs', 'SVN::Fs::type()');
+
 my $txn = $fs->begin_txn($fs->youngest_rev);
 
 my $txns = $fs->list_transactions;
 ok(eq_array($fs->list_transactions, [$txn->name]), 'list transaction');
 
+isa_ok($txn->root, '_p_svn_fs_root_t', '$txn->root()');
+is($txn->root->txn_name, $txn->name, '$txn->root->txn_name()');
+is($fs->revision_root($fs->youngest_rev)->txn_name, undef);
+
 $txn->root->make_dir('trunk');
 
 my $path = 'trunk/filea';


