Re: noob user, want checkins to all be forced to LF terminated lines

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Walter Bright wrote:

> I've just started with git.

I thought I saw you here years ago. :)

> Exactly what do I put in $HOME/.gitconfig ?

Well, naturally it depends on what you want to happen.

If you just want to make sure any new files you commit are tracked
with simple LF line endings, you can use

	[core]
		autocrlf = input

With this setting, Git will not do any munging to files in the work
tree in any way (unless there is a .gitattributes file requesting to
do so).

That is an _altruistic_ setting to use.  It ensures you do not pollute
history with some alternative line-ending, but your own work tree may
not necessarily match the cleaned up versions you are checking in; so
if you try to "git add" and then "touch" a file with CRLF line endings
with this setting enabled, you may be surprised at the result!
(Though a simple "git checkout file.c" afterwards should fix up the
line endings in the work tree.)

If you want to make sure text files in the work tree use LF line
endings and you are using a recent version of Git, use the above
setting or

	[core]
		eol = lf

On Unix-y systems, you do not have to do that, since it is the
default.  On Windows, the "[core] autocrlf" setting is set up
by default in /etc/gitconfig so you would probably want to
override that with

	[core]
		autocrlf = false

if you are not setting it to input.

Which files are text files? you may ask.  By default (unless
autocrlf is enabled), Git treats files as raw data; to get it
to futz with line endings, you have to declare your text files
in a file named .gitattributes in the tracked tree.

	* crlf
	*.jpg -crlf
	*.png -crlf

The keyword crlf here means “apply line-ending conversions” and
nothing more.  In particular, it does not represent the preferred
line ending.

If everyone for which you want these setting to take effect uses a
recent version of git, you can write “text” instead of “crlf” if
you prefer.

Hope that helps,
Jonathan
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]