[PATCH] t0027: Add repoMIX and LF_nul

2015-04-24 Thread Torsten Bögershausen
new safer autocrlf handling:
  Check if eols in a file are converted at commit, when the file has
  CR (or CLLF) in the repo (technically speaking in the index).
  Add a test-file repoMIX with mixed line-endings.
  When converting LF-CRLF or CRLF-LF: check the warnings

checkout_files():
  Checking out CRLF_nul and checking for eol coversion does not
  make much sense (CRLF will stay CRLF).
  Use the file LF_nul instead: It is handled a binary in auto modes,
  and when declared as text the LF may be replaced with CRLF, depending
  on the configuration

Signed-off-by: Torsten Bögershausen tbo...@web.de
---
 t/t0027-auto-crlf.sh | 157 ---
 1 file changed, 85 insertions(+), 72 deletions(-)

diff --git a/t/t0027-auto-crlf.sh b/t/t0027-auto-crlf.sh
index 810934b..2482b2c 100755
--- a/t/t0027-auto-crlf.sh
+++ b/t/t0027-auto-crlf.sh
@@ -71,12 +71,21 @@ commit_check_warn () {
attr=$2
lfname=$3
crlfname=$4
-   lfmixcrlf=$5
-   lfmixcr=$6
-   crlfnul=$7
-   create_gitattributes $attr 
+  repoMIX=$5
+   lfmixcrlf=$6
+   lfmixcr=$7
+   crlfnul=$8
pfx=crlf_${crlf}_attr_${attr}
-   for f in LF CRLF LF_mix_CR CRLF_mix_LF CRLF_nul
+   # Special handling for repoMIX: It should already be in the repo
+   # with CRLF
+   f=repoMIX
+   fname=${pfx}_$f.txt
+   echo .gitattributes 
+   cp $f $fname 
+   git -c core.autocrlf=false add $fname 2${pfx}_$f.err 
+   git commit -m repoMIX 
+   create_gitattributes $attr 
+   for f in LF CRLF repoMIX LF_mix_CR CRLF_mix_LF LF_nul CRLF_nul
do
fname=${pfx}_$f.txt 
cp $f $fname 
@@ -120,7 +129,7 @@ checkout_files () {
git config core.autocrlf $crlf 
pfx=eol_${eol}_crlf_${crlf}_attr_${attr}_ 
src=crlf_false_attr__ 
-   for f in LF CRLF LF_mix_CR CRLF_mix_LF CRLF_nul
+   for f in LF CRLF LF_mix_CR CRLF_mix_LF LF_nul
do
rm $src$f.txt 
if test -z $eol; then
@@ -142,8 +151,8 @@ checkout_files () {
test_expect_success checkout core.eol=$eol core.autocrlf=$crlf 
gitattributes=$attr file=LF_mix_CR 
compare_ws_file $pfx $lfmixcr   ${src}LF_mix_CR.txt

-   test_expect_success checkout core.eol=$eol core.autocrlf=$crlf 
gitattributes=$attr file=CRLF_nul 
-   compare_ws_file $pfx $crlfnul   ${src}CRLF_nul.txt
+   test_expect_success checkout core.eol=$eol core.autocrlf=$crlf 
gitattributes=$attr file=LF_nul 
+   compare_ws_file $pfx $crlfnul   ${src}LF_nul.txt

 }
 
@@ -155,6 +164,7 @@ test_expect_success 'setup master' '
git commit -m add .gitattributes  
printf line1\nline2\nline3 LF 
printf line1\r\nline2\r\nline3 CRLF 
+   printf line1\r\nline2\nline3   repoMIX 
printf line1\r\nline2\nline3   CRLF_mix_LF 
printf line1\nline2\rline3 LF_mix_CR 
printf line1\r\nline2\rline3   CRLF_mix_CR 
@@ -181,40 +191,41 @@ else
WAMIX=CRLF_LF
 fi
 
+# attr   LFCRLF  repoMIX   CRLFmixLF 
LFmixCR   CRLFNUL
 test_expect_success 'commit files empty attr' '
-   commit_check_warn false  
 
-   commit_check_warn true   LF_CRLF LF_CRLF 
 
-   commit_check_warn input  CRLF_LF CRLF_LF 

+   commit_check_warn false  
 
+   commit_check_warn true   LF_CRLF LF_CRLF LF_CRLF 
 
+   commit_check_warn input  CRLF_LF CRLF_LF CRLF_LF 

 '
 
 test_expect_success 'commit files attr=auto' '
-   commit_check_warn false auto $WILC  $WICL$WAMIX  
 
-   commit_check_warn true  auto LF_CRLF LF_CRLF 
 
-   commit_check_warn input auto CRLF_LF CRLF_LF 

+   commit_check_warn false auto $WILC   $WICL   $WAMIX  $WAMIX  
 
+   commit_check_warn true  auto LF_CRLF LF_CRLF LF_CRLF 
 
+   commit_check_warn input auto CRLF_LF CRLF_LF CRLF_LF 

 '
 
 test_expect_success 'commit files attr=text' '
-   commit_check_warn false text $WILC  $WICL$WAMIX  $WILC  
$WICL 
-   commit_check_warn true  text LF_CRLF LF_CRLF LF_CRLF 

-   commit_check_warn input text CRLF_LF CRLF_LF 
CRLF_LF
+   commit_check_warn false text $WILC   $WICL   $WAMIX  $WAMIX  
$WILC   $WICL   
+   commit_check_warn true  text LF_CRLF LF_CRLF LF_CRLF 
LF_CRLF 
+   commit_check_warn input text CRLF_LF CRLF_LF CRLF_LF 
CRLF_LF
 '
 
 test_expect_success 'commit files attr=-text' '
-   commit_check_warn false -text
 
-   commit_check_warn true  -text
 
-   commit_check_warn input -text  

Re: [PATCH] t0027: Add repoMIX and LF_nul

2015-04-24 Thread Eric Sunshine
On Fri, Apr 24, 2015 at 3:46 PM, Torsten Bögershausen tbo...@web.de wrote:
 new safer autocrlf handling:
   Check if eols in a file are converted at commit, when the file has
   CR (or CLLF) in the repo (technically speaking in the index).
   Add a test-file repoMIX with mixed line-endings.
   When converting LF-CRLF or CRLF-LF: check the warnings

 checkout_files():
   Checking out CRLF_nul and checking for eol coversion does not
   make much sense (CRLF will stay CRLF).
   Use the file LF_nul instead: It is handled a binary in auto modes,
   and when declared as text the LF may be replaced with CRLF, depending
   on the configuration

 Signed-off-by: Torsten Bögershausen tbo...@web.de
 ---
 diff --git a/t/t0027-auto-crlf.sh b/t/t0027-auto-crlf.sh
 index 810934b..2482b2c 100755
 --- a/t/t0027-auto-crlf.sh
 +++ b/t/t0027-auto-crlf.sh
 @@ -71,12 +71,21 @@ commit_check_warn () {
 attr=$2
 lfname=$3
 crlfname=$4
 -   lfmixcrlf=$5
 -   lfmixcr=$6
 -   crlfnul=$7
 -   create_gitattributes $attr 
 +  repoMIX=$5

Unusual indentation.

 +   lfmixcrlf=$6
 +   lfmixcr=$7
 +   crlfnul=$8
 pfx=crlf_${crlf}_attr_${attr}
 -   for f in LF CRLF LF_mix_CR CRLF_mix_LF CRLF_nul
 +   # Special handling for repoMIX: It should already be in the repo
 +   # with CRLF
 +   f=repoMIX
 +   fname=${pfx}_$f.txt
 +   echo .gitattributes 
 +   cp $f $fname 
 +   git -c core.autocrlf=false add $fname 2${pfx}_$f.err 
 +   git commit -m repoMIX 
 +   create_gitattributes $attr 
 +   for f in LF CRLF repoMIX LF_mix_CR CRLF_mix_LF LF_nul CRLF_nul
 do
 fname=${pfx}_$f.txt 
 cp $f $fname 
--
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