# [PATCH 2/4] merge-one-file: use 'wc' more portably

3 messages from 2007-01-24 to 2007-01-25. Participants: Johannes Schindelin, Junio C Hamano.
Thread: https://gitlist.dev/t/6492

## Johannes Schindelin, 2007-01-24 01:13

Subject: [PATCH 2/4] merge-one-file: use 'wc' more portably
Message-ID: <Pine.LNX.4.63.0701240213330.22628@wbgn013.biozentrum.uni-wuerzburg.de>
URL: https://gitlist.dev/e/Pine.LNX.4.63.0701240213330.22628%40wbgn013.biozentrum.uni-wuerzburg.de

```

Some wc prefix the number by a tab. Be prepared for this.

Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
---
 git-merge-one-file.sh |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/git-merge-one-file.sh b/git-merge-one-file.sh
index 7d62d79..bc7c5ef 100755
--- a/git-merge-one-file.sh
+++ b/git-merge-one-file.sh
@@ -87,9 +87,9 @@ case "${1:-.}${2:-.}${3:-.}" in
 		# This extracts OUR file in $orig, and uses git-apply to
 		# remove lines that are unique to ours.
 		orig=`git-unpack-file $2`
-		sz0=`wc -c <"$orig"`
+		sz0=`wc -c <"$orig" | tr -dc 0-9`
 		diff -u -La/$orig -Lb/$orig $orig $src2 | git-apply --no-add 
-		sz1=`wc -c <"$orig"`
+		sz1=`wc -c <"$orig" | tr -dc 0-9`
 
 		# If we do not have enough common material, it is not
 		# worth trying two-file merge using common subsections.
-- 
1.5.0.rc2.gc5868-dirty

```

## Junio C Hamano, 2007-01-25 00:09

Subject: Re: [PATCH 2/4] merge-one-file: use 'wc' more portably
Message-ID: <7v3b60dl24.fsf@assigned-by-dhcp.cox.net>
URL: https://gitlist.dev/e/7v3b60dl24.fsf%40assigned-by-dhcp.cox.net
In-Reply-To: <Pine.LNX.4.63.0701240213330.22628@wbgn013.biozentrum.uni-wuerzburg.de>

```
Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:

> Some wc prefix the number by a tab. Be prepared for this.
>
> Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
> ---
>  git-merge-one-file.sh |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/git-merge-one-file.sh b/git-merge-one-file.sh
> index 7d62d79..bc7c5ef 100755
> --- a/git-merge-one-file.sh
> +++ b/git-merge-one-file.sh
> @@ -87,9 +87,9 @@ case "${1:-.}${2:-.}${3:-.}" in
>  		# This extracts OUR file in $orig, and uses git-apply to
>  		# remove lines that are unique to ours.
>  		orig=`git-unpack-file $2`
> -		sz0=`wc -c <"$orig"`
> +		sz0=`wc -c <"$orig" | tr -dc 0-9`
>  		diff -u -La/$orig -Lb/$orig $orig $src2 | git-apply --no-add 
> -		sz1=`wc -c <"$orig"`
> +		sz1=`wc -c <"$orig" | tr -dc 0-9`
>  
>  		# If we do not have enough common material, it is not
>  		# worth trying two-file merge using common subsections.

I would prefer losing dq around the $sz0 and $sz1 where they are
used, instead of spawning tr here, and also tighten error
checking by stringing these command sequence with && followed by
a || exit.

```

## Johannes Schindelin, 2007-01-25 08:35

Subject: Re: [PATCH 2/4] merge-one-file: use 'wc' more portably
Message-ID: <Pine.LNX.4.63.0701250934380.22628@wbgn013.biozentrum.uni-wuerzburg.de>
URL: https://gitlist.dev/e/Pine.LNX.4.63.0701250934380.22628%40wbgn013.biozentrum.uni-wuerzburg.de
In-Reply-To: <7v3b60dl24.fsf@assigned-by-dhcp.cox.net>

```
Hi,

On Wed, 24 Jan 2007, Junio C Hamano wrote:

> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
> 
> > Some wc prefix the number by a tab. Be prepared for this.
> >
> > Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
> > ---
> >  git-merge-one-file.sh |    4 ++--
> >  1 files changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/git-merge-one-file.sh b/git-merge-one-file.sh
> > index 7d62d79..bc7c5ef 100755
> > --- a/git-merge-one-file.sh
> > +++ b/git-merge-one-file.sh
> > @@ -87,9 +87,9 @@ case "${1:-.}${2:-.}${3:-.}" in
> >  		# This extracts OUR file in $orig, and uses git-apply to
> >  		# remove lines that are unique to ours.
> >  		orig=`git-unpack-file $2`
> > -		sz0=`wc -c <"$orig"`
> > +		sz0=`wc -c <"$orig" | tr -dc 0-9`
> >  		diff -u -La/$orig -Lb/$orig $orig $src2 | git-apply --no-add 
> > -		sz1=`wc -c <"$orig"`
> > +		sz1=`wc -c <"$orig" | tr -dc 0-9`
> >  
> >  		# If we do not have enough common material, it is not
> >  		# worth trying two-file merge using common subsections.
> 
> I would prefer losing dq around the $sz0 and $sz1 where they are
> used, instead of spawning tr here, and also tighten error
> checking by stringing these command sequence with && followed by
> a || exit.

I only needed a quick fix to make it work on my machine. The fact that it 
was broken for so long, unnoticed by me, shows that this code path was 
rarely -- if at all -- used.

But since I want it builtin, I don't want to spend time on the script...

Ciao,
Dscho

```
