Re: [PATCH] git-remote-testgit: avoid process substitution

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Johannes Sixt <j.sixt@xxxxxxxxxxxxx> writes:

> From: Johannes Sixt <j6t@xxxxxxxx>
>
> Bash on Windows does not implement process substitution.
>
> Signed-off-by: Johannes Sixt <j6t@xxxxxxxx>
> ---
> ...
> Here is a fix. It assumes that the list of refs after the import is
> a superset of the refs before the import. (Can refs be deleted
> via fast-import?)
>
>  git-remote-testgit | 12 +++++++-----
>  1 file changed, 7 insertions(+), 5 deletions(-)
>
> diff --git a/git-remote-testgit b/git-remote-testgit
> index 23c9d40..e99d5fa 100755
> --- a/git-remote-testgit
> +++ b/git-remote-testgit
> @@ -91,13 +91,15 @@ do
>  
>  		git fast-import "${testgitmarks_args[@]}" --quiet
>  
> -		after=$(git for-each-ref --format='%(refname) %(objectname)')
> -
>  		# figure out which refs were updated
> -		join -e 0 -o '0 1.2 2.2' -a 2 <(echo "$before") <(echo "$after") |
> -		while read ref a b
> +		git for-each-ref --format='%(refname) %(objectname)' |
> +		while read ref a
>  		do
> -			test $a == $b && continue
> +			case "$before" in
> +			*"$ref $a"*)
> +				continue

This just like the original 'join' depends on the two output from
for-each-ref to be sorted the same way, which is true and fine.  But
I wonder one thing.  When $before has this in it:

	refs/heads/refs/heads/master 664059...126eaa7

and your "read ref a" got this in the input:

	refs/heads/master 664059...126eaa7

would the pattern matching by case work corretly?

Doing something like this might be needed.

	case "$LF$before$LF" in
        *"$LF$ref $a$LF"*)
        	continue ;; # matches
	esac

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]