Am 27.04.2013 01:26, schrieb Junio C Hamano:
> Felipe Contreras <felipe.contre...@gmail.com> writes:
> 
>> No, it wouldn't, but I don't think there's any way to do \<\> or \b in globs.
> 
> This should do in the meantime, but it further needs:
> 
>  - J6t's sign off for the follow-up part to remove remaining
>    bash-isms to complete this patch (the last part of the patch is
>    from <5178c583.6000...@viscovery.net> and we can take half the
>    log message from there);

The patch below doesn't remove the bash dependency, yet, but it addresses
the problematic mismatch you noticed without the need for $LF. Can you
please queue it to move the topic forward?

Removing the remaining bashisms and the following two can come later:

>  - Rename it to git-remote-testgit.sh and tell Makefile to replace
>    the shebang line with SHELL_PATH like other scripts;
> 
>  - Remove the "we need to have bash because we will run remote-testgit"
>    logic from t5801

Here's my

Signed-off-by: Johannes Sixt <j...@kdbg.org>

for this part in case someone wants to pick it up:

> diff --git a/git-remote-testgit b/git-remote-testgit
> index b395c8d..ffac950 100755
> --- a/git-remote-testgit
> +++ b/git-remote-testgit
> @@ -1,4 +1,4 @@
> -#!/usr/bin/env bash
> +#!/bin/sh
>  # Copyright (c) 2012 Felipe Contreras
>  
>  alias=$1
> @@ -23,7 +23,6 @@ then
>       testgitmarks="$dir/testgit.marks"
>       test -e "$gitmarks" || >"$gitmarks"
>       test -e "$testgitmarks" || >"$testgitmarks"
> -     testgitmarks_args=( "--"{import,export}"-marks=$testgitmarks" )
>  fi
>  
>  while read line
> @@ -62,22 +61,31 @@ do
>                       echo "feature export-marks=$gitmarks"
>               fi
>               echo "feature done"
> -             git fast-export "${testgitmarks_args[@]}" $refs |
> +             git fast-export \
> +                     ${testgitmarks:+"--import-marks=$testgitmarks"} \
> +                     ${testgitmarks:+"--export-marks=$testgitmarks"} \
> +                     $refs |
>               sed -e "s#refs/heads/#${prefix}/heads/#g"
>               echo "done"
>               ;;
>       export)
>               before=$(git for-each-ref --format='%(refname) %(objectname)')
>  
> -             git fast-import "${testgitmarks_args[@]}" --quiet
> +             git fast-import \
> +                     ${testgitmarks:+"--import-marks=$testgitmarks"} \
> +                     ${testgitmarks:+"--export-marks=$testgitmarks"} \
> +                     --quiet
>  

--- 8< ---
Subject: [PATCH] git-remote-testgit: avoid process substitution

The implementation of bash on Windows does not offer process substitution.

Signed-off-by: Johannes Sixt <j...@kdbg.org>
---
 git-remote-testgit | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/git-remote-testgit b/git-remote-testgit
index 23c9d40..979b13e 100755
--- a/git-remote-testgit
+++ b/git-remote-testgit
@@ -87,17 +87,18 @@ do
                        exit 1
                fi
 
-               before=$(git for-each-ref --format='%(refname) %(objectname)')
+               before=$(git for-each-ref --format=' %(refname) %(objectname) ')
 
                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 ;;     # unchanged
+                       esac
                        echo "ok $ref"
                done
 
-- 
1.8.2.388.g36592d7

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

Reply via email to