Thread (2 messages) flat view 2 messages, 2 authors, 2016-06-15

Re: [PATCH] Teach 'git-apply --whitespace=strip' to remove empty lines at the end of file

From: Marco Costalba <hidden>
Date: 2016-06-15 22:43:12

Possibly related (same subject, not in this thread)

On 5/22/07, Junio C Hamano [off-list ref] wrote:
"Marco Costalba" [off-list ref] writes:
quoted
On 5/21/07, Junio C Hamano [off-list ref] wrote:
quoted
Junio C Hamano [off-list ref] writes:


We somehow end up removing one LF too many, like this:

    diff --git a/contrib/emacs/.gitignore b/contrib/emacs/.gitignore
    index c531d98..016d3b1 100644
    --- a/contrib/emacs/.gitignore
    +++ b/contrib/emacs/.gitignore
    @@ -1 +1 @@
    -*.elc
    +*.elc
    \ No newline at end of file
The final, and correct version is:

       if (new_whitespace == strip_whitespace && trailing_added_lines)  {

	int n = 0;
	for (   ; n  <= trailing_added_lines; n++)  { /* counting trailing '\n' */

		if (newsize == n)  {
			n++;
			break;
		}
		if (new[newsize - 1 - n] != '\n')
			break;
	}
             trailing_added_lines = (n>0) ? --n : 0;
      }  else
	trailing_added_lines = 0;


but I understand is ugly as hell. The fact is, it is far easier to
count '\n' *while* they are created then after at the end.


So no problem for me if you drop my patch.


  Marco
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help