[PATCH 1/3] UBUNTU: git-ubuntu-log -- commonise duplicated log handling

Stefan Bader stefan.bader at canonical.com
Wed Feb 10 13:08:04 UTC 2010


This looks much better to me. Even I understand it now.

Andy Whitcroft wrote:
> We have two copies of the handling for Bug: et al in get-ubuntu-log
> only differing in whether Ignore: handling is active.  Refactor this
> code to share a single copy of this processing.
> 
> Signed-off-by: Andy Whitcroft <apw at canonical.com>
Acked-by: Stefan Bader <stefan.bader at canonical.com>
> ---
>  debian/scripts/misc/git-ubuntu-log |   43 +++++++++++++----------------------
>  1 files changed, 16 insertions(+), 27 deletions(-)
> 
> diff --git a/debian/scripts/misc/git-ubuntu-log b/debian/scripts/misc/git-ubuntu-log
> index 666e831..2ac19bc 100755
> --- a/debian/scripts/misc/git-ubuntu-log
> +++ b/debian/scripts/misc/git-ubuntu-log
> @@ -168,6 +168,7 @@ sub changelog_input {
>  		elsif ($pstate == 4) {
>  			next unless /^\s*?(.*)/;
>  			my $ignore = 0;
> +			my $do_ignore = 0;
>  			my $bug = undef;
>  			my %bugz = ();
>  			my $k;
> @@ -180,38 +181,26 @@ sub changelog_input {
>  			$desc = $1;
>  
>  			if ($desc =~ /^ *(Revert "|)UBUNTU:/) {
> -				while (<STDIN>) {
> -					$ignore  =  1 if /^ *Ignore: yes/i;
> -					if    (/^ *Bug: *(#|)(.*)/i) {
> -						foreach $k (split('(,|)*\s*#', $2)) {
> -							$bugz{$k} = 1 if (($k ne '') and ($k =~ /[0-9]+/));
> -						}
> -					}
> -					elsif (/^ *BugLink: *http.*:\/\/.*\/([0-9]+)/i) {
> -						$bugz{$1} = 1;
> -					}
> -					elsif (/^ *(CVE-.*)/) {
> -						$cve = $1
> -					}
> -					last if /^commit /;
> -				}
> +				$do_ignore = 1;
>  			} else {
> +				$do_ignore = 0;
>  				$author = $kernel_auth;
>  				$ignore = 1 if $desc =~ /Merge /;
> -				while (<STDIN>) {
> -					if    (/^ *Bug: *(#|)(.*)/i) {
> -						foreach $k (split('(,|)*\s*#', $2)) {
> -							$bugz{$k} = 1 if (($k ne '') and ($k =~ /[0-9]+/));
> -						}
> -					}
> -					elsif (/^ *BugLink: *http.*:\/\/.*\/([0-9]+)/i) {
> -						$bugz{$1} = 1;
> -					}
> -					elsif (/^ *(CVE-.*)/) {
> -						$cve = $1
> +			}
> +			while (<STDIN>) {
> +				$ignore  =  1 if ($do_ignore && /^ *Ignore: yes/i);
> +				if    (/^ *Bug: *(#|)(.*)/i) {
> +					foreach $k (split('(,|)*\s*#', $2)) {
> +						$bugz{$k} = 1 if (($k ne '') and ($k =~ /[0-9]+/));
>  					}
> -					last if /^commit /;
>  				}
> +				elsif (/^ *BugLink: *http.*:\/\/.*\/([0-9]+)/i) {
> +					$bugz{$1} = 1;
> +				}
> +				elsif (/^ *(CVE-.*)/) {
> +					$cve = $1
> +				}
> +				last if /^commit /;
>  			}
>  
>                          $bug = join(", #", keys(%bugz));





More information about the kernel-team mailing list