include revisions of feeds when listing them
SVN-Revision: 31467
This commit is contained in:
		| @@ -105,22 +105,27 @@ my %update_method = ( | |||||||
| 	'src-svn' => { | 	'src-svn' => { | ||||||
| 		'init'		=> "svn checkout '%s' '%s'", | 		'init'		=> "svn checkout '%s' '%s'", | ||||||
| 		'update'	=> "svn update", | 		'update'	=> "svn update", | ||||||
| 		'controldir'	=> ".svn"}, | 		'controldir'	=> ".svn", | ||||||
|  | 		'revision'	=> "svn info | grep 'Revision' | cut -d ' ' -f 2 | tr -d '\n'"}, | ||||||
| 	'src-cpy' => { | 	'src-cpy' => { | ||||||
| 		'init'		=> "cp -Rf '%s' '%s'", | 		'init'		=> "cp -Rf '%s' '%s'", | ||||||
| 		'update'	=> ""}, | 		'update'	=> "", | ||||||
|  | 		'revision'	=> "echo -n 'local'"}, | ||||||
| 	'src-link' => { | 	'src-link' => { | ||||||
| 		'init'		=> "ln -s '%s' '%s'", | 		'init'		=> "ln -s '%s' '%s'", | ||||||
| 		'update'	=> ""}, | 		'update'	=> "", | ||||||
|  | 		'revision'	=> "echo -n 'local'"}, | ||||||
| 	'src-git' => { | 	'src-git' => { | ||||||
| 		'init'		=> "git clone --depth 1 '%s' '%s'", | 		'init'		=> "git clone '%s' '%s'", | ||||||
| 		'init_branch'	=> "git clone --depth 1 --branch '%s' '%s' '%s'", | 		'init_branch'	=> "git clone --branch '%s' '%s' '%s'", | ||||||
| 		'update'	=> "git pull", | 		'update'	=> "git pull", | ||||||
| 		'controldir'	=> ".git"}, | 		'controldir'	=> ".git", | ||||||
|  | 		'revision'	=> "git show --abbrev-commit HEAD | head -n 1 | cut -d ' ' -f 2 | tr -d '\n'"}, | ||||||
| 	'src-gitsvn' => { | 	'src-gitsvn' => { | ||||||
|                 'init'          => "git svn clone -r HEAD '%s' '%s'", | 		'init'	=> "git svn clone -r HEAD '%s' '%s'", | ||||||
|                 'update'        => "git svn rebase", | 		'update'	=> "git svn rebase", | ||||||
|                 'controldir'    => ".git"}, | 		'controldir'	=> ".git", | ||||||
|  | 		'revision'	=> "git show --abbrev-commit HEAD | head -n 1 | cut -d ' ' -f 2 | tr -d '\n'"}, | ||||||
| 	'src-bzr' => { | 	'src-bzr' => { | ||||||
| 		'init'		=> "bzr checkout --lightweight '%s' '%s'", | 		'init'		=> "bzr checkout --lightweight '%s' '%s'", | ||||||
| 		'update'	=> "bzr update", | 		'update'	=> "bzr update", | ||||||
| @@ -249,14 +254,31 @@ sub list_feed { | |||||||
| sub list { | sub list { | ||||||
| 	my %opts; | 	my %opts; | ||||||
|  |  | ||||||
| 	getopts('r:sh', \%opts); | 	getopts('r:d:sh', \%opts); | ||||||
| 	if ($opts{h}) { | 	if ($opts{h}) { | ||||||
| 		usage(); | 		usage(); | ||||||
| 		return 0; | 		return 0; | ||||||
| 	} | 	} | ||||||
| 	if ($opts{s}) { | 	if ($opts{s}) { | ||||||
| 		foreach my $feed (@feeds) { | 		foreach my $feed (@feeds) { | ||||||
| 			printf "\%-32s\tURL: %s\n", $feed->[1], join(", ", @{$feed->[2]}); | 			my $localpath = "./feeds/$feed->[1]"; | ||||||
|  | 			my $m = $update_method{$feed->[0]}; | ||||||
|  | 			my $revision; | ||||||
|  | 			if( !$m->{'revision'} ) { | ||||||
|  | 				$revision = "X"; | ||||||
|  | 			} | ||||||
|  | 			elsif( $m->{'controldir'} && -d "$localpath/$m->{'controldir'}" ) { | ||||||
|  | 				$revision = `cd '$localpath'; $m->{'revision'}`; | ||||||
|  | 			} | ||||||
|  | 			else { | ||||||
|  | 				$revision = "local"; | ||||||
|  | 			} | ||||||
|  | 			if ($opts{d}) { | ||||||
|  | 				printf "%s%s%s%s%s%s%s\n", $feed->[1], $opts{d}, $feed->[0], $opts{d}, $revision, $opts{d}, join(", ", @{$feed->[2]}); | ||||||
|  | 			} | ||||||
|  | 			else { | ||||||
|  | 				printf "\%-8s \%-8s \%-8s \%s\n", $feed->[1], $feed->[0], $revision, join(", ", @{$feed->[2]}); | ||||||
|  | 			} | ||||||
| 		} | 		} | ||||||
| 		return 0; | 		return 0; | ||||||
| 	} | 	} | ||||||
| @@ -564,10 +586,11 @@ sub usage() { | |||||||
| Usage: $0 <command> [options] | Usage: $0 <command> [options] | ||||||
|  |  | ||||||
| Commands: | Commands: | ||||||
| 	list [options]: List feeds and their content | 	list [options]: List feeds, their content and revisions (if installed) | ||||||
| 	Options: | 	Options: | ||||||
| 	    -s :           List of feed names and their URL. | 	    -s :            List of feed names and their URL. | ||||||
| 	    -r <feedname>: List packages of specified feed. | 	    -r <feedname>:  List packages of specified feed. | ||||||
|  | 	    -d <delimiter>: Use specified delimiter to distinguish rows (default: spaces) | ||||||
|  |  | ||||||
| 	install [options] <package>: Install a package | 	install [options] <package>: Install a package | ||||||
| 	Options: | 	Options: | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Mirko Vogt
					Mirko Vogt