7/7 needs to be amended with something like this,
and the documentation needs an update.

In any case, the user can normalize the repo like this:
$ echo "* text=auto" >>.gitattributes
$ rm .git/index     # Remove the index to force Git to
$ git reset         # re-scan the working directory
$ git status        # Show files that will be normalized
$ git add -u
$ git add .gitattributes
$ git commit -m "Introduce end-of-line normalization"

(or run "dos2unix" filename)

----------------


commit a604db36bb946000776514c220964f32979c8756
Author: Torsten Bögershausen <tbo...@web.de>
Date:   Wed Mar 30 15:53:52 2016 +0200

    convert.c: add warning when eol are wrong after checkout
    
    When line endings are not normalized, they may be different after the
    next checkout to what is configured.
    Add a warning, similar to the CRLF-LF replacement, when a file is commited,
    and the line endings are not converted at commit or checkout.

diff --git a/convert.c b/convert.c
index 8266d87..1fddbe8 100644
--- a/convert.c
+++ b/convert.c
@@ -18,6 +18,8 @@
 #define CONVERT_STAT_BITS_TXT_CRLF  0x2
 #define CONVERT_STAT_BITS_BIN       0x4
 
+#define CONVERT_STAT_BITS_MIXED (CONVERT_STAT_BITS_TXT_LF | 
CONVERT_STAT_BITS_TXT_CRLF)
+
 enum crlf_action {
        CRLF_UNDEFINED,
        CRLF_BINARY,
@@ -279,6 +281,8 @@ static void check_safe_crlf(const char *path, enum 
crlf_action crlf_action,
                            enum safe_crlf checksafe,
                            unsigned convert_stats, unsigned new_convert_stats)
 {
+       enum eol new_eol = output_eol(crlf_action);
+       const char *err_warn_msg = NULL;
        if (!checksafe)
                return;
        if (convert_stats & CONVERT_STAT_BITS_TXT_CRLF &&
@@ -303,6 +307,19 @@ static void check_safe_crlf(const char *path, enum 
crlf_action crlf_action,
                else /* i.e. SAFE_CRLF_FAIL */
                        die("LF would be replaced by CRLF in %s", path);
        }
+       if ((new_convert_stats & CONVERT_STAT_BITS_MIXED) == 
CONVERT_STAT_BITS_MIXED)
+               err_warn_msg = "mixed eol";
+       else if (new_eol == EOL_LF && new_convert_stats & 
CONVERT_STAT_BITS_TXT_CRLF)
+               err_warn_msg = "CRLF";
+
+       if (err_warn_msg) {
+               if (checksafe == SAFE_CRLF_WARN)
+                       warning("%s will be present after commit and checkout 
in %s.",
+                               err_warn_msg, path);
+               else
+                       die("%s will be present after commit and checkout in 
%s",
+                           err_warn_msg, path);
+       }
 }
 
[snip changes in t0027] 
--
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