Test Commit 3: line endings -- first conversion run.
Ok, it's little bit more complex.
The existing .cmd files in the netlabs repo have svn properties set
for line endings to native. It seems that this propagates to git-svn,
meaning that an svn:eol-style property would need to be set for new
.cmd and .kmk files. But git-svn cannot be used to set svn properties
and when using git and svn together, it's better not to depend them.
What we want is to have .cmd files to check out with crlf when using
git-svn or native svn, either on eCS or on Linux.
So the simplest solution seems to be to put .cmd and .kmk files in the
the repo database with crlf endings. This will ensure that both git-svn
and native svn checkouts produce .cmd and .kmk with crlf so diffs
against trunk will work as expected.
Since this only concerns .cmd and .kmk files, because sources use LF,
having them with crlf in this experimental branch is not a big prob.
It can also be changed easily.
We'll temporarily use .gitattributes at the git-svn side to force crlf
conversion for .cmd and .kmk on checkout. Some testing reveiled this
to be quite sensitive because doing a git status before removing the
.gitattributes file fails to indicate any changes, while line endings
were indeed changed. Also, for some reason the process does not work for
all files the first time, and has to be repeated a few times.
The process:
o git rm -r .
delete the working directory and the cache
o copy .gitattributes to working dir
this ensures crlf conversion on population of the working dir
o git reset --hard
repopulate the working dir
o immetiately remove .gitattributes
doing a git status will use .gitattributes and make git ignore the
eol changes and not see those files as modified
o git add .
add changed files to cache
o git commit
commit to local git-svn repo
o git svn dcommit
push to remote svn repo