Re: git-svn bug: Output git directory has uncommitted changes

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

 



On Mon, Oct 25, 2021 at 09:41:39AM +0000, Eric Wong wrote:
> Daniel Marschall <info@xxxxxxxxxxxxxxxxxxx> wrote:
> > Hello,
> >
> > I have found following bug in the latest version of git-svn . I have this
> > issue with the old version shipped in Debian stable, as well as with the
> > latest version built from source.
> >
> >
> > What did you do before the bug happened? (Steps to reproduce your issue)
> >
> > Extract the following SVN repository to GIT:
> > https://svn.viathinksoft.com/svn/filter_foundry/
> > The bug ONLY happens with this single SVN repository. All other SVN
> > repositories from my server work perfectly.
> >
> > $ PERL5LIB=perl/ ./git-svn --authors-file="../../authors.txt" clone
> > --trunk="trunk" "https://svn.viathinksoft.com/svn/filter_foundry/"; "_test"
> > $ cd _test
> > $ git status
> >
> > What did you expect to happen? (Expected behavior)
> >
> > git status should show that nothing needs to be commited.
> >
> > What happened instead? (Actual behavior)
> >
> > You get a long list of files which need to be committed. The list is
> > sometimes longer and sometimes shorter. So, the behavior is not
> > deterministic. I have the feeling that the list often contains all files in
> > the repo.
>
> It seems like a CRLF vs LF vs CR issue; not something I'm
> familiar with (not even in a git-only environment).
>
> Running `git diff --ignore-space-change` says there aren't
> non-space changes.
>
> The presence of a .gitattributes file in the repo could be
> confusing things, maybe, just a guess, I don't know...
>
> Being a *nix-only person, I've never mucked with eol= attributes
> at all.  Maybe somebody else experienced with such issues can
> chime in; but eol stuff seems like a minefield of complexity I
> don't ever want to step into :x
>
> > Anything else you want to add:
> >
> > This SVN repository was cloned from a foreign server to my own server, and
> > then continued there. I think this SVN repository has some specific
> > properties that cause the bugs.
>
> It's been a while since I've looked at SVN stuff.  From what I
> remember, git-svn doesn't check the CRLF property on the SVN side.

Good point, Eric

After cloning the repo with git-svn, we can say that:
The .gitattributes file is in conflict with the files commited under Git
Run
git ls-files --eol
to see what is going on
[lots of output]

To give a simpler example, run it on only one file,
which is changed in my clone:

git ls-files --eol telegraphics_common/tt/wind.c
i/crlf  w/crlf  attr/text eol=crlf telegraphics_common/tt/wind.c

And what does this mean ?
The file has CRLF in the index, CRLF in the working tree and "text"
These settings are conflicting.
The easiest solution may be to replace
"text" with "text=auto"
in .gitattributes

And, while looking at .gitignore: the "eol=cr" is not supported under Git:
*.afs text eol=cr
(But Git does not complain)








[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]

  Powered by Linux