<pre style='margin:0'>
Clemens Lang (neverpanic) pushed a commit to branch master
in repository macports-base.

</pre>
<p><a href="https://github.com/macports/macports-base/commit/d586977ada727dd46350564d5113de9803797347">https://github.com/macports/macports-base/commit/d586977ada727dd46350564d5113de9803797347</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 d586977  port: -D also accepts port names
</span>d586977 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit d586977ada727dd46350564d5113de9803797347
</span>Author: Rainer Müller <raimue@users.noreply.github.com>
AuthorDate: Wed Apr 11 10:58:16 2018 +0200

<span style='display:block; white-space:pre;color:#404040;'>    port: -D also accepts port names
</span>---
 doc/port.1        |  7 +++----
 doc/port.1.txt    |  9 ++++++---
 src/port/port.tcl | 27 +++++++++++++++++++++++++--
 3 files changed, 34 insertions(+), 9 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/doc/port.1 b/doc/port.1
</span><span style='display:block; white-space:pre;color:#808080;'>index cbc73b9..f7d11c3 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/doc/port.1
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/doc/port.1
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -28,7 +28,7 @@ port \- Command line interface for MacPorts
</span> 
 .sp
 .nf
<span style='display:block; white-space:pre;background:#ffe0e0;'>-\fBport\fR [\fB\-bcdfknNopqRstuvy\fR] [\fB\-D\fR \fIportdir\fR] [\fB\-F\fR \fIcmdfile\fR] [\fIaction\fR] [\fIactionflags\fR]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\fBport\fR [\fB\-bcdfknNopqRstuvy\fR] [\fB\-D\fR \fIportdir\fR|\fIportname\fR] [\fB\-F\fR \fIcmdfile\fR] [\fIaction\fR] [\fIactionflags\fR]
</span>      [[\fIportname\fR | \fIpseudo\-portname\fR | \fIport\-expressions\fR | \fIport\-url\fR]]
      [[\fI@version\fR] [+/\-variant \&...] \&... [option=value \&...]]
 .fi
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -652,13 +652,12 @@ Force mode, ignore state file
</span> 
 .RE
 .PP
<span style='display:block; white-space:pre;background:#ffe0e0;'>-\-D \fIportdir\fR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\-D \fIportdir\fR|\fIportname\fR
</span> .RS 4
 
 
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Specfiy
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-\fIportdir\fR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Specify a directory to which the port command should change to before processing any actions\&. If the specified value does not contain any slashes, the value is used to look up a port and the current working directory is set to the corresponding port directory\&.
</span> 
 .RE
 .PP
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/doc/port.1.txt b/doc/port.1.txt
</span><span style='display:block; white-space:pre;color:#808080;'>index a74ebce..9ba9e33 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/doc/port.1.txt
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/doc/port.1.txt
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -9,7 +9,7 @@ port - Command line interface for MacPorts
</span> SYNOPSIS
 --------
 [cmdsynopsis]
<span style='display:block; white-space:pre;background:#ffe0e0;'>-*port* [*-bcdfknNopqRstuvy*] [*-D* 'portdir'] [*-F* 'cmdfile'] ['action'] ['actionflags']
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+*port* [*-bcdfknNopqRstuvy*] [*-D* 'portdir'|'portname'] [*-F* 'cmdfile'] ['action'] ['actionflags']
</span>      [['portname' | 'pseudo-portname' | 'port-expressions' | 'port-url']]
      [['@version'] [+/-variant ...] ... [option=value ...]]
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -191,8 +191,11 @@ The port command recognizes several global flags and options.
</span> -f::
     Force mode, ignore state file
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>--D 'portdir'::
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    Specfiy 'portdir'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-D 'portdir'|'portname'::
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    Specify a directory to which the port command should change to before
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    processing any actions. If the specified value does not contain any slashes,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    the value is used to look up a port and the current working directory is set
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    to the corresponding port directory.
</span> 
 -F 'cmdfile'::
     Read and process the 'file' of commands specified by the argument. If the
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/port/port.tcl b/src/port/port.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 2a849d3..0b9f45c 100755
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/port/port.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/port/port.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -50,7 +50,7 @@ package require Pextlib 1.0
</span> proc print_usage {{verbose 1}} {
     global cmdname
     set syntax {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        [-bcdfknNopqRstuvy] [-D portdir] [-F cmdfile] action [actionflags]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        [-bcdfknNopqRstuvy] [-D portdir|portname] [-F cmdfile] action [actionflags]
</span>         [[portname|pseudo-portname|port-url] [@version] [+-variant]... [option=value]...]...
     }
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4573,7 +4573,7 @@ proc parse_options { action ui_options_name global_options_name } {
</span>                     D {
                         advance
                         if {[moreargs]} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                            cd [lookahead]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            set global_options(ports_dir) [lookahead]
</span>                         }
                         break
                     }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -5693,6 +5693,29 @@ if {[catch {mportinit ui_options global_options global_variations} result]} {
</span>     fatal "Failed to initialize MacPorts, $result"
 }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# Change to port directory if requested
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[info exists global_options(ports_dir)]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set dir $global_options(ports_dir)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[string first "/" $dir] == -1} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set portname $dir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[catch {mportlookup $portname} result]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ui_debug $::errorInfo
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            fatal "lookup of portname $portname failed: $result"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[llength $result] < 2} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ui_error "port -D failed to look up $portname: no such port"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            exit 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        array set portinfo [lindex $result 1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set dir [macports::getportdir $portinfo(porturl)]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[catch {cd $dir} result]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ui_debug "cd $dir: $::errorCode"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ui_error "port -D could not change directory to $dir: [lindex $::errorCode 2]"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        exit 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> # Set up some global state for our code
 set current_portdir [pwd]
 
</pre><pre style='margin:0'>

</pre>