You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@whimsical.apache.org by se...@apache.org on 2020/08/18 21:50:52 UTC

[whimsy] branch master updated: Tool to manually check members.mdtext

This is an automated email from the ASF dual-hosted git repository.

sebb pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/whimsy.git


The following commit(s) were added to refs/heads/master by this push:
     new 0f8c5c1  Tool to manually check members.mdtext
0f8c5c1 is described below

commit 0f8c5c1be1164d89d93d7e972345e4b0a6bee5a2
Author: Sebb <se...@apache.org>
AuthorDate: Tue Aug 18 22:50:43 2020 +0100

    Tool to manually check members.mdtext
---
 repository.yml             |  4 ++++
 tools/site_member_check.rb | 31 +++++++++++++++++++++++++++++++
 2 files changed, 35 insertions(+)

diff --git a/repository.yml b/repository.yml
index 8530b98..9caa0ad 100644
--- a/repository.yml
+++ b/repository.yml
@@ -197,6 +197,10 @@
     depth: delete
     list: true
 
+  site-foundation: # members.mdtext only
+    url: asf/infrastructure/site/trunk/content/foundation
+    depth: skip
+
   steve:
     url: asf/steve/trunk
 
diff --git a/tools/site_member_check.rb b/tools/site_member_check.rb
new file mode 100755
index 0000000..f02ad99
--- /dev/null
+++ b/tools/site_member_check.rb
@@ -0,0 +1,31 @@
+#!/usr/bin/env ruby
+
+# @(#) DRAFT: scan members.mdtext and look for non-members (members.txt)
+
+$LOAD_PATH.unshift '/srv/whimsy/lib'
+require 'whimsy/asf'
+require 'strscan'
+
+members=ASF::Member.list.keys
+
+path = ASF::SVN.svnpath!('site-foundation', 'members.mdtext')
+
+rev,contents = ASF::SVN.get(path)
+
+# # Members of The Apache Software Foundation #
+#
+# N.B. the listing below is optional; there is a separate summary of  [members](http://home.apache.org/committers-by-project.html#member)
+#
+# | Id | Name | Projects |
+# |^---|------|----------|
+# | aadamchik | Andrei Adamchik |
+
+s=StringScanner.new(contents)
+s.skip_until(/\| Id \| Name \| Projects \|\n/)
+s.skip_until(/\n/)
+while true
+    s.scan(/\| (\S+) \|.*?$/)
+    id = s[1] or break
+    puts id unless members.include? id
+    s.skip_until(/\n/)
+end