<pre style='margin:0'>
Ryan Schmidt (ryandesign) pushed a commit to branch master
in repository mpbb.

</pre>
<p><a href="https://github.com/macports/mpbb/commit/91c3112efa04c2ff083c47e61037f3e6514d7b79">https://github.com/macports/mpbb/commit/91c3112efa04c2ff083c47e61037f3e6514d7b79</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 91c3112  mpbb-gather-archives: cp archive when cross device
</span>91c3112 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 91c3112efa04c2ff083c47e61037f3e6514d7b79
</span>Author: Ryan Schmidt <ryandesign@macports.org>
AuthorDate: Thu Nov 19 22:53:59 2020 -0600

<span style='display:block; white-space:pre;color:#404040;'>    mpbb-gather-archives: cp archive when cross device
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    On the arm64 macOS 11 worker we have been forced to set it up in an
</span><span style='display:block; white-space:pre;color:#404040;'>    unusual way where /opt/local is on a different filesystem from
</span><span style='display:block; white-space:pre;color:#404040;'>    /opt/bblocal, so in that case we need to copy the archive rather than
</span><span style='display:block; white-space:pre;color:#404040;'>    hardlink it.
</span>---
 mpbb-gather-archives | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/mpbb-gather-archives b/mpbb-gather-archives
</span><span style='display:block; white-space:pre;color:#808080;'>index 617daec..194b9cf 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/mpbb-gather-archives
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/mpbb-gather-archives
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -32,6 +32,10 @@ Run \`$prog help' for global options and a list of other subcommands.
</span> EOF
 }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+device-of-path() {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    df -P -- "$1" | awk 'NR==2 {print $1}'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> gather-archives() {
     local args
     parseopt archive-site:,archive-site-private:,staging-dir: "$@" || return
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -78,7 +82,11 @@ gather-archives() {
</span>         if ! curl -fIsL "${archive_site}/${archive_port}/${archive_basename}" > /dev/null; then
             echo "Staging ${archive_type} archive for upload: ${archive_basename}"
             mkdir -p "${archive_dir}" || { status=$?; break; }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            ln "${archive_path}" "${archive_dir}/${archive_basename}" || { status=$?; break; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if [ "$(device-of-path "${archive_path}")" = "$(device-of-path "${archive_dir}/${archive_basename}")" ]; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ln "${archive_path}" "${archive_dir}/${archive_basename}" || { status=$?; break; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                cp -p "${archive_path}" "${archive_dir}/${archive_basename}" || { status=$?; break; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            fi
</span>         else
             echo "Already uploaded ${archive_type} archive: ${archive_basename}"
         fi
</pre><pre style='margin:0'>

</pre>