Re: Bug in EOL conversion?
- From
Philip Oakley <philipoakley@iee.org>
- Date
- Jan 23, 2013, 21:25 UTC
- Message-ID
- <063ABD39C46D492391698E400A7D1FA9@PhilipOakley>
- In-Reply-To
- <CANrZfmGXtKcB+i_xhNJELftRc1pC2TJKKhOieHm=5Qkni9OKrA@mail.gmail.com>
The msysgit list msysgit@googlegroups.com may be a better place for this.
It is likely that you have a windows specific EOL conversion set within the wider config's (i.e. --system, --global). You may have core.safecrlf set which does a round trip test so tests the conversion both ways.
The normal canonical line ending choice is LF in the repo.
I don't have a W7 install to compare against.
Philip
----- Original Message ----- From: "Stefan Norgren" <stefan.norgren@gmail.com> To: <git@vger.kernel.org> Sent: Wednesday, January 23, 2013 2:44 AM Subject: Bug in EOL conversion?
Show 148 quoted lines
> Hi, > > The EOL conversion does not behave as indicated by output message from > add and commit. Here is my test case executed on Windows 7 64 bit. > > > $ git --version > git version 1.8.0.msysgit.0 > $ which git > /cygdrive/c/Program Files (x86)/Git/cmd/git > $ git config --list > core.symlinks=false > core.autocrlf=true > color.diff=auto > color.status=auto > color.branch=auto > color.interactive=true > pack.packsizelimit=2g > help.format=html > http.sslcainfo=/bin/curl-ca-bundle.crt > sendemail.smtpserver=/bin/msmtp.exe > diff.astextplain.textconv=astextplain > rebase.autosquash=true > user.name=Stefan > user.email=stefan@---.com > core.repositoryformatversion=0 > core.filemode=false > core.bare=false > core.logallrefupdates=true > core.symlinks=false > core.ignorecase=true > core.hidedotfiles=dotGitOnly > > -- Note core.autocrlf=true. > -- Created withcrlf.txt with one character and one CRLF line feed. > File size 3 bytes. > -- Created withlf.txt with one character and one LF line feed. File > size 2 bytes. > -- Now let's init repository. > > $ git init > Initialized empty Git repository in D:/Dev/workspaces/gittest/.git/ > $ ls -la > total 10 > d---------+ 1 Stefan None 0 Jan 23 02:12 . > d---------+ 1 Stefan None 0 Jan 23 02:10 .. > d---------+ 1 Stefan None 0 Jan 23 02:13 .git > ----------+ 1 Stefan None 3 Jan 23 01:55 withcrlf.txt > ----------+ 1 Stefan None 2 Jan 23 01:55 withlf.txt > > -- Note no .gitattributes file that will affect EOL conversion. > > $ ls -la .git/info/ > total 5 > d---------+ 1 Stefan None 0 Jan 23 02:12 . > d---------+ 1 Stefan None 0 Jan 23 02:13 .. > ----------+ 1 Stefan None 240 Jan 23 02:12 exclude > > -- Note no attribute file in .git/info/ that will affect EOL > conversion. > > $ git add * > warning: LF will be replaced by CRLF in withlf.txt. > The file will have its original line endings in your working > directory. > $ git commit -m 'Testing EOL' > [master (root-commit) 9a0b2f5] Testing EOL > 2 files changed, 2 insertions(+) > create mode 100644 withcrlf.txt > create mode 100644 withlf.txt > warning: LF will be replaced by CRLF in withlf.txt. > The file will have its original line endings in your working > directory. > $ ls -la > total 10 > d---------+ 1 Stefan None 0 Jan 23 02:12 . > d---------+ 1 Stefan None 0 Jan 23 02:10 .. > d---------+ 1 Stefan None 0 Jan 23 02:22 .git > ----------+ 1 Stefan None 3 Jan 23 01:55 withcrlf.txt > ----------+ 1 Stefan None 2 Jan 23 01:55 withlf.txt > > -- So no changes (see file size) to files in working directory. This > is expected and according to output warning from add and commit. > > -- Now lets look in the repository > > $ git ls-tree -l HEAD withcrlf.txt > 100644 blob d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 2 > withcrlf.txt > $ git ls-tree -l HEAD withlf.txt > 100644 blob d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 2 > withlf.txt > > -- Note that size of withlf.txt is 2 in repository indicating that LF > was not replaced by CRLF in withlf.txt as indicated in output from add > and commit. Also note that size of withcrlf.txt is also 2 in > repository so it looks like CRLF was replaced by LF in withcrlf.txt. > To verify I will delete the files from working directory, turn off EOL > conversion, checkout files and look at file endings in the working > directory. > > $ rm with* > $ ls -la > total 8 > d---------+ 1 Stefan None 0 Jan 23 02:31 . > d---------+ 1 Stefan None 0 Jan 23 02:10 .. > d---------+ 1 Stefan None 0 Jan 23 02:22 .git > $ git status > # On branch master > # Changes not staged for commit: > # (use "git add/rm <file>..." to update what will be committed) > # (use "git checkout -- <file>..." to discard changes in working > directory) > # > # deleted: withcrlf.txt > # deleted: withlf.txt > # > no changes added to commit (use "git add" and/or "git commit -a") > $ git config --global core.autocrlf false > $ git config --global core.autocrlf > false > $ git checkout -- with* > $ ls -la > total 10 > d---------+ 1 Stefan None 0 Jan 23 02:38 . > d---------+ 1 Stefan None 0 Jan 23 02:10 .. > d---------+ 1 Stefan None 0 Jan 23 02:38 .git > ----------+ 1 Stefan None 2 Jan 23 02:38 withcrlf.txt > ----------+ 1 Stefan None 2 Jan 23 02:38 withlf.txt > > -- Both files in working directory files now have LF line endings > confirming that files in repository have LF file endings. Either the > output message of add and commit is wrong or the behavior of the EOL > conversion is wrong... or... have I missed something...? > > /Stefan > -- > To unsubscribe from this list: send the line "unsubscribe git" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > > > ----- > No virus found in this message. > Checked by AVG - www.avg.com > Version: 2013.0.2890 / Virus Database: 2639/6050 - Release Date: > 01/22/13 >
-- *** Please reply-to-all at all times *** *** (do not pretend to know who is subscribed and who is not) *** *** Please avoid top-posting. *** The msysGit Wiki is here: https://github.com/msysgit/msysgit/wiki - Github accounts are free. You received this message because you are subscribed to the Google Groups "msysGit" group. To post to this group, send email to msysgit@googlegroups.com To unsubscribe from this group, send email to msysgit+unsubscribe@googlegroups.com For more options, and view previous threads, visit this group at http://groups.google.com/group/msysgit?hl=en_US?hl=en