git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 7] gitweb: Cleanup - chomp @lines in consistent style

From
Jakub Narebski <jnareb@gmail.com>
Date
Jul 30, 2006, 12:58 UTC
Message-ID
<200607301458.13848.jnareb@gmail.com>
In-Reply-To
<200607292239.11034.jnareb@gmail.com>

Use 'my @lines = map { chomp; $_ } <$fd>;' form to read all lines of git command output into array without trailing newlines.

It has advantage over 'chomp (my (@lines) = <$fd>);' in that it does not modify array.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
---
 gitweb/gitweb.cgi |   19 +++++++++----------
 1 files changed, 9 insertions(+), 10 deletions(-)
diff --git a/gitweb/gitweb.cgi b/gitweb/gitweb.cgi
index 86b9547..d5248fe 100755
--- a/gitweb/gitweb.cgi
+++ b/gitweb/gitweb.cgi
@@ -1064,7 +1064,7 @@ sub git_summary {
 	      "</table>\n";
 	open my $fd, "-|", $GIT, "rev-list", "--max-count=17", git_read_head($project) 
 		or die_error(undef, "Open git-rev-list failed.");
-	my (@revlist) = map { chomp; $_ } <$fd>;
+	my @revlist = map { chomp; $_ } <$fd>;
 	close $fd;
 	print "<div>\n" .
 	      $cgi->a({-href => "$my_uri?" . esc_param("p=$project;a=shortlog"), -class => "title"}, "shortlog") .
@@ -1709,7 +1709,7 @@ sub git_tree {
 	$/ = "\0";
 	open my $fd, "-|", $GIT, "ls-tree", '-z', $hash 
 		or die_error(undef, "Open git-ls-tree failed.");
-	chomp (my (@entries) = <$fd>);
+	my @entries = map { chomp; $_ } <$fd>;
 	close $fd or die_error(undef, "Reading tree failed.");
 	$/ = "\n";
 
@@ -1791,7 +1791,7 @@ sub git_rss {
 	# http://www.notestips.com/80256B3A007F2692/1/NAMO5P9UPQ
 	open my $fd, "-|", $GIT, "rev-list", "--max-count=150", git_read_head($project) 
 		or die_error(undef, "Open git-rev-list failed.");
-	my (@revlist) = map { chomp; $_ } <$fd>;
+	my @revlist = map { chomp; $_ } <$fd>;
 	close $fd or die_error(undef, "Reading rev-list failed.");
 	print $cgi->header(-type => 'text/xml', -charset => 'utf-8');
 	print "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n".
@@ -1900,7 +1900,7 @@ sub git_log {
 	my $limit = sprintf("--max-count=%i", (100 * ($page+1)));
 	open my $fd, "-|", $GIT, "rev-list", $limit, $hash 
 		or die_error(undef, "Open git-rev-list failed.");
-	my (@revlist) = map { chomp; $_ } <$fd>;
+	my @revlist = map { chomp; $_ } <$fd>;
 	close $fd;
 
 	if ($hash ne $head || $page) {
@@ -1983,14 +1983,13 @@ sub git_commit {
 	my %ad = date_str($co{'author_epoch'}, $co{'author_tz'});
 	my %cd = date_str($co{'committer_epoch'}, $co{'committer_tz'});
 
-	my @difftree;
 	my $parent = $co{'parent'};
 	if (!defined $parent) {
 		$parent = "--root";
 	}
 	open my $fd, "-|", $GIT, "diff-tree", '-r', '-M', $parent, $hash 
 		or die_error(undef, "Open git-diff-tree failed.");
-	@difftree = map { chomp; $_ } <$fd>;
+	my @difftree = map { chomp; $_ } <$fd>;
 	close $fd or die_error(undef, "Reading git-diff-tree failed.");
 
 	# non-textual hash id's can be cached
@@ -2237,7 +2236,7 @@ sub git_commitdiff {
 	}
 	open my $fd, "-|", $GIT, "diff-tree", '-r', $hash_parent, $hash
 		or die_error(undef, "Open git-diff-tree failed.");
-	my (@difftree) = map { chomp; $_ } <$fd>;
+	my @difftree = map { chomp; $_ } <$fd>;
 	close $fd or die_error(undef, "Reading diff-tree failed.");
 
 	# non-textual hash id's can be cached
@@ -2328,14 +2327,14 @@ sub git_commitdiff_plain {
 	mkdir($git_temp, 0700);
 	open my $fd, "-|", $GIT, "diff-tree", '-r', $hash_parent, $hash 
 		or die_error(undef, "Open git-diff-tree failed.");
-	my (@difftree) = map { chomp; $_ } <$fd>;
+	my @difftree = map { chomp; $_ } <$fd>;
 	close $fd or die_error(undef, "Reading diff-tree failed.");
 
 	# try to figure out the next tag after this commit
 	my $tagname;
 	my $refs = read_info_ref("tags");
 	open $fd, "-|", $GIT, "rev-list", "HEAD";
-	chomp (my (@commits) = <$fd>);
+	my @commits = map { chomp; $_ } <$fd>;
 	close $fd;
 	foreach my $commit (@commits) {
 		if (defined $refs->{$commit}) {
@@ -2622,7 +2621,7 @@ sub git_shortlog {
 	my $limit = sprintf("--max-count=%i", (100 * ($page+1)));
 	open my $fd, "-|", $GIT, "rev-list", $limit, $hash 
 		or die_error(undef, "Open git-rev-list failed.");
-	my (@revlist) = map { chomp; $_ } <$fd>;
+	my @revlist = map { chomp; $_ } <$fd>;
 	close $fd;
 
 	if ($hash ne $head || $page) {
-- 
1.4.0
Previous: Jakub NarebskiNext: Jakub Narebski
Message 14 of 54 in “Some gitweb patches”
  1. Some gitweb patchesJakub Narebski, Jul 29, 2006
  2. gitweb: whitespace cleanupJakub Narebski, Jul 29, 2006
  3. gitweb: Use list for of open for running git commands, thorougly.Jakub Narebski, Jul 29, 2006
  4. Jakub NarebskiJul 30, 2006
  5. Junio C HamanoJul 31, 2006
  6. Jakub NarebskiJul 31, 2006
  7. Jakub NarebskiJul 31, 2006
  8. Jakub NarebskiJul 31, 2006
  9. Jakub NarebskiJul 31, 2006
  10. gitweb: simplify git_get_hash_by_pathJakub Narebski, Jul 29, 2006
  11. gitweb: More explicit error messages for open "-|"Jakub Narebski, Jul 29, 2006
  12. gitweb: Cleanup - chomp $line in consistent styleJakub Narebski, Jul 30, 2006
  13. gitweb: Correct error from changing "-|" open to list form in git_commitJakub Narebski, Jul 30, 2006
  14. gitweb: Cleanup - chomp @lines in consistent styleJakub Narebski, Jul 30, 2006
  15. gitweb: Add git_page_nav for later useJakub Narebski, Jul 30, 2006
  16. gitweb: Navbar refactoring - use git_page_nav to generate navigation barJakub Narebski, Jul 30, 2006
  17. gitweb: Replace form-feed character by ^LJakub Narebski, Jul 30, 2006
  18. gitweb: Read project description using utf-8 encodingJakub Narebski, Jul 30, 2006
  19. Jakub NarebskiJul 30, 2006
  20. gitweb: Show project descriptions with utf-8 characters in project list correctlyJakub Narebski, Jul 30, 2006
  21. gitweb: Add "\n" after <br/> in git_page_navJakub Narebski, Jul 30, 2006
  22. gitweb: Pager refactoring - use git_get_paging_nav for paginationJakub Narebski, Jul 30, 2006
  23. gitweb: Remove $project from git_get_paging_nav argumentsJakub Narebski, Jul 30, 2006
  24. gitweb: Headers refactoring - use git_header_div for header divsJakub Narebski, Jul 30, 2006
  25. gitweb: Remove characters entities entirely when shortening stringJakub Narebski, Jul 30, 2006
  26. Jakub NarebskiJul 31, 2006
  27. Jakub NarebskiJul 31, 2006
  28. gitweb: Ref refactoring - use git_get_referencing for marking tagged/head commitsJakub Narebski, Jul 31, 2006
  29. gitweb: Refactor generation of shortlog, tags and heads bodyJakub Narebski, Jul 31, 2006
  30. gitweb: No need to quote path for list version of open "-|"Jakub Narebski, Jul 31, 2006
  31. Junio C HamanoJul 31, 2006
  32. Jakub NarebskiJul 31, 2006
  33. Junio C HamanoAug 1, 2006
  34. There can be more than two levels of subdirectoriesJunio C Hamano, Aug 1, 2006
  35. gitweb: Reordering code and dividing it into categoriesJakub Narebski, Jul 31, 2006
  36. gitweb: Reordering code and dividing it into categoriesJakub Narebski, Jul 31, 2006
  37. gitweb: use a hash to lookup the sub for an actionMatthias Lederhofer, Jul 31, 2006
  38. Junio C HamanoJul 31, 2006
  39. Jakub NarebskiJul 31, 2006
  40. Luben TuikovAug 1, 2006
  41. Jakub Narebski, Aug 1, 2006
  42. Perhaps an obvious cut and paste error.Junio C Hamano, Aug 1, 2006
  43. Jakub NarebskiAug 1, 2006
  44. A few more fixups to gitwebJunio C Hamano, Aug 1, 2006
  45. Jakub NarebskiAug 1, 2006
  46. Junio C HamanoAug 1, 2006
  47. 1/2 Use tabs for indent in shell scriptsJakub Narebski, Aug 1, 2006
  48. 2/2 Set User-Agent string in shell scripts used for fetchingJakub Narebski, Aug 1, 2006
  49. Junio C HamanoAug 1, 2006
  50. Junio C HamanoAug 1, 2006
  51. Jakub NarebskiAug 1, 2006
  52. Luben TuikovAug 1, 2006
  53. gitweb: clean up user configuration partMatthias Lederhofer, Aug 1, 2006
  54. gitweb: include perl files for configurationMatthias Lederhofer, Aug 1, 2006

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.