<pre style='margin:0'>
Rainer Müller (raimue) pushed a commit to branch vcs-fetch
in repository macports-base.
</pre>
<p><a href="https://github.com/macports/macports-base/commit/a10c4dc37f73423195ebb50a921714a6cdd62728">https://github.com/macports/macports-base/commit/a10c4dc37f73423195ebb50a921714a6cdd62728</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/vcs-fetch by this push:
<span style='display:block; white-space:pre;color:#404040;'> new a10c4dc fetch: Support sparse checkouts with svn.subdirs
</span>a10c4dc is described below
<span style='display:block; white-space:pre;color:#808000;'>commit a10c4dc37f73423195ebb50a921714a6cdd62728
</span>Author: Rainer Müller <raimue@macports.org>
AuthorDate: Wed Mar 21 14:17:55 2018 +0100
<span style='display:block; white-space:pre;color:#404040;'> fetch: Support sparse checkouts with svn.subdirs
</span>---
src/port1.0/portfetch.tcl | 29 +++++++++++++++++++++++------
1 file changed, 23 insertions(+), 6 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/port1.0/portfetch.tcl b/src/port1.0/portfetch.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 6441ee5..d8764c7 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/port1.0/portfetch.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/port1.0/portfetch.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -51,7 +51,7 @@ options master_sites patch_sites extract.suffix distfiles patchfiles use_bzip2 u
</span> master_sites.mirror_subdir patch_sites.mirror_subdir \
bzr.cmd bzr.url bzr.revision bzr.file bzr.file_prefix \
cvs.cmd cvs.root cvs.password cvs.module cvs.tag cvs.date cvs.file cvs.file_prefix \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- svn.cmd svn.url svn.revision svn.file svn.file_prefix \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ svn.cmd svn.url svn.revision svn.subdirs svn.file svn.file_prefix \
</span> git.cmd git.url git.branch git.file git.file_prefix git.fetch_submodules \
hg.cmd hg.url hg.tag hg.file hg.file_prefix
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -76,6 +76,7 @@ default cvs.file_prefix {${distname}}
</span> default svn.cmd {[portfetch::find_svn_path]}
default svn.url ""
default svn.revision ""
<span style='display:block; white-space:pre;background:#e0ffe0;'>+default svn.subdirs ""
</span> default svn.file {${distname}.${fetch.type}.tar.bz2}
default svn.file_prefix {${distname}}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -580,7 +581,7 @@ proc portfetch::svn_proxy_args {url} {
</span> proc portfetch::svnfetch {args} {
global UI_PREFIX \
distpath workpath worksrcpath \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- svn.cmd svn.args svn.revision svn.url svn.file svn.file_prefix \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ svn.cmd svn.args svn.revision svn.url svn.subdirs svn.file svn.file_prefix \
</span> name distname fetch.type
set generatedfile "${distpath}/${svn.file}"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -602,10 +603,26 @@ proc portfetch::svnfetch {args} {
</span> ui_info "$UI_PREFIX Checking out ${fetch.type} repository"
set tmppath [mkdtemp "/tmp/macports.portfetch.${name}.XXXXXXXX"]
set tmpxprt [file join ${tmppath} export]
<span style='display:block; white-space:pre;background:#ffe0e0;'>- set cmdstring "${svn.cmd} --non-interactive ${proxy_args} export ${svn.url} ${tmpxprt}/${svn.file_prefix} 2>&1"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[catch {system $cmdstring} result]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- delete ${tmppath}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return -code error [msgcat::mc "Subversion checkout failed"]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {![info exists svn.subdirs]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set cmdstring "${svn.cmd} --non-interactive ${proxy_args} export ${svn.url} ${tmpxprt}/${svn.file_prefix} 2>&1"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[catch {system $cmdstring} result]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ delete ${tmppath}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return -code error [msgcat::mc "Subversion checkout failed"]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set cmdstring "${svn.cmd} --non-interactive ${proxy_args} checkout --depth empty ${svn.url} ${tmpxprt}/${svn.file_prefix} 2>&1"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[catch {system $cmdstring} result]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ delete ${tmppath}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return -code error [msgcat::mc "Subversion checkout failed"]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach dir ${svn.subdirs} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set cmdstring "${svn.cmd} --non-interactive ${proxy_args} update --depth infinity ${tmpxprt}/${svn.file_prefix}/${dir} 2>&1"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[catch {system $cmdstring} result]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ delete ${tmppath}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return -code error [msgcat::mc "Subversion update for subdir $dir failed"]
</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;'>+ file delete -force ${tmpxprt}/${svn.file_prefix}/.svn
</span> }
if {![svn_tarballable]} {
</pre><pre style='margin:0'>
</pre>