git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: git-svn bridge and line endings

From
Alfred Perlstein <alfred@freebsd.org>
Date
Aug 23, 2016, 04:58 UTC
Message-ID
<5e17164f-f669-70c2-de78-25287ab59759@freebsd.org>
In-Reply-To
<20160823030721.GA32181@starla>
On 8/22/16 8:07 PM, Eric Wong wrote:
Show 58 quoted lines
> Adding Alfred to the Cc:, more below...
>
> Lucian Smith <lucianoelsmitho@gmail.com> wrote:
>> I'm attempting to use the git-svn bridge, and am having problems with
>> line endings on Windows.
>>
>> The setup is that we have a git repository on github, and I've checked
>> out a branch on my Windows machine using Tortoise svn.  I make
>> changes, commit them, and the branch is updated.  In general, this
>> works fine.
>>
>> If this was just SVN, I could set the 'eol-style' for files to
>> 'native' to let it know to expect Windows/linux/mac line endings for
>> particular files.  This seems to be handled in git by using the
>> '.gitattributes' file instead.  Unfortunately, the git/svn bridge
>> doesn't seem to be translate the information in the .gitattributes
>> file to appropriate eol-style settings in SVN.  Checking out a file
>> using SVN on Windows leaves me with a file without CRLF's, and if I
>> check in a CRLF file, that's the way it goes into the repository.
>> Differences in CRLF alone show up as 'real' differences that can be
>> checked in, and, if this happens, this causes problems with other
>> people's repositories.
>>
>> Am I doing something wrong; is there another way to handle this; or
>> can I file this as a bug report/feature request?
>>
>> Thank you!
>>
>> -Lucian Smith
> Lucian: Which version of git are you using?
>
> As of git v2.3.0 and thanks to Alfred, the "git svn propset"
> command exists for setting new props via git; however it
> only got documented recently in v2.9.1.
>
> It also seems to support setting props via "svn-properties"
> in the .gitattributes file based on reading the code;
> but I'm not familiar with this area, so I defer to Alfred.
>
> Alfred: "svn-properties" isn't documented anywhere, yet;
> is this something that should/could be documented?
>
> Thanks.
>
> cf. commit 83c9433e679635f8fbf8961081ea3581c93ca778
>      ("git-svn: support for git-svn propset")
>      https://bogomips.org/git-svn.git/commit/?id=83c9433e6796
>
>      commit 19a7f24b6f8aa89ea5899c928c2fa350f4b1521e
>      ("git-svn: document the 'git svn propset' command")
>      https://bogomips.org/git-svn.git/commit/?id=19a7f24b6f8a
>
>      https://public-inbox.org/git/?q=s:%22git-svn+propset%22
>
> Anyways I've never used SVN props much myself, so don't much
> have experience in this area; nor do I have much experience
> with git-side gitattributes.
>

Thank you. I'm going to need some time to look into this. The addition of svn-properties support was mostly to facilitate those that needed attributes set for other svn consumers or "repo meister" (the person that runs VCS). An example being FreeBSD's 'Keyword expansion' on checkout facility, that says whether or not to expand $FreeBSD$.

I hadn't anticipated there be to translation between svn props and .gitattributes, it sounds a bit messy but possible, that said, is it not possible to commit .gitattribute files to the svn repo? Even in FreeBSD land such small token files are permitted.

As far as documenting svn-properties, most of the properties are used on the Subversion side either by subversion itself, or by scripts in the subversion repository. Perhaps a blurb "see the subversion documentation and/or your local subversion administrator's guide for properties and their uses." would suffice?

Opinions?  Happy to look into it.
-Alfred
Previous: Eric WongNext: Eric Wong
Message 3 of 12 in “Re: git-svn bridge and line endings”
  1. Lucian SmithAug 23, 2016
  2. Eric WongAug 23, 2016
  3. Alfred PerlsteinAug 23, 2016
  4. Eric WongAug 23, 2016
  5. Lucian SmithAug 23, 2016
  6. Julian PhillipsAug 23, 2016
  7. Lucian SmithAug 23, 2016
  8. Torsten BögershausenAug 23, 2016
  9. Torsten BögershausenAug 23, 2016
  10. Lucian SmithAug 23, 2016
  11. Junio C HamanoAug 23, 2016
  12. Lucian SmithAug 23, 2016

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.