<pre style='margin:0'>
Christopher Nielsen (mascguy) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/69b7650c28fb31e7e96ce638dbc31aba878df309">https://github.com/macports/macports-ports/commit/69b7650c28fb31e7e96ce638dbc31aba878df309</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new 69b7650c28f git: do not overwrite the system-wide gitconfig when adding configuration for the osxkeychain credential helper
</span>69b7650c28f is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 69b7650c28fb31e7e96ce638dbc31aba878df309
</span>Author: Herby Gillot <herby.gillot@gmail.com>
AuthorDate: Mon Dec 6 03:11:08 2021 -0500

<span style='display:block; white-space:pre;color:#404040;'>    git: do not overwrite the system-wide gitconfig when adding configuration for the osxkeychain credential helper
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    If the gitconfig does not exist, then it will be created. But if it *does*
</span><span style='display:block; white-space:pre;color:#404040;'>    exist, then the file will be checked to see whether it already contains the
</span><span style='display:block; white-space:pre;color:#404040;'>    desired config, and if it doesn't, the configuration will be appended to the
</span><span style='display:block; white-space:pre;color:#404040;'>    already existing file.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Fixes: https://trac.macports.org/ticket/63953
</span>---
 devel/git/Portfile | 46 ++++++++++++++++++++++++++++------------------
 1 file changed, 28 insertions(+), 18 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/git/Portfile b/devel/git/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 1b51c5e13c0..db2c07fa978 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/git/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/git/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -110,7 +110,8 @@ pre-destroot {
</span>     xinstall -m 644 ${worksrcpath}/contrib/subtree/git-subtree.1 ${workpath}/man1
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set docdestroot ${destroot}${prefix}/share/doc/git-doc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set docdestroot         ${destroot}${prefix}/share/doc/git-doc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set system_gitconfig    ${prefix}/etc/gitconfig
</span> 
 post-destroot {
     foreach f {1 5 7} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -227,22 +228,37 @@ variant credential_osxkeychain description {Install git credential-osxkeychain u
</span>     }
 
     post-destroot {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        xinstall -m 755 "${worksrcpath}/contrib/credential/osxkeychain/git-credential-osxkeychain" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        xinstall -m 0755 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            "${worksrcpath}/contrib/credential/osxkeychain/git-credential-osxkeychain" \
</span>             "${destroot}${prefix}/libexec/git-core/"
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        # Create a global gitconfig file that sets credential.helper to
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # osxkeychain. This can be overriden on a per-user basis in the user's
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # own git config file
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set f [open ${destroot}${prefix}/etc/gitconfig w 0644]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        puts ${f} "\[credential]\n\thelper = osxkeychain"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        close ${f}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    pre-activate {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set osxkc_config        "\[credential]\n\thelper = osxkeychain"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # Ensure the osxkeychain credential helper is configured in the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # system-wide gitconfig.  If the gitconfig file already exists,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # then append the configuration to the pre-existing file only
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # if the file is currently missing the desired config.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if { ![file exists ${system_gitconfig}] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set f [open ${system_gitconfig} w 0644]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            puts ${f} ${osxkc_config}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            close ${f}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if { [catch {exec grep "helper = osxkeychain" ${system_gitconfig}} result] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                set f [open ${system_gitconfig} a]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                puts ${f} ${osxkc_config}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                close ${f}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span>     }
 
     notes "
<span style='display:block; white-space:pre;background:#ffe0e0;'>-A gitconfig file has been created at ${prefix}/etc/gitconfig to enable the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-osxkeychain credential helper. If you do not wish to use this credential
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-helper, you can override this setting in your own personal git config file
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-\(\$HOME/.gitconfig\) with e.g.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Configuration to enable the osxkeychain credential helper has been added to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+the system-wide gitconfig at ${system_gitconfig}. If you do not wish to use
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+this credential helper, you can override this setting in your own personal
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+git config file \(\$HOME/.gitconfig\) with e.g.
</span> 
     \[credential]
             helper = some_other_credential_helper
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -250,12 +266,6 @@ helper, you can override this setting in your own personal git config file
</span> For more information, run
 
     git help credentials
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-NOTE: ${prefix}/etc/gitconfig will be over-written on port upgrades, and
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-      thus it is NOT recommended to place any personal customisations in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-      this file. Instead use your personal configuration file
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         \(\$HOME/.gitconfig\)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-      for any additional modifications you wish to make.
</span> "
 }
 
</pre><pre style='margin:0'>

</pre>