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

Re: [GUILT PATCH 1/5] get_series: Remove comments from end of series lines

From
JSJosef Sipek <jsipek@fsl.cs.sunysb.edu>
Date
Jul 31, 2007, 03:50 UTC
Message-ID
<20070731035018.GC12918@filer.fsl.cs.sunysb.edu>
In-Reply-To
<11858514812742-git-send-email-eclesh@ucla.edu>

On Mon, Jul 30, 2007 at 08:11:17PM -0700, Eric Lesh wrote: ...

Show 8 quoted lines
> @@ -290,14 +296,17 @@ series_insert_patch()
>  # usage: series_remove_patch <patchname>
>  series_remove_patch()
>  {
> -	grep -v "^$1\$" < "$series" > "$series.tmp"
> +	grep -v "^$1[[:space:]]*#*" < "$series" > "$series.tmp"
>  	mv "$series.tmp" "$series"
>  }

I haven't tested it, but I believe that this change would be very bad...suppose you have series with patches "foo" and "foo-2". Now if you try to remove foo, the regexp would end up being:

"^foo[ ]*#*"
This would match both patches!
  
Show 6 quoted lines
>  # usage: series_rename_patch <oldname> <newname>
>  series_rename_patch()
>  {
> -	awk -v old="$1" -v new="$2" \
> +	# Rename the patch, but preserve comments on the line
> +	old=$(grep -e "^$1[[:space:]]*" $series)
This could match multiple lines.
> +	new=$(echo "$old" | sed -e "s,^$1,$2,")

One more comment about sed...there are a number of place in guilt that take patch names and create regexps from them, but don't make sure things get properly escaped. I guess all the sed changes should be done in one go.

Also, beware that this is in a function, so setting $new and $old affects the _all_ of guilt. One way around it would be a force subshell to execute using parenthesis around the contents of the function body.

Show 17 quoted lines
> +	awk -v old="$old" -v new="$new" \
>  		'{ if ($0 == old) print new; else print $0 }' \
>  		"$series" > "$series.tmp"
>  
> diff --git a/regression/050-series.sh b/regression/050-series.sh
> index eb23540..4c47e9d 100755
> --- a/regression/050-series.sh
> +++ b/regression/050-series.sh
> @@ -26,7 +26,7 @@ modify
>  add
>  
>  remove
> -mode
> +mode # and text
>  #sure
>  DONE
>  }
Good :)
Jeff.
-- 
NT is to UNIX what a doughnut is to a particle accelerator.
Previous: Eric LeshNext: Eric Lesh
Message 3 of 16 in “Add guards to guilt”
  1. 0/5 Add guards to guiltEric Lesh, Jul 31, 2007
  2. 1/5 get_series: Remove comments from end of series linesEric Lesh, Jul 31, 2007
  3. Josef SipekJul 31, 2007
  4. 2/5 guilt-guard: Assign guards to patches in seriesEric Lesh, Jul 31, 2007
  5. Josef SipekJul 31, 2007
  6. Eric LeshAug 9, 2007
  7. David KastrupAug 9, 2007
  8. Thomas AdamAug 9, 2007
  9. David KastrupAug 9, 2007
  10. Eric LeshAug 9, 2007
  11. Eric LeshAug 9, 2007
  12. Josef SipekAug 9, 2007
  13. 3/5 guilt-select: Select guards to apply when pushing patchesEric Lesh, Jul 31, 2007
  14. 4/5 get_series: return guarded patches onlyEric Lesh, Jul 31, 2007
  15. 5/5 Guards test suiteEric Lesh, Jul 31, 2007
  16. Josef SipekJul 31, 2007

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.