All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Torsten Bögershausen" <tboegi@web.de>
To: Johannes Schindelin <johannes.schindelin@gmx.de>,
	Junio C Hamano <gitster@pobox.com>
Cc: git@vger.kernel.org, Beat Bolli <dev+git@drbeat.li>
Subject: Re: [PATCH 1/2] convert: add a helper to determine the correct EOL for a given path
Date: Sat, 23 Jan 2016 07:12:09 +0100	[thread overview]
Message-ID: <56A319B9.50900@web.de> (raw)
In-Reply-To: <c4e6707b53d82cdeeb16c83bddf9c4870a53d9df.1453482052.git.johannes.schindelin@gmx.de>

On 2016-01-22 18.01, Johannes Schindelin wrote:
> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
> ---
>  convert.c | 29 +++++++++++++++++++++++++++++
>  convert.h |  2 ++
>  2 files changed, 31 insertions(+)
> 
> diff --git a/convert.c b/convert.c
> index 814e814..b458734 100644
> --- a/convert.c
> +++ b/convert.c
> @@ -758,6 +758,35 @@ static void convert_attrs(struct conv_attrs *ca, const char *path)
>  	}
>  }
>  
> +enum eol eol_for_path(const char *path, const char *src, size_t len)
> +{
> +	struct conv_attrs ca;
> +	struct text_stat stats;
> +
> +	if (!path) {
I don't think this is ideal.
When path is NULL, can we set it to "*" to catch .gitattributes like
"* text=auto"
?
> +		memset(&ca, 0, sizeof(ca));
> +		ca.crlf_action = CRLF_AUTO;
> +		ca.eol_attr = EOL_UNSET;
> +	} else {
> +		convert_attrs(&ca, path);
> +		if (ca.eol_attr == EOL_UNSET)
> +			ca.eol_attr = output_eol(ca.crlf_action);
> +		if (ca.eol_attr != EOL_UNSET)
> +			return ca.eol_attr;
This doesn't seem to be correct.
When "File -text" is set, no CRLF needs to be added.
> +	}
> +	if (!len || (ca.crlf_action != CRLF_AUTO &&
> +				ca.crlf_action != CRLF_GUESS))
Currently core.autocrlf = true overrules "core.eol".

See the line in t0027:
#              core.eol  core.autocrlf
checkout_files    lf      true   ""       CRLF  CRLF  CRLF_mix_LF  LF_mix_CR
LF_nul

Letting core.autocrlf overrule core.eol is not documented very well,
I have it on my todo-list. But I think it makes sense to keep the behavour.

I'm currently working on simplification of convert.c, so a funtion like this
is really a step forward.
Does it makes sense to add a comment, that some corner cases may
need additional tweaking ?

  parent reply	other threads:[~2016-01-23  6:13 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-22 17:01 [PATCH 0/2] Let merge-file write out conflict markers with correct EOLs Johannes Schindelin
2016-01-22 17:01 ` [PATCH 1/2] convert: add a helper to determine the correct EOL for a given path Johannes Schindelin
2016-01-22 18:47   ` Junio C Hamano
2016-01-22 19:04     ` Johannes Schindelin
2016-01-23  7:05       ` Torsten Bögershausen
2016-01-24 10:42       ` Johannes Schindelin
2016-01-23  6:12   ` Torsten Bögershausen [this message]
2016-01-24 10:41     ` Johannes Schindelin
2016-01-22 17:01 ` [PATCH 2/2] merge-file: consider core.crlf when writing merge markers Johannes Schindelin
2016-01-22 18:15   ` Junio C Hamano
2016-01-22 18:47     ` Johannes Schindelin
2016-01-22 19:08       ` Junio C Hamano
2016-01-24 10:44         ` Johannes Schindelin
2016-01-22 19:50   ` Eric Sunshine
2016-01-22 19:52     ` Eric Sunshine
2016-01-24 10:37       ` Johannes Schindelin
2016-01-24 18:26         ` Eric Sunshine
2016-01-25  7:02           ` Johannes Schindelin
2016-01-23  6:31   ` Torsten Bögershausen
2016-01-24 10:39     ` Johannes Schindelin
2016-01-22 17:52 ` [PATCH 0/2] Let merge-file write out conflict markers with correct EOLs Beat Bolli
2016-01-24 10:48 ` [PATCH v2 0/1] " Johannes Schindelin
2016-01-24 10:48   ` [PATCH v2 1/1] merge-file: let conflict markers match end-of-line style of the context Johannes Schindelin
2016-01-24 16:27     ` Torsten Bögershausen
2016-01-24 16:36       ` Torsten Bögershausen
2016-01-25  6:53       ` Johannes Schindelin
2016-01-25 19:45         ` Ramsay Jones
2016-01-26  8:54           ` Johannes Schindelin
2016-01-26 16:43             ` Ramsay Jones
2016-01-26 16:49               ` Johannes Schindelin
2016-01-24 22:09   ` [PATCH v2 0/1] Let merge-file write out conflict markers with correct EOLs Junio C Hamano
2016-01-25  7:25     ` Johannes Schindelin
2016-01-25  8:06   ` [PATCH v3 0/2] " Johannes Schindelin
2016-01-25  8:07     ` [PATCH v3 1/2] merge-file: let conflict markers match end-of-line style of the context Johannes Schindelin
2016-01-25  8:32       ` Torsten Bögershausen
2016-01-25  8:59         ` Johannes Schindelin
2016-01-25 20:12       ` Junio C Hamano
2016-01-26  9:04         ` Johannes Schindelin
2016-01-26 17:22           ` Junio C Hamano
2016-01-25  8:07     ` [PATCH v3 2/2] merge-file: ensure that conflict sections match eol style Johannes Schindelin
2016-01-25  9:20       ` Johannes Schindelin
2016-01-26 14:42     ` [PATCH v4 0/2] Let merge-file write out conflict markers with correct EOLs Johannes Schindelin
2016-01-26 14:42       ` [PATCH v4 1/2] merge-file: let conflict markers match end-of-line style of the context Johannes Schindelin
2016-01-26 18:23         ` Junio C Hamano
2016-01-26 21:14           ` Junio C Hamano
2016-01-27  7:58             ` Johannes Schindelin
2016-01-27 18:19               ` Junio C Hamano
2016-01-27 19:12                 ` Johannes Schindelin
2016-01-27 19:32                   ` Junio C Hamano
2016-01-28  7:55                     ` Johannes Schindelin
2016-01-26 14:42       ` [PATCH v4 2/2] merge-file: ensure that conflict sections match eol style Johannes Schindelin
2016-01-27 16:37       ` [PATCH v5 0/2] Let merge-file write out conflict markers with correct EOLs Johannes Schindelin
2016-01-27 16:37         ` [PATCH v5 1/2] merge-file: let conflict markers match end-of-line style of the context Johannes Schindelin
2016-01-27 16:37         ` [PATCH v5 2/2] merge-file: ensure that conflict sections match eol style Johannes Schindelin
2016-01-27 20:22         ` [PATCH v5 0/2] Let merge-file write out conflict markers with correct EOLs Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=56A319B9.50900@web.de \
    --to=tboegi@web.de \
    --cc=dev+git@drbeat.li \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=johannes.schindelin@gmx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.