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

Re: [TopGit PATCH] tg-patch: fix invocation in sub working tree directory

From
Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Date
Mar 17, 2009, 08:33 UTC
Message-ID
<20090317083326.GA22384@pengutronix.de>
In-Reply-To
<1237241299-25515-1-git-send-email-bert.wesarg@googlemail.com>
Hello again,
On Mon, Mar 16, 2009 at 11:08:19PM +0100, Bert Wesarg wrote:
Show 19 quoted lines
> --- a/tg-patch.sh
> +++ b/tg-patch.sh
> @@ -50,13 +50,18 @@ cat_file "$topic:.topmsg"
>  echo
>  [ -n "$(git grep $diff_opts '^[-]--' ${diff_committed_only:+"$name"} -- ".topmsg")" ] || echo '---'
>  
> +# if we are in a sub working tree dir, we need to prefix all file names from
> +# git diff --name-only with this cdup
> +cdup=$(git rev-parse --show-cdup)
> +
>  # Evil obnoxious hack to work around the lack of git diff --exclude
>  git_is_stupid="$(mktemp -t tg-patch-changes.XXXXXX)"
>  git diff --name-only $diff_opts "$base_rev" ${diff_committed_only:+"$name"} -- |
>  	fgrep -vx ".topdeps" |
>  	fgrep -vx ".topmsg" >"$git_is_stupid" || : # fgrep likes to fail randomly?
>  if [ -s "$git_is_stupid" ]; then
> -	cat "$git_is_stupid" | xargs git diff --patch-with-stat $diff_opts "$base_rev" ${diff_committed_only:+"$name"} --
> +	sed -e "s#^#$cdup#" "$git_is_stupid" |
> +		xargs git diff --patch-with-stat $diff_opts "$base_rev" ${diff_committed_only:+"$name"} --

My not move pretty_tree from tg-export.sh to tg.sh and use that. i.e.

	git diff $someopts "$(pretty_tree "$base_rev")" "$(pretty_tree "...")"

then we wouldn't need that git_is_stupid-hack and the relative path name thinggy wouldn hurt us.

Best regards Uwe

-- 
Pengutronix e.K.                              | Uwe Kleine-König            |
Industrial Linux Solutions                    | http://www.pengutronix.de/  |
Previous: Uwe Kleine-König
Message 6 of 6 in “tg-patch: fix invocation in sub working tree directory”
  1. tg-patch: fix invocation in sub working tree directoryBert Wesarg, Mar 16, 2009
  2. Junio C HamanoMar 16, 2009
  3. Bert WesargMar 16, 2009
  4. Junio C HamanoMar 17, 2009
  5. Uwe Kleine-KönigMar 17, 2009
  6. Uwe Kleine-KönigMar 17, 2009

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.