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

Re: [PATCH] cg-commit chokes when given a very large list of files

From
Bryan Larsen <bryan.larsen@gmail.com>
Date
Jul 18, 2005, 03:29 UTC
Message-ID
<42DB2225.2070207@gmail.com>
In-Reply-To
<20050718031808.20247.43698.sendpatchset@bryan-larsens-ibook-g4.local>
This patch is broken.  The original patch still works.
Bryan
Bryan Larsen wrote:
Show 33 quoted lines
> cg-commit currently chokes when passed a very large list of files.
> Fix it.
> 
> This patch depends on your filenames not containing line feeds.  No
> big deal, other parts of cogito break on filenames containing line
> feeds.
> 
> Resent because previous send appears to have been dropped.  This patch
> is cleaner.
> 
> Signed-off-by: Bryan Larsen <bryan.larsen@gmail.com>
> ---
> 
>  cg-commit |    6 +++---
>  1 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/cg-commit b/cg-commit
> --- a/cg-commit
> +++ b/cg-commit
> @@ -289,9 +289,9 @@ precommit_update () {
>  		eval "queue$op[\${#queue$op[@]}]=\"\$fname\""
>  	done
>  	# XXX: Do we even need to do the --add and --remove update-caches?
> -	[ "$queueN" ] && { git-update-cache --add ${infoonly} -- "${queueN[@]}" || return 1; }
> -	[ "$queueD" ] && { git-update-cache --force-remove -- "${queueD[@]}" || return 1; }
> -	[ "$queueM" ] && { git-update-cache ${infoonly} -- "${queueM[@]}" || return 1; }
> +	[ "$queueN" ] && { ( echo "${queueN[*]}" | tr \\n \\0 | IFS=$'\n' xargs -0 git-update-cache --add ${infoonly} -- ) || return 1; }
> +	[ "$queueD" ] && { ( echo "${queueD[*]}" | tr \\n \\0 | IFS=$'\n' xargs -0 git-update-cache --force-remove -- ) || return 1;  }
> +	[ "$queueM" ] && { ( echo "${queueM[*]}" | tr \\n \\0 | IFS=$'\n' xargs -0 git-update-cache ${infoonly} -- ) || return 1; }
>  	return 0
>  }
>  
> 
Previous: Bryan Larsen
Message 2 of 2 in “cg-commit chokes when given a very large list of files”
  1. cg-commit chokes when given a very large list of filesBryan Larsen, Jul 18, 2005
  2. Bryan LarsenJul 18, 2005

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.