Mercurial > hg
view tests/test-merge-revert2 @ 2550:45235e492cc6
Disable automatic line endings conversion on windows
The rationale behind this is that such conversion implies a particular
situation in which all files in the repo are terminated by only LF. This
is documented nowhere and it bit me sharply when I upgraded.
Furthermore, it works on the assumption that a file containing no NULL
characters are actually a text file. Therefore it cannot guarantee that
no binary file will be harmed in the process.
Currently, if a file already contains CRLF line endings when it is
copied to the working dir from the repo, then the version in the working
dir will be corrupted by an extra CR.
I'm working on a patch that will turn this into a warning. But as a side
effect, committing such a file back will strip it from its CR.
In all case, unrequested data modification can occur under the feet of
the user, which is bad(tm), ihmo.
author | Raphael Marmier <raphael@marmier.net> |
---|---|
date | Mon, 03 Jul 2006 10:18:46 -0700 |
parents | d436b21b20dc |
children | 890e285c52a1 |
line wrap: on
line source
#!/bin/sh mkdir t cd t hg init echo "added file1" > file1 echo "another line of text" >> file1 echo "added file2" > file2 hg add file1 file2 hg commit -m "added file1 and file2" -d "1000000 0" -u user echo "changed file1" >> file1 hg commit -m "changed file1" -d "1000000 0" -u user hg -q log hg id hg update -C 0 hg id echo "changed file1" >> file1 hg id hg revert --no-backup hg diff hg status hg id hg update hg diff hg status hg id hg update -C 0 echo "changed file1 different" >> file1 HGMERGE=merge hg update hg diff | sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" -e "s/\(<<<<<<<\) .*/\1/" \ -e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/" -e "s/\(>>>>>>>\) .*/\1/" hg status hg id hg revert --no-backup hg diff hg status hg id hg revert -r tip --no-backup hg diff hg status hg id hg update -C hg diff hg status hg id cd ..; /bin/rm -rf t