Subject: [PATCH v2 0/2] git-svn: use svn:global-ignores when creating .gitignores

From: "Alex Galvin via GitGitGadget" <[email-masked]>
Date: Thu, 18 Jul 2024 20:47:35 +0000

Git-SVN does not currently use the svn:global-ignores property added in
Subversion 1.8 when showing or creating .gitignore files. This causes
Git-SVN to track files that are ignored by this directive in Subversion.

The following patches add svn:global-ignores to the list of public svn
properties, and update git svn show-ignore and git svn create-ignore to use
this attribute (as well as svn:ignore).

Alex Galvin (2):
  git-svn: add public property `svn:global-ignores`
  git-svn: use `svn:global-ignores` to create .gitignore

 git-svn.perl    | 45 +++++++++++++++++++++++++++++++--------------
 perl/Git/SVN.pm |  2 +-
 2 files changed, 32 insertions(+), 15 deletions(-)

base-commit: c2b3f2b3cdbf5ad9feb978dd367d77561a1271f7
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1747%2Fav-gal%2Fgit-svn-global-ignores-v2
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1747/av-gal/git-svn-global-ignores-v2
Pull-Request: https://github.com/git/git/pull/1747

Range-diff vs v1:

 1:  27bee8de47b ! 1:  002750ea47a git-svn: add public property `svn:global-ignores`
     @@ Metadata
       ## Commit message ##
          git-svn: add public property `svn:global-ignores`
      
     +    Subversion 1.8 added a new property `svn:global-ignores`. It
     +    contains a list of patterns used to determine what files should
     +    be ignored. If Git-SVN is going to ignore these files as well, it
     +    is important that we do not skip over directories that have this
     +    property set.
     +
          Signed-off-by: Alex Galvin <[email-masked]>
      
       ## perl/Git/SVN.pm ##
 2:  10e240202f7 ! 2:  7735afb32af git-svn: use `svn:global-ignores` to create .gitignore
     @@ Metadata
       ## Commit message ##
          git-svn: use `svn:global-ignores` to create .gitignore
      
     +    `svn:global-ignores` contains a list of file patterns that should
     +    not be tracked in version control. The syntax of these patterns is
     +    the same as `svn:ignore`. Their semantics differ: patterns in
     +    `svn:global-ignores` apply to all paths under the directory where
     +    they apply, while `svn:ignore` only applies to the directory's
     +    immediate children.
     +
          Signed-off-by: Alex Galvin <[email-masked]>
      
       ## git-svn.perl ##

-- 
gitgitgadget