<pre style='margin:0'>
Joshua Root (jmroot) pushed a commit to branch master
in repository macports-base.

</pre>
<p><a href="https://github.com/macports/macports-base/commit/c1c02d8b4cd278d5bf831179b539fa72c979fa07">https://github.com/macports/macports-base/commit/c1c02d8b4cd278d5bf831179b539fa72c979fa07</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 c1c02d8b4 livecheck: add git support
</span>c1c02d8b4 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit c1c02d8b4cd278d5bf831179b539fa72c979fa07
</span>Author: Mohamed Akram <mohd.akram@outlook.com>
AuthorDate: Thu Mar 6 17:34:14 2025 +0400

<span style='display:block; white-space:pre;color:#404040;'>    livecheck: add git support
</span>---
 doc/portfile.7                |  9 ++++++++-
 src/port1.0/portlivecheck.tcl | 21 +++++++++++++++++++--
 2 files changed, 27 insertions(+), 3 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/doc/portfile.7 b/doc/portfile.7
</span><span style='display:block; white-space:pre;color:#808080;'>index a12fd60b4..b4315db83 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/doc/portfile.7
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/doc/portfile.7
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2195,6 +2195,8 @@ tag of the freecode XML file),
</span> (retrieve the version by applying a regex to some URL resource),
 .Em regexm
 (retrieve the version by applying a multi-line regex to some URL resource),
<span style='display:block; white-space:pre;background:#e0ffe0;'>+.Em git
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(retrieve the commit from a remote git branch),
</span> .Em md5
 (compares the md5 sum of some URL resource) or
 .Em none
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2213,7 +2215,7 @@ is one of these, else
</span> .Em freecode
 .br
 .Sy Values:
<span style='display:block; white-space:pre;background:#ffe0e0;'>-.Em freecode sourceforge googlecode moddate regex regexm md5 none
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Em freecode sourceforge googlecode moddate regex regexm git md5 none
</span> .It Ic livecheck.name
 Name of the project for live checks (used for freecode, sourceforge, and googlecode checks).
 .br
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2269,6 +2271,11 @@ Be sure to use a regular expression grouping around the version component.
</span> .br
 .Sy Type:
 .Em optional
<span style='display:block; white-space:pre;background:#e0ffe0;'>+.It Ic livecheck.branch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+git branch to use for getting latest commit.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.br
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Sy Type:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Em optional
</span> .It Ic livecheck.md5
 md5 sum to use for md5 comparison.
 .br
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/port1.0/portlivecheck.tcl b/src/port1.0/portlivecheck.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 1f238559f..27d921214 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/port1.0/portlivecheck.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/port1.0/portlivecheck.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -45,13 +45,14 @@ namespace eval portlivecheck {
</span> }
 
 # define options
<span style='display:block; white-space:pre;background:#ffe0e0;'>-options livecheck.url livecheck.type livecheck.md5 livecheck.regex livecheck.name livecheck.distname livecheck.version livecheck.ignore_sslcert livecheck.compression livecheck.curloptions
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+options livecheck.url livecheck.type livecheck.md5 livecheck.regex livecheck.branch livecheck.name livecheck.distname livecheck.version livecheck.ignore_sslcert livecheck.compression livecheck.curloptions
</span> 
 # defaults
 default livecheck.url {$homepage}
 default livecheck.type default
 default livecheck.md5 {}
 default livecheck.regex {}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+default livecheck.branch {}
</span> default livecheck.name default
 default livecheck.distname default
 default livecheck.version {$version}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -60,10 +61,11 @@ default livecheck.compression yes
</span> default livecheck.curloptions [list --append-http-header "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"]
 
 proc portlivecheck::livecheck_main {args} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    global livecheck.url livecheck.type livecheck.md5 livecheck.regex livecheck.name livecheck.distname livecheck.version \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global livecheck.url livecheck.type livecheck.md5 livecheck.regex livecheck.branch livecheck.name livecheck.distname livecheck.version \
</span>            livecheck.ignore_sslcert \
            livecheck.compression \
            livecheck.curloptions \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+           git.cmd \
</span>            homepage portpath \
            master_sites name subport
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -234,6 +236,21 @@ proc portlivecheck::livecheck_main {args} {
</span>                 }
             }
         }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+        "git" {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {${livecheck.branch} eq {}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                set livecheck.branch "HEAD"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ui_debug "Getting latest commit from ${livecheck.url} ${livecheck.branch}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {[catch {exec ${git.cmd} ls-remote ${livecheck.url} ${livecheck.branch}} result]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ui_error "cannot check if $subport was updated ($result)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                set updated -1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                set updated_version [lindex [split $result] 0]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                if {$updated_version ne ${livecheck.version}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    set updated 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span>         "none" {
         }
         default {
</pre><pre style='margin:0'>

</pre>