{"thread":{"id":"61936","subject":"[PATCH] git-svn: mention `svn:globalignores` in help+docs","startedAt":"2024-08-12T22:06:27Z","lastAt":"2024-08-14T22:13:52Z","messageCount":9,"participants":["Alex Galvin via GitGitGadget","Junio C Hamano","Alex Galvin"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"500670","messageId":"pull.1766.git.git.1723500383989.gitgitgadget@gmail.com","threadId":"61936","inReplyTo":null,"subject":"[PATCH] git-svn: mention `svn:globalignores` in help+docs","fromName":"Alex Galvin via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2024-08-12T22:06:23Z","receivedAt":"2024-08-12T22:06:27Z","isPatch":true,"sender":{"key":"agalvin@comqi.com","avatar":"https://avatars.githubusercontent.com/u/32237198?v=4"},"body":"From: Alex Galvin <alex.v.galvin@gmail.com>\n\nGit-SVN was previously taught to use the svn:globalignores attribute\nas well as svn:ignore when creating or showing .gitignore files from\na Subversion repository. However, the documentation and help message\nstill only mentioned svn:ignore. This commit updates Git-SVN's\ndocumentation and help command to mention the newly supported attribute.\n\nSigned-off-by: Alex Galvin <alex.v.galvin@gmail.com>\n---\n    git-svn: mention svn:globalignores in help+docs\n\nPublished-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1766%2Fav-gal%2Fgit-svn-doc-globalignores-v1\nFetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1766/av-gal/git-svn-doc-globalignores-v1\nPull-Request: https://github.com/git/git/pull/1766\n\n Documentation/git-svn.txt | 14 +++++++-------\n git-svn.perl              |  4 ++--\n 2 files changed, 9 insertions(+), 9 deletions(-)\n\ndiff --git a/Documentation/git-svn.txt b/Documentation/git-svn.txt\nindex 43c68c2ec44..af69b07caf0 100644\n--- a/Documentation/git-svn.txt\n+++ b/Documentation/git-svn.txt\n@@ -431,14 +431,14 @@ Any other arguments are passed directly to 'git log'\n \tindependently of 'git svn' functions.\n \n 'create-ignore'::\n-\tRecursively finds the svn:ignore property on directories and\n-\tcreates matching .gitignore files. The resulting files are staged to\n-\tbe committed, but are not committed. Use -r/--revision to refer to a\n-\tspecific revision.\n+\tRecursively finds the svn:ignore and svn:globalignores properties on\n+\tdirectories and creates matching .gitignore files. The resulting\n+\tfiles are staged to be committed, but are not committed. Use\n+\t-r/--revision to refer to a specific revision.\n \n 'show-ignore'::\n-\tRecursively finds and lists the svn:ignore property on\n-\tdirectories.  The output is suitable for appending to\n+\tRecursively finds and lists the svn:ignore and svn:globalignores\n+\tproperties on directories. The output is suitable for appending to\n \tthe $GIT_DIR/info/exclude file.\n \n 'mkdirs'::\n@@ -871,7 +871,7 @@ Tracking and contributing to the trunk of a Subversion-managed project\n # Now commit your changes (that were committed previously using Git) to SVN,\n # as well as automatically updating your working HEAD:\n \tgit svn dcommit\n-# Append svn:ignore settings to the default Git exclude file:\n+# Append svn:ignore and svn:globalignores settings to the default Git exclude file:\n \tgit svn show-ignore >> .git/info/exclude\n ------------------------------------------------------------------------\n \ndiff --git a/git-svn.perl b/git-svn.perl\nindex a2a46608c9b..f3d8cf2c2c1 100755\n--- a/git-svn.perl\n+++ b/git-svn.perl\n@@ -219,7 +219,7 @@ my %cmd = (\n \t                \"Set an SVN repository to a git tree-ish\",\n \t\t\t{ 'stdin' => \\$_stdin, %cmt_opts, %fc_opts, } ],\n \t'create-ignore' => [ \\&cmd_create_ignore,\n-\t\t\t     'Create a .gitignore per svn:ignore',\n+\t\t\t     'Create a .gitignore per directory with svn:ignore and svn:globalignores',\n \t\t\t     { 'revision|r=i' => \\$_revision\n \t\t\t     } ],\n \t'mkdirs' => [ \\&cmd_mkdirs ,\n@@ -234,7 +234,7 @@ my %cmd = (\n         'proplist' => [ \\&cmd_proplist,\n \t\t       'List all properties of a file or directory',\n \t\t       { 'revision|r=i' => \\$_revision } ],\n-\t'show-ignore' => [ \\&cmd_show_ignore, \"Show svn:ignore listings\",\n+\t'show-ignore' => [ \\&cmd_show_ignore, \"Show svn:ignore and svn:globalignores listings\",\n \t\t\t{ 'revision|r=i' => \\$_revision\n \t\t\t} ],\n \t'show-externals' => [ \\&cmd_show_externals, \"Show svn:externals listings\",\n\nbase-commit: cabe67c0d1819fd1e33079e92615c6c7a3dc560d\n-- \ngitgitgadget\n"},{"id":"500811","messageId":"xmqq4j7o5nqn.fsf@gitster.g","threadId":"61936","inReplyTo":"pull.1766.git.git.1723500383989.gitgitgadget@gmail.com","subject":"Re: [PATCH] git-svn: mention `svn:globalignores` in help+docs","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2024-08-13T17:36:16Z","receivedAt":"2024-08-13T17:36:22Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Alex Galvin via GitGitGadget\" <gitgitgadget@gmail.com> writes:\n\n> From: Alex Galvin <alex.v.galvin@gmail.com>\n>\n> Git-SVN was previously taught to use the svn:globalignores attribute\n> as well as svn:ignore when creating or showing .gitignore files from\n> a Subversion repository. However, the documentation and help message\n> still only mentioned svn:ignore. This commit updates Git-SVN's\n> documentation and help command to mention the newly supported attribute.\n\nThanks for tying these loose ends.  Very much appreciated.\n\n> @@ -219,7 +219,7 @@ my %cmd = (\n>  \t                \"Set an SVN repository to a git tree-ish\",\n>  \t\t\t{ 'stdin' => \\$_stdin, %cmt_opts, %fc_opts, } ],\n>  \t'create-ignore' => [ \\&cmd_create_ignore,\n> -\t\t\t     'Create a .gitignore per svn:ignore',\n> +\t\t\t     'Create a .gitignore per directory with svn:ignore and svn:globalignores',\n\nI do not know how likely it is that Subversion gains even more\nsources of exclusion data in the future, but it makes me wonder if a\nphrase like \"Create a .gitignore file from ignore properties of svn\"\nso that we do not have to muck with the message.  Presumably those\nwho do use this feature know which properties Subversion uses to\nrecord the ignored paths.  On the other hand, if it is not expected\nto happen very soon, I think the text in this patch is good enough,\nand we can revisit the issue of help text getting overly long when\nwe do need to add the third one.\n\nThe same comment applies to the runtime option help for the other\none.  I think listing the set of ignore properties we are aware of,\niow what you have in this patch, is perfectly appropriate for the\ndocumentation.\n\nThanks.\n"},{"id":"500814","messageId":"13247074-76b3-4980-a097-3d49d26175a7@comqi.com","threadId":"61936","inReplyTo":"xmqq4j7o5nqn.fsf@gitster.g","subject":"Re: [PATCH] git-svn: mention `svn:globalignores` in help+docs","fromName":"Alex Galvin","fromEmail":"agalvin@comqi.com","sentAt":"2024-08-13T19:05:30Z","receivedAt":"2024-08-13T19:05:37Z","isPatch":true,"sender":{"key":"agalvin@comqi.com","avatar":"https://avatars.githubusercontent.com/u/32237198?v=4"},"body":"On 2024-08-13 1:36 p.m., Junio C Hamano wrote:\n> I do not know how likely it is that Subversion gains even more\n> sources of exclusion data in the future, but it makes me wonder if a\n> phrase like \"Create a .gitignore file from ignore properties of svn\"\n> so that we do not have to muck with the message.\n\nI don't think that Subversion will add another attribute for ignored \nfiles anytime soon. The project has not had a minor release since 2020; \nthe svn:global-ignores actually dates back to Subversion 1.8 in 2013.\n\nWith that being said, I think your proposed message is still better. I \nspent entirely too long debating if it was more appropriate to use \"and\" \nor \"or\" in my version of the help text.\n"},{"id":"500817","messageId":"pull.1766.v2.git.git.1723578946962.gitgitgadget@gmail.com","threadId":"61936","inReplyTo":"pull.1766.git.git.1723500383989.gitgitgadget@gmail.com","subject":"[PATCH v2] git-svn: mention `svn:global-ignores` in help+docs","fromName":"Alex Galvin via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2024-08-13T19:55:46Z","receivedAt":"2024-08-13T19:55:51Z","isPatch":true,"sender":{"key":"agalvin@comqi.com","avatar":"https://avatars.githubusercontent.com/u/32237198?v=4"},"body":"From: Alex Galvin <alex.v.galvin@gmail.com>\n\nGit-SVN was previously taught to use the svn:global-ignores attribute\nas well as svn:ignore when creating or showing .gitignore files from a\nSubversion repository. However, the documentation and help message\nstill only mentioned svn:ignore. This commit updates Git-SVN's\ndocumentation and help command to mention support for the new attribute.\n\nSigned-off-by: Alex Galvin <agalvin@comqi.com>\n---\n    git-svn: mention svn:global-ignores in help+docs\n\nPublished-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1766%2Fav-gal%2Fgit-svn-doc-globalignores-v2\nFetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1766/av-gal/git-svn-doc-globalignores-v2\nPull-Request: https://github.com/git/git/pull/1766\n\nRange-diff vs v1:\n\n 1:  9850e80684f ! 1:  d0b5df150e9 git-svn: mention `svn:globalignores` in help+docs\n     @@ Metadata\n      Author: Alex Galvin <alex.v.galvin@gmail.com>\n      \n       ## Commit message ##\n     -    git-svn: mention `svn:globalignores` in help+docs\n     +    git-svn: mention `svn:global-ignores` in help+docs\n      \n     -    Git-SVN was previously taught to use the svn:globalignores attribute\n     -    as well as svn:ignore when creating or showing .gitignore files from\n     -    a Subversion repository. However, the documentation and help message\n     +    Git-SVN was previously taught to use the svn:global-ignores attribute\n     +    as well as svn:ignore when creating or showing .gitignore files from a\n     +    Subversion repository. However, the documentation and help message\n          still only mentioned svn:ignore. This commit updates Git-SVN's\n     -    documentation and help command to mention the newly supported attribute.\n     +    documentation and help command to mention support for the new attribute.\n      \n     -    Signed-off-by: Alex Galvin <alex.v.galvin@gmail.com>\n     +    Signed-off-by: Alex Galvin <agalvin@comqi.com>\n      \n       ## Documentation/git-svn.txt ##\n      @@ Documentation/git-svn.txt: Any other arguments are passed directly to 'git log'\n     @@ Documentation/git-svn.txt: Any other arguments are passed directly to 'git log'\n      -\tcreates matching .gitignore files. The resulting files are staged to\n      -\tbe committed, but are not committed. Use -r/--revision to refer to a\n      -\tspecific revision.\n     -+\tRecursively finds the svn:ignore and svn:globalignores properties on\n     -+\tdirectories and creates matching .gitignore files. The resulting\n     ++\tRecursively finds the svn:ignore and svn:global-ignores properties\n     ++\ton directories and creates matching .gitignore files. The resulting\n      +\tfiles are staged to be committed, but are not committed. Use\n      +\t-r/--revision to refer to a specific revision.\n       \n       'show-ignore'::\n      -\tRecursively finds and lists the svn:ignore property on\n      -\tdirectories.  The output is suitable for appending to\n     -+\tRecursively finds and lists the svn:ignore and svn:globalignores\n     ++\tRecursively finds and lists the svn:ignore and svn:global-ignores\n      +\tproperties on directories. The output is suitable for appending to\n       \tthe $GIT_DIR/info/exclude file.\n       \n     @@ Documentation/git-svn.txt: Tracking and contributing to the trunk of a Subversio\n       # as well as automatically updating your working HEAD:\n       \tgit svn dcommit\n      -# Append svn:ignore settings to the default Git exclude file:\n     -+# Append svn:ignore and svn:globalignores settings to the default Git exclude file:\n     ++# Append svn:ignore and svn:global-ignores settings to the default Git exclude file:\n       \tgit svn show-ignore >> .git/info/exclude\n       ------------------------------------------------------------------------\n       \n     @@ git-svn.perl: my %cmd = (\n       \t\t\t{ 'stdin' => \\$_stdin, %cmt_opts, %fc_opts, } ],\n       \t'create-ignore' => [ \\&cmd_create_ignore,\n      -\t\t\t     'Create a .gitignore per svn:ignore',\n     -+\t\t\t     'Create a .gitignore per directory with svn:ignore and svn:globalignores',\n     ++\t\t\t     \"Create a .gitignore per directory with an SVN ignore property\",\n       \t\t\t     { 'revision|r=i' => \\$_revision\n       \t\t\t     } ],\n       \t'mkdirs' => [ \\&cmd_mkdirs ,\n     +-\t              \"recreate empty directories after a checkout\",\n     ++\t              \"Recreate empty directories after a checkout\",\n     + \t              { 'revision|r=i' => \\$_revision } ],\n     +         'propget' => [ \\&cmd_propget,\n     + \t\t       'Print the value of a property on a file or directory',\n      @@ git-svn.perl: my %cmd = (\n               'proplist' => [ \\&cmd_proplist,\n       \t\t       'List all properties of a file or directory',\n       \t\t       { 'revision|r=i' => \\$_revision } ],\n      -\t'show-ignore' => [ \\&cmd_show_ignore, \"Show svn:ignore listings\",\n     -+\t'show-ignore' => [ \\&cmd_show_ignore, \"Show svn:ignore and svn:globalignores listings\",\n     ++\t'show-ignore' => [ \\&cmd_show_ignore, \"Show .gitignore patterns from SVN ignore properties\",\n       \t\t\t{ 'revision|r=i' => \\$_revision\n       \t\t\t} ],\n       \t'show-externals' => [ \\&cmd_show_externals, \"Show svn:externals listings\",\n\n\n Documentation/git-svn.txt | 14 +++++++-------\n git-svn.perl              |  6 +++---\n 2 files changed, 10 insertions(+), 10 deletions(-)\n\ndiff --git a/Documentation/git-svn.txt b/Documentation/git-svn.txt\nindex 43c68c2ec44..bcf7d84a87d 100644\n--- a/Documentation/git-svn.txt\n+++ b/Documentation/git-svn.txt\n@@ -431,14 +431,14 @@ Any other arguments are passed directly to 'git log'\n \tindependently of 'git svn' functions.\n \n 'create-ignore'::\n-\tRecursively finds the svn:ignore property on directories and\n-\tcreates matching .gitignore files. The resulting files are staged to\n-\tbe committed, but are not committed. Use -r/--revision to refer to a\n-\tspecific revision.\n+\tRecursively finds the svn:ignore and svn:global-ignores properties\n+\ton directories and creates matching .gitignore files. The resulting\n+\tfiles are staged to be committed, but are not committed. Use\n+\t-r/--revision to refer to a specific revision.\n \n 'show-ignore'::\n-\tRecursively finds and lists the svn:ignore property on\n-\tdirectories.  The output is suitable for appending to\n+\tRecursively finds and lists the svn:ignore and svn:global-ignores\n+\tproperties on directories. The output is suitable for appending to\n \tthe $GIT_DIR/info/exclude file.\n \n 'mkdirs'::\n@@ -871,7 +871,7 @@ Tracking and contributing to the trunk of a Subversion-managed project\n # Now commit your changes (that were committed previously using Git) to SVN,\n # as well as automatically updating your working HEAD:\n \tgit svn dcommit\n-# Append svn:ignore settings to the default Git exclude file:\n+# Append svn:ignore and svn:global-ignores settings to the default Git exclude file:\n \tgit svn show-ignore >> .git/info/exclude\n ------------------------------------------------------------------------\n \ndiff --git a/git-svn.perl b/git-svn.perl\nindex a2a46608c9b..d8dc485e50d 100755\n--- a/git-svn.perl\n+++ b/git-svn.perl\n@@ -219,11 +219,11 @@ my %cmd = (\n \t                \"Set an SVN repository to a git tree-ish\",\n \t\t\t{ 'stdin' => \\$_stdin, %cmt_opts, %fc_opts, } ],\n \t'create-ignore' => [ \\&cmd_create_ignore,\n-\t\t\t     'Create a .gitignore per svn:ignore',\n+\t\t\t     \"Create a .gitignore per directory with an SVN ignore property\",\n \t\t\t     { 'revision|r=i' => \\$_revision\n \t\t\t     } ],\n \t'mkdirs' => [ \\&cmd_mkdirs ,\n-\t              \"recreate empty directories after a checkout\",\n+\t              \"Recreate empty directories after a checkout\",\n \t              { 'revision|r=i' => \\$_revision } ],\n         'propget' => [ \\&cmd_propget,\n \t\t       'Print the value of a property on a file or directory',\n@@ -234,7 +234,7 @@ my %cmd = (\n         'proplist' => [ \\&cmd_proplist,\n \t\t       'List all properties of a file or directory',\n \t\t       { 'revision|r=i' => \\$_revision } ],\n-\t'show-ignore' => [ \\&cmd_show_ignore, \"Show svn:ignore listings\",\n+\t'show-ignore' => [ \\&cmd_show_ignore, \"Show .gitignore patterns from SVN ignore properties\",\n \t\t\t{ 'revision|r=i' => \\$_revision\n \t\t\t} ],\n \t'show-externals' => [ \\&cmd_show_externals, \"Show svn:externals listings\",\n\nbase-commit: cabe67c0d1819fd1e33079e92615c6c7a3dc560d\n-- \ngitgitgadget\n"},{"id":"500825","messageId":"xmqqzfpg2gup.fsf@gitster.g","threadId":"61936","inReplyTo":"pull.1766.v2.git.git.1723578946962.gitgitgadget@gmail.com","subject":"Re: [PATCH v2] git-svn: mention `svn:global-ignores` in help+docs","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2024-08-13T22:33:18Z","receivedAt":"2024-08-13T22:33:24Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Alex Galvin via GitGitGadget\" <gitgitgadget@gmail.com> writes:\n\n> From: Alex Galvin <alex.v.galvin@gmail.com>\n>\n> Git-SVN was previously taught to use the svn:global-ignores attribute\n\nI think the noun they use is not \"attribute\" but \"property\".\n\n> as well as svn:ignore when creating or showing .gitignore files from a\n> Subversion repository. However, the documentation and help message\n> still only mentioned svn:ignore. This commit updates Git-SVN's\n\n\"This commit updates\" -> \"Update\".\n\n> diff --git a/git-svn.perl b/git-svn.perl\n> index a2a46608c9b..d8dc485e50d 100755\n> --- a/git-svn.perl\n> +++ b/git-svn.perl\n> @@ -219,11 +219,11 @@ my %cmd = (\n>  \t                \"Set an SVN repository to a git tree-ish\",\n>  \t\t\t{ 'stdin' => \\$_stdin, %cmt_opts, %fc_opts, } ],\n>  \t'create-ignore' => [ \\&cmd_create_ignore,\n> -\t\t\t     'Create a .gitignore per svn:ignore',\n> +\t\t\t     \"Create a .gitignore per directory with an SVN ignore property\",\n\nHmph.  Is it intentional that this \"create\" side uses a single\nproperty while ...\n\n>  \t\t\t     { 'revision|r=i' => \\$_revision\n>  \t\t\t     } ],\n>  \t'mkdirs' => [ \\&cmd_mkdirs ,\n> -\t              \"recreate empty directories after a checkout\",\n> +\t              \"Recreate empty directories after a checkout\",\n\nGiven that all other messages begin with capitalized verb, this is a\ngood change for consistency, but it was not advertised in the\nproposed log message (just saying \"While at it, capitalize the help\nmessage for 'mkdirs' command. for consistency\" would be sufficient).\n\n>  \t              { 'revision|r=i' => \\$_revision } ],\n>          'propget' => [ \\&cmd_propget,\n>  \t\t       'Print the value of a property on a file or directory',\n> @@ -234,7 +234,7 @@ my %cmd = (\n>          'proplist' => [ \\&cmd_proplist,\n>  \t\t       'List all properties of a file or directory',\n>  \t\t       { 'revision|r=i' => \\$_revision } ],\n> -\t'show-ignore' => [ \\&cmd_show_ignore, \"Show svn:ignore listings\",\n> +\t'show-ignore' => [ \\&cmd_show_ignore, \"Show .gitignore patterns from SVN ignore properties\",\n\n... the other \"show\" side talks about \"ignore properties\" (plural),\nimplying that both svn:ignore and svn:global-ignores may get\ninvolved?\n\n>  \t\t\t{ 'revision|r=i' => \\$_revision\n>  \t\t\t} ],\n>  \t'show-externals' => [ \\&cmd_show_externals, \"Show svn:externals listings\",\n>\n> base-commit: cabe67c0d1819fd1e33079e92615c6c7a3dc560d\n\nThanks.\n"},{"id":"500928","messageId":"2edfbfad-bfae-4fe1-8f26-4310fc54b2a0@comqi.com","threadId":"61936","inReplyTo":"xmqqzfpg2gup.fsf@gitster.g","subject":"Re: [PATCH v2] git-svn: mention `svn:global-ignores` in help+docs","fromName":"Alex Galvin","fromEmail":"agalvin@comqi.com","sentAt":"2024-08-14T17:53:57Z","receivedAt":"2024-08-14T17:54:04Z","isPatch":true,"sender":{"key":"agalvin@comqi.com","avatar":"https://avatars.githubusercontent.com/u/32237198?v=4"},"body":"On 2024-08-13 6:33 p.m., Junio C Hamano wrote:\n>> diff --git a/git-svn.perl b/git-svn.perl\n>> index a2a46608c9b..d8dc485e50d 100755\n>> --- a/git-svn.perl\n>> +++ b/git-svn.perl\n>> @@ -219,11 +219,11 @@ my %cmd = (\n>>   \t                \"Set an SVN repository to a git tree-ish\",\n>>   \t\t\t{ 'stdin' => \\$_stdin, %cmt_opts, %fc_opts, } ],\n>>   \t'create-ignore' => [ \\&cmd_create_ignore,\n>> -\t\t\t     'Create a .gitignore persvn:ignore',\n>> +\t\t\t     \"Create a .gitignore per directory with an SVN ignore property\",\n> Hmph.  Is it intentional that this \"create\" side uses a single\n> property while ...\n> ... the other \"show\" side talks about \"ignore properties\" (plural),\n> implying that both svn:ignore and svn:global-ignores may get\n> involved?\n\nI was trying to be precise that the create command makes one .gitignore\nfile in each directory it visits, regardless if that directory only has\none of the attributes or both. Would using \"any SVN ignore property\"\ninstead of \"a SVN ignore property\" make this clear?\n\nThanks,\nAlex\n\n"},{"id":"500932","messageId":"xmqqplqbx7cf.fsf@gitster.g","threadId":"61936","inReplyTo":"2edfbfad-bfae-4fe1-8f26-4310fc54b2a0@comqi.com","subject":"Re: [PATCH v2] git-svn: mention `svn:global-ignores` in help+docs","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2024-08-14T18:55:12Z","receivedAt":"2024-08-14T18:55:14Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Alex Galvin <agalvin@comqi.com> writes:\n\n> On 2024-08-13 6:33 p.m., Junio C Hamano wrote:\n>>> diff --git a/git-svn.perl b/git-svn.perl\n>>> index a2a46608c9b..d8dc485e50d 100755\n>>> --- a/git-svn.perl\n>>> +++ b/git-svn.perl\n>>> @@ -219,11 +219,11 @@ my %cmd = (\n>>>   \t                \"Set an SVN repository to a git tree-ish\",\n>>>   \t\t\t{ 'stdin' => \\$_stdin, %cmt_opts, %fc_opts, } ],\n>>>   \t'create-ignore' => [ \\&cmd_create_ignore,\n>>> -\t\t\t     'Create a .gitignore persvn:ignore',\n>>> +\t\t\t     \"Create a .gitignore per directory with an SVN ignore property\",\n>> Hmph.  Is it intentional that this \"create\" side uses a single\n>> property while ...\n>> ... the other \"show\" side talks about \"ignore properties\" (plural),\n>> implying that both svn:ignore and svn:global-ignores may get\n>> involved?\n>\n> I was trying to be precise that the create command makes one .gitignore\n> file in each directory it visits, regardless if that directory only has\n> one of the attributes or both. Would using \"any SVN ignore property\"\n> instead of \"a SVN ignore property\" make this clear?\n\nYou are creating a .gitignore file per each directory that has some\n\"ignore\" properties on the subversion side, so I do not have any\ntrouble with \"_a_ .gitignore\" being singular in the description.\n\nAnd you anticipate that each such directory has one or more [*]\nsvn:ignore or svn:global-ignores properties attached to it, and that\nwas why my reading hiccuped after seeing \"with _an_ SVN ignore\nproperty\".\n\n    Side note: * if there is 0 such properties given to the\n    directory, you obviously do not muck with .gitignore file in the\n    directory.\n\nSo I am not sure how much difference \"any/a\" before \"SVN ignore\nproperty\" makes.\n\nThanks.\n"},{"id":"500937","messageId":"pull.1766.v3.git.git.1723665790460.gitgitgadget@gmail.com","threadId":"61936","inReplyTo":"pull.1766.v2.git.git.1723578946962.gitgitgadget@gmail.com","subject":"[PATCH v3] git-svn: mention `svn:global-ignores` in help+docs","fromName":"Alex Galvin via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2024-08-14T20:03:10Z","receivedAt":"2024-08-14T20:03:14Z","isPatch":true,"sender":{"key":"agalvin@comqi.com","avatar":"https://avatars.githubusercontent.com/u/32237198?v=4"},"body":"From: Alex Galvin <agalvin@comqi.com>\n\nGit-SVN was previously taught to use the svn:global-ignores property as\nwell as svn:ignore when creating or showing .gitignore files from a\nSubversion repository. However, the documentation and help message still\nonly mentioned svn:ignore. Update Git-SVN's documentation and help\ncommand to mention support for the new property. Also capitalize the\nhelp message for the 'mkdirs' command, for consistency.\n\nSigned-off-by: Alex Galvin <agalvin@comqi.com>\n---\n    git-svn: mention svn:global-ignores in help+docs\n\nPublished-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1766%2Fav-gal%2Fgit-svn-doc-globalignores-v3\nFetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1766/av-gal/git-svn-doc-globalignores-v3\nPull-Request: https://github.com/git/git/pull/1766\n\nRange-diff vs v2:\n\n 1:  d0b5df150e9 ! 1:  a6d93512218 git-svn: mention `svn:global-ignores` in help+docs\n     @@\n       ## Metadata ##\n     -Author: Alex Galvin <alex.v.galvin@gmail.com>\n     +Author: Alex Galvin <agalvin@comqi.com>\n      \n       ## Commit message ##\n          git-svn: mention `svn:global-ignores` in help+docs\n      \n     -    Git-SVN was previously taught to use the svn:global-ignores attribute\n     -    as well as svn:ignore when creating or showing .gitignore files from a\n     -    Subversion repository. However, the documentation and help message\n     -    still only mentioned svn:ignore. This commit updates Git-SVN's\n     -    documentation and help command to mention support for the new attribute.\n     +    Git-SVN was previously taught to use the svn:global-ignores property as\n     +    well as svn:ignore when creating or showing .gitignore files from a\n     +    Subversion repository. However, the documentation and help message still\n     +    only mentioned svn:ignore. Update Git-SVN's documentation and help\n     +    command to mention support for the new property. Also capitalize the\n     +    help message for the 'mkdirs' command, for consistency.\n      \n          Signed-off-by: Alex Galvin <agalvin@comqi.com>\n      \n     @@ git-svn.perl: my %cmd = (\n       \t\t\t{ 'stdin' => \\$_stdin, %cmt_opts, %fc_opts, } ],\n       \t'create-ignore' => [ \\&cmd_create_ignore,\n      -\t\t\t     'Create a .gitignore per svn:ignore',\n     -+\t\t\t     \"Create a .gitignore per directory with an SVN ignore property\",\n     ++\t\t\t     \"Create a .gitignore per directory with SVN ignore properties\",\n       \t\t\t     { 'revision|r=i' => \\$_revision\n       \t\t\t     } ],\n       \t'mkdirs' => [ \\&cmd_mkdirs ,\n\n\n Documentation/git-svn.txt | 14 +++++++-------\n git-svn.perl              |  6 +++---\n 2 files changed, 10 insertions(+), 10 deletions(-)\n\ndiff --git a/Documentation/git-svn.txt b/Documentation/git-svn.txt\nindex 43c68c2ec44..bcf7d84a87d 100644\n--- a/Documentation/git-svn.txt\n+++ b/Documentation/git-svn.txt\n@@ -431,14 +431,14 @@ Any other arguments are passed directly to 'git log'\n \tindependently of 'git svn' functions.\n \n 'create-ignore'::\n-\tRecursively finds the svn:ignore property on directories and\n-\tcreates matching .gitignore files. The resulting files are staged to\n-\tbe committed, but are not committed. Use -r/--revision to refer to a\n-\tspecific revision.\n+\tRecursively finds the svn:ignore and svn:global-ignores properties\n+\ton directories and creates matching .gitignore files. The resulting\n+\tfiles are staged to be committed, but are not committed. Use\n+\t-r/--revision to refer to a specific revision.\n \n 'show-ignore'::\n-\tRecursively finds and lists the svn:ignore property on\n-\tdirectories.  The output is suitable for appending to\n+\tRecursively finds and lists the svn:ignore and svn:global-ignores\n+\tproperties on directories. The output is suitable for appending to\n \tthe $GIT_DIR/info/exclude file.\n \n 'mkdirs'::\n@@ -871,7 +871,7 @@ Tracking and contributing to the trunk of a Subversion-managed project\n # Now commit your changes (that were committed previously using Git) to SVN,\n # as well as automatically updating your working HEAD:\n \tgit svn dcommit\n-# Append svn:ignore settings to the default Git exclude file:\n+# Append svn:ignore and svn:global-ignores settings to the default Git exclude file:\n \tgit svn show-ignore >> .git/info/exclude\n ------------------------------------------------------------------------\n \ndiff --git a/git-svn.perl b/git-svn.perl\nindex a2a46608c9b..01e7a70de1c 100755\n--- a/git-svn.perl\n+++ b/git-svn.perl\n@@ -219,11 +219,11 @@ my %cmd = (\n \t                \"Set an SVN repository to a git tree-ish\",\n \t\t\t{ 'stdin' => \\$_stdin, %cmt_opts, %fc_opts, } ],\n \t'create-ignore' => [ \\&cmd_create_ignore,\n-\t\t\t     'Create a .gitignore per svn:ignore',\n+\t\t\t     \"Create a .gitignore per directory with SVN ignore properties\",\n \t\t\t     { 'revision|r=i' => \\$_revision\n \t\t\t     } ],\n \t'mkdirs' => [ \\&cmd_mkdirs ,\n-\t              \"recreate empty directories after a checkout\",\n+\t              \"Recreate empty directories after a checkout\",\n \t              { 'revision|r=i' => \\$_revision } ],\n         'propget' => [ \\&cmd_propget,\n \t\t       'Print the value of a property on a file or directory',\n@@ -234,7 +234,7 @@ my %cmd = (\n         'proplist' => [ \\&cmd_proplist,\n \t\t       'List all properties of a file or directory',\n \t\t       { 'revision|r=i' => \\$_revision } ],\n-\t'show-ignore' => [ \\&cmd_show_ignore, \"Show svn:ignore listings\",\n+\t'show-ignore' => [ \\&cmd_show_ignore, \"Show .gitignore patterns from SVN ignore properties\",\n \t\t\t{ 'revision|r=i' => \\$_revision\n \t\t\t} ],\n \t'show-externals' => [ \\&cmd_show_externals, \"Show svn:externals listings\",\n\nbase-commit: cabe67c0d1819fd1e33079e92615c6c7a3dc560d\n-- \ngitgitgadget\n"},{"id":"500941","messageId":"xmqqzfpewy88.fsf@gitster.g","threadId":"61936","inReplyTo":"pull.1766.v3.git.git.1723665790460.gitgitgadget@gmail.com","subject":"Re: [PATCH v3] git-svn: mention `svn:global-ignores` in help+docs","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2024-08-14T22:12:07Z","receivedAt":"2024-08-14T22:13:52Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Alex Galvin via GitGitGadget\" <gitgitgadget@gmail.com> writes:\n\n> From: Alex Galvin <agalvin@comqi.com>\n>\n> Git-SVN was previously taught to use the svn:global-ignores property as\n> well as svn:ignore when creating or showing .gitignore files from a\n> Subversion repository. However, the documentation and help message still\n> only mentioned svn:ignore. Update Git-SVN's documentation and help\n> command to mention support for the new property. Also capitalize the\n> help message for the 'mkdirs' command, for consistency.\n>\n> Signed-off-by: Alex Galvin <agalvin@comqi.com>\n> ---\n>     git-svn: mention svn:global-ignores in help+docs\n\nWell written.  Also thanks for forcing the authorship with the\nadditional in-body From: header.  I totally missed it while reading\nthe last round.\n\nWill queue.  Let's mark it for 'next' soonish.\n\n> Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1766%2Fav-gal%2Fgit-svn-doc-globalignores-v3\n> Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1766/av-gal/git-svn-doc-globalignores-v3\n> Pull-Request: https://github.com/git/git/pull/1766\n>\n> Range-diff vs v2:\n>\n>  1:  d0b5df150e9 ! 1:  a6d93512218 git-svn: mention `svn:global-ignores` in help+docs\n>      @@\n>        ## Metadata ##\n>      -Author: Alex Galvin <alex.v.galvin@gmail.com>\n>      +Author: Alex Galvin <agalvin@comqi.com>\n>       \n>        ## Commit message ##\n>           git-svn: mention `svn:global-ignores` in help+docs\n>       \n>      -    Git-SVN was previously taught to use the svn:global-ignores attribute\n>      -    as well as svn:ignore when creating or showing .gitignore files from a\n>      -    Subversion repository. However, the documentation and help message\n>      -    still only mentioned svn:ignore. This commit updates Git-SVN's\n>      -    documentation and help command to mention support for the new attribute.\n>      +    Git-SVN was previously taught to use the svn:global-ignores property as\n>      +    well as svn:ignore when creating or showing .gitignore files from a\n>      +    Subversion repository. However, the documentation and help message still\n>      +    only mentioned svn:ignore. Update Git-SVN's documentation and help\n>      +    command to mention support for the new property. Also capitalize the\n>      +    help message for the 'mkdirs' command, for consistency.\n>       \n>           Signed-off-by: Alex Galvin <agalvin@comqi.com>\n>       \n>      @@ git-svn.perl: my %cmd = (\n>        \t\t\t{ 'stdin' => \\$_stdin, %cmt_opts, %fc_opts, } ],\n>        \t'create-ignore' => [ \\&cmd_create_ignore,\n>       -\t\t\t     'Create a .gitignore per svn:ignore',\n>      -+\t\t\t     \"Create a .gitignore per directory with an SVN ignore property\",\n>      ++\t\t\t     \"Create a .gitignore per directory with SVN ignore properties\",\n>        \t\t\t     { 'revision|r=i' => \\$_revision\n>        \t\t\t     } ],\n>        \t'mkdirs' => [ \\&cmd_mkdirs ,\n>\n>\n>  Documentation/git-svn.txt | 14 +++++++-------\n>  git-svn.perl              |  6 +++---\n>  2 files changed, 10 insertions(+), 10 deletions(-)\n>\n> diff --git a/Documentation/git-svn.txt b/Documentation/git-svn.txt\n> index 43c68c2ec44..bcf7d84a87d 100644\n> --- a/Documentation/git-svn.txt\n> +++ b/Documentation/git-svn.txt\n> @@ -431,14 +431,14 @@ Any other arguments are passed directly to 'git log'\n>  \tindependently of 'git svn' functions.\n>  \n>  'create-ignore'::\n> -\tRecursively finds the svn:ignore property on directories and\n> -\tcreates matching .gitignore files. The resulting files are staged to\n> -\tbe committed, but are not committed. Use -r/--revision to refer to a\n> -\tspecific revision.\n> +\tRecursively finds the svn:ignore and svn:global-ignores properties\n> +\ton directories and creates matching .gitignore files. The resulting\n> +\tfiles are staged to be committed, but are not committed. Use\n> +\t-r/--revision to refer to a specific revision.\n>  \n>  'show-ignore'::\n> -\tRecursively finds and lists the svn:ignore property on\n> -\tdirectories.  The output is suitable for appending to\n> +\tRecursively finds and lists the svn:ignore and svn:global-ignores\n> +\tproperties on directories. The output is suitable for appending to\n>  \tthe $GIT_DIR/info/exclude file.\n>  \n>  'mkdirs'::\n> @@ -871,7 +871,7 @@ Tracking and contributing to the trunk of a Subversion-managed project\n>  # Now commit your changes (that were committed previously using Git) to SVN,\n>  # as well as automatically updating your working HEAD:\n>  \tgit svn dcommit\n> -# Append svn:ignore settings to the default Git exclude file:\n> +# Append svn:ignore and svn:global-ignores settings to the default Git exclude file:\n>  \tgit svn show-ignore >> .git/info/exclude\n>  ------------------------------------------------------------------------\n>  \n> diff --git a/git-svn.perl b/git-svn.perl\n> index a2a46608c9b..01e7a70de1c 100755\n> --- a/git-svn.perl\n> +++ b/git-svn.perl\n> @@ -219,11 +219,11 @@ my %cmd = (\n>  \t                \"Set an SVN repository to a git tree-ish\",\n>  \t\t\t{ 'stdin' => \\$_stdin, %cmt_opts, %fc_opts, } ],\n>  \t'create-ignore' => [ \\&cmd_create_ignore,\n> -\t\t\t     'Create a .gitignore per svn:ignore',\n> +\t\t\t     \"Create a .gitignore per directory with SVN ignore properties\",\n>  \t\t\t     { 'revision|r=i' => \\$_revision\n>  \t\t\t     } ],\n>  \t'mkdirs' => [ \\&cmd_mkdirs ,\n> -\t              \"recreate empty directories after a checkout\",\n> +\t              \"Recreate empty directories after a checkout\",\n>  \t              { 'revision|r=i' => \\$_revision } ],\n>          'propget' => [ \\&cmd_propget,\n>  \t\t       'Print the value of a property on a file or directory',\n> @@ -234,7 +234,7 @@ my %cmd = (\n>          'proplist' => [ \\&cmd_proplist,\n>  \t\t       'List all properties of a file or directory',\n>  \t\t       { 'revision|r=i' => \\$_revision } ],\n> -\t'show-ignore' => [ \\&cmd_show_ignore, \"Show svn:ignore listings\",\n> +\t'show-ignore' => [ \\&cmd_show_ignore, \"Show .gitignore patterns from SVN ignore properties\",\n>  \t\t\t{ 'revision|r=i' => \\$_revision\n>  \t\t\t} ],\n>  \t'show-externals' => [ \\&cmd_show_externals, \"Show svn:externals listings\",\n>\n> base-commit: cabe67c0d1819fd1e33079e92615c6c7a3dc560d\n"}]}