git-svn: add git svn proplist
This allows one to easily retrieve a list of svn properties from within git-svn without requiring svn or knowing the URL of a repository. * git-svn.perl (%cmd): Add the command `proplist'. (&cmd_proplist): New. * t/t9101-git-svn-props.sh: Test git svn proplist. Signed-off-by: Benoit Sigoure <tsuna@lrde.epita.fr> Acked-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>maint
							parent
							
								
									1515345156
								
							
						
					
					
						commit
						51e057cf80
					
				
							
								
								
									
										18
									
								
								git-svn.perl
								
								
								
								
							
							
						
						
									
										18
									
								
								git-svn.perl
								
								
								
								
							|  | @ -135,6 +135,9 @@ my %cmd = ( | |||
|         'propget' => [ \&cmd_propget, | ||||
| 		       'Print the value of a property on a file or directory', | ||||
| 		       { 'revision|r=i' => \$_revision } ], | ||||
|         'proplist' => [ \&cmd_proplist, | ||||
| 		       'List all properties of a file or directory', | ||||
| 		       { 'revision|r=i' => \$_revision } ], | ||||
| 	'show-ignore' => [ \&cmd_show_ignore, "Show svn:ignore listings", | ||||
| 			{ 'revision|r=i' => \$_revision | ||||
| 			} ], | ||||
|  | @ -536,7 +539,7 @@ sub cmd_create_ignore { | |||
|  | ||||
| # get_svnprops(PATH) | ||||
| # ------------------ | ||||
| # Helper for cmd_propget below. | ||||
| # Helper for cmd_propget and cmd_proplist below. | ||||
| sub get_svnprops { | ||||
| 	my $path = shift; | ||||
| 	my ($url, $rev, $uuid, $gs) = working_head_info('HEAD'); | ||||
|  | @ -583,6 +586,19 @@ sub cmd_propget { | |||
| 	print $props->{$prop} . "\n"; | ||||
| } | ||||
|  | ||||
| # cmd_proplist (PATH) | ||||
| # ------------------- | ||||
| # Print the list of SVN properties for PATH. | ||||
| sub cmd_proplist { | ||||
| 	my $path = shift; | ||||
| 	$path = '.' if not defined $path; | ||||
| 	my $props = get_svnprops($path); | ||||
| 	print "Properties on '$path':\n"; | ||||
| 	foreach (sort keys %{$props}) { | ||||
| 		print "  $_\n"; | ||||
| 	} | ||||
| } | ||||
|  | ||||
| sub cmd_multi_init { | ||||
| 	my $url = shift; | ||||
| 	unless (defined $_trunk || defined $_branches || defined $_tags) { | ||||
|  |  | |||
|  | @ -193,4 +193,25 @@ test_expect_success 'test propget' " | |||
| 	git-svn propget svn:ignore .././deeply/nested | cmp - ../prop.expect | ||||
| 	" | ||||
|  | ||||
| cat >prop.expect <<\EOF | ||||
| Properties on '.': | ||||
|   svn:entry:committed-date | ||||
|   svn:entry:committed-rev | ||||
|   svn:entry:last-author | ||||
|   svn:entry:uuid | ||||
|   svn:ignore | ||||
| EOF | ||||
| cat >prop2.expect <<\EOF | ||||
| Properties on 'nested/directory/.keep': | ||||
|   svn:entry:committed-date | ||||
|   svn:entry:committed-rev | ||||
|   svn:entry:last-author | ||||
|   svn:entry:uuid | ||||
| EOF | ||||
|  | ||||
| test_expect_success 'test proplist' " | ||||
| 	git-svn proplist . | cmp - prop.expect && | ||||
| 	git-svn proplist nested/directory/.keep | cmp - prop2.expect | ||||
| 	" | ||||
|  | ||||
| test_done | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Benoit Sigoure
						Benoit Sigoure