#
# Monitor status of git updates
#
=begin
Sample input: See DATA section

Output status level can be:
Success - workspace is up to date
Info - one or more files updated
Warning - partial response
Danger - unexpected text in log file

=end

require 'fileutils'

SUMMARY_RE = %r{^ \d+ files? changed(, \d+ insertions?\(\+\))?(, \d+ deletions?\(-\))?$}

def Monitor.git(previous_status)
  logdir = File.expand_path('../../../logs', __FILE__)
  log = File.join(logdir, 'git-pull')

  archive = File.join(logdir, 'archive')
  FileUtils.mkdir(archive) unless File.directory?(archive)

  # read cron log
  if __FILE__ == $0 # unit test
    fdata = DATA.read
  else
    fdata = File.open(log, 'r:UTF-8') do |file| 
      file.flock(File::LOCK_EX)
      file.read
    end
  end

  updates = fdata.split(%r{\n(?:/\w+)*/srv/git/})[1..-1]

  status = {}
  seen_level = {}

  # extract status for each repository
  updates.each do |update|
    show 'update', update
    level = 'success'
    title = nil
    data = revision = update[/^(Already up-to-date.|Updating [0-9a-f]+\.\.[0-9a-f]+|HEAD is now at [0-9a-f]+.+)$/]
    title = update[SUMMARY_RE]
    show 'data', data

    lines = update.split("\n")
    repository = lines.shift.to_sym
    show 'repository', repository

    start_ignores = [
      'Already ',
      'Your branch is up-to-date with',
      'Your branch is up to date with',
      'Your branch is behind',
      '  (use "git pull" ',
      'Fast-forward',
      'Updating ',
      ' create mode ',
      ' delete mode ',
      ' rename ',
      ' mode change ',
      'HEAD is now at ',
      # TODO Should these 3 lines be handled differently?
      'From git://',
      ' * [new branch]',
      ' * [new tag]',
      'From https://',
      'Auto packing the repository',
      'See "git help gc" for manual housekeeping',
    ]
      
    lines.reject! do |line| 
      line.start_with?(*start_ignores) or
      line =~ SUMMARY_RE or
      line =~  /^ +[0-9a-f]+\.\.[0-9a-f]+ +\S+ +-> \S+$/ or # branch
      line =~  /^ +\+ [0-9a-f]+\.\.\.[0-9a-f]+ +\S+ +-> \S+ +\(forced update\)$/ # branch
    end

    unless lines.empty?
      level = 'info'
      data = lines.dup
    end

    # Drop the individual file details
    lines.reject! {|line|
      # certbot-route53/certbot_route53/authenticator.py | 6 +-----
      line =~  /^ \S+ +\| +\d+/ or
      # {certbot-route53 => certbot-dns-route53}/.gitignore          |  0
      line =~  /^ \S+ => \S+ +\| +\d+/ or
      #  certbot/tests/testdata/{csr.der => csr_512.der}    | Bin
      line =~  /^ \S+ => \S+ +\| Bin/ or
      # letsencrypt-auto-source/letsencrypt-auto.sig       | Bin 256 -> 256 bytes
      line =~  /^ \S+ +\| Bin \d+ -> \d+ bytes/
    }

    show 'lines', lines
    if lines.empty?
      if not data
        title = "partial response"
        level = 'warning'
        seen_level[level] = true
      elsif String  === data
        title = "No files updated"
      end

      data << revision if revision and data.instance_of? Array
    else
      level = 'danger'
      data = lines.dup
      title = nil
      seen_level[level] = true
    end

    status[repository] = {level: level, data: data, href: '../logs/git-pull'}
    status[repository][:title] = title if title
  end

  # save as the highest level seen
  %w{danger warning}.each do |lvl|
    if seen_level[lvl]
      # Save a copy of the log; append the severity so can track more problems
      file = File.basename(log)
      if __FILE__ == $0 # unit test
        puts "Would copy log to " + File.join(archive, file + '.' + lvl)
      else
        FileUtils.copy log, File.join(archive, file + '.' + lvl), preserve: true
      end
      break
    end
  end
  
  {data: status}
end

private

def show(name,value)
#  $stderr.puts "#{name}='#{value.to_s}'"
end

# for debugging purposes
if __FILE__ == $0
  response = Monitor.git(nil) # must agree with method name above
  data = response[:data]
  data.each do |k,v|
    puts "#{k} #{data[k][:level]} #{data[k][:title] or data[k][:data] }"
  end
end

# test data
__END__

/x1/srv/git/infrapup
Already on 'deployment'
Your branch is behind 'origin/deployment' by 1 commit, and can be fast-forwarded.
  (use "git pull" to update your local branch)
Updating 74bdd49..83e4220
Fast-forward
 data/ubuntu/1404.yaml                     |  1 +
 data/ubuntu/1604.yaml                     |  1 +
 modules/build_slaves/manifests/jenkins.pp | 38 +++++++++++++++++++-------------------
 3 files changed, 21 insertions(+), 19 deletions(-)

/x1/srv/git/infrapup2
Already on 'deployment'
Your branch is up-to-date with 'origin/deployment'.
Already up-to-date.

/x1/srv/git/infrapup3
Already on 'deployment'
Your branch is up-to-date with 'origin/deployment'.
From git://git.apache.org/infrapup
 * [new branch]      humbedooh/multimail-1.5 -> origin/humbedooh/multimail-1.5
Already up-to-date.

/x1/srv/git/infrapup4
Already on 'deployment'
Your branch is up-to-date with 'origin/deployment'.
From git://git.apache.org/infrapup
   83e4220..7394a6e  deployment -> origin/deployment
Updating 83e4220..7394a6e
Fast-forward
 modules/gitbox/files/asfgit/git_multimail.py | 1009 +++++++++++++++++++-------
 1 file changed, 737 insertions(+), 272 deletions(-)

/x1/srv/git/infrapup5
Already on 'deployment'
Your branch is up-to-date with 'origin/deployment'.
From git://git.apache.org/infrapup
   f827a83..b649da5  deployment -> origin/deployment
Updating f827a83..b649da5
Fast-forward
 .../git_mirror_asf/files/bin/graduate-podling.py   | 159 +++++++++++++++++++++
 1 file changed, 159 insertions(+)
 create mode 100644 modules/git_mirror_asf/files/bin/graduate-podling.py

/x1/srv/git/infrapup6
Already on 'deployment'
Your branch is up-to-date with 'origin/deployment'.
From https://github.com/apache/infrapup
   1eaab02..bafa433  deployment -> origin/deployment
Updating 1eaab02..bafa433
Fast-forward
 .../files/projects/archive-snapshots-monthly.sh    | 14 -----
 .../files/projects/create-ofbiz-archives-index.sh  | 54 ------------------
 .../files/projects/create-ofbiz-snapshots-index.sh | 64 ----------------------
 .../files/projects/remove-snapshots-daily.sh       | 14 -----
 modules/buildbot_asf/manifests/init.pp             | 51 -----------------
 5 files changed, 197 deletions(-)
 delete mode 100755 modules/buildbot_asf/files/projects/archive-snapshots-monthly.sh
 delete mode 100755 modules/buildbot_asf/files/projects/create-ofbiz-archives-index.sh
 delete mode 100755 modules/buildbot_asf/files/projects/create-ofbiz-snapshots-index.sh
 delete mode 100755 modules/buildbot_asf/files/projects/remove-snapshots-daily.sh

/x1/srv/git/letsencrypt
Already up-to-date.

/x1/srv/git/letsencrypt2
From https://github.com/letsencrypt/letsencrypt
   d25069d..6ee934b  master     -> origin/master
Updating d25069d..6ee934b
Fast-forward
 certbot-route53/certbot_route53/authenticator.py | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

/x1/srv/git/letsencrypt3
From https://github.com/letsencrypt/letsencrypt
   0e4f559..2325438  master     -> origin/master
 + 9564bce...e40eba0 fix-oldest-tests -> origin/fix-oldest-tests  (forced update)
   8061f7a..41098b3  ipv6       -> origin/ipv6
Updating 0e4f559..2325438
Fast-forward
 certbot-route53/certbot_route53/authenticator.py      | 14 +++++++++-----
 certbot-route53/certbot_route53/authenticator_test.py | 18 +++++++-----------
 2 files changed, 16 insertions(+), 16 deletions(-)

/x1/srv/git/letsencrypt4
From https://github.com/letsencrypt/letsencrypt
   7531c98..e0f3c05  master     -> origin/master
   8a46a0c..a8e4143  fix-oldest-tests -> origin/fix-oldest-tests
   d283103..ca4538b  ipv6       -> origin/ipv6
Updating 7531c98..e0f3c05
Fast-forward
 {certbot-route53 => certbot-dns-route53}/.gitignore          |  0
 {certbot-route53 => certbot-dns-route53}/LICENSE             |  0
 {certbot-route53 => certbot-dns-route53}/MANIFEST.in         |  0
 {certbot-route53 => certbot-dns-route53}/README.md           |  2 +-
 .../certbot_dns_route53}/__init__.py                         |  0
 certbot-dns-route53/certbot_dns_route53/authenticator.py     | 12 ++++++++++++
 .../certbot_dns_route53/dns_route53.py                       |  4 ++--
 .../certbot_dns_route53/dns_route53_test.py                  |  6 +++---
 .../examples/sample-aws-policy.json                          |  2 +-
 {certbot-route53 => certbot-dns-route53}/setup.cfg           |  0
 {certbot-route53 => certbot-dns-route53}/setup.py            |  7 ++++---
 .../tools/tester.pkoch-macos_sierra.sh                       |  0
 certbot/cli.py                                               |  3 +++
 certbot/plugins/disco.py                                     |  1 +
 certbot/plugins/selection.py                                 |  5 ++++-
 tests/letstest/scripts/test_apache2.sh                       |  2 +-
 tools/venv.sh                                                |  2 +-
 tools/venv3.sh                                               |  2 +-
 tox.cover.sh                                                 |  6 +++---
 tox.ini                                                      |  8 ++++----
 20 files changed, 41 insertions(+), 21 deletions(-)
 rename {certbot-route53 => certbot-dns-route53}/.gitignore (100%)
 rename {certbot-route53 => certbot-dns-route53}/LICENSE (100%)
 rename {certbot-route53 => certbot-dns-route53}/MANIFEST.in (100%)
 rename {certbot-route53 => certbot-dns-route53}/README.md (97%)
 rename {certbot-route53/certbot_route53 => certbot-dns-route53/certbot_dns_route53}/__init__.py (100%)
 create mode 100644 certbot-dns-route53/certbot_dns_route53/authenticator.py
 rename certbot-route53/certbot_route53/authenticator.py => certbot-dns-route53/certbot_dns_route53/dns_route53.py (96%)
 rename certbot-route53/certbot_route53/authenticator_test.py => certbot-dns-route53/certbot_dns_route53/dns_route53_test.py (97%)
 rename {certbot-route53 => certbot-dns-route53}/examples/sample-aws-policy.json (91%)
 rename {certbot-route53 => certbot-dns-route53}/setup.cfg (100%)
 rename {certbot-route53 => certbot-dns-route53}/setup.py (88%)
 rename {certbot-route53 => certbot-dns-route53}/tools/tester.pkoch-macos_sierra.sh (100%)

/x1/srv/git/letsencrypt5
From https://github.com/letsencrypt/letsencrypt
 * [new branch]      0.15.x     -> origin/0.15.x
 * [new branch]      candidate-0.15.0 -> origin/candidate-0.15.0
 * [new tag]         v0.15.0    -> v0.15.0
Already up-to-date.

/x1/srv/git/letsencrypt6
From https://github.com/letsencrypt/letsencrypt
   a06dec3..895a525  master     -> origin/master
Updating a06dec3..895a525
Fast-forward
 acme/setup.py                                      |   2 +-
 certbot-apache/setup.py                            |   2 +-
 certbot-auto                                       | 124 ++++++------
 certbot-compatibility-test/setup.py                |   2 +-
 certbot-dns-cloudflare/setup.py                    |   2 +-
 certbot-dns-cloudxns/setup.py                      |   2 +-
 certbot-dns-digitalocean/setup.py                  |   2 +-
 certbot-dns-dnsimple/setup.py                      |   2 +-
 certbot-dns-google/setup.py                        |   2 +-
 certbot-dns-nsone/setup.py                         |   2 +-
 certbot-dns-route53/setup.py                       |   2 +-
 certbot-nginx/setup.py                             |   2 +-
 certbot/__init__.py                                |   2 +-
 docs/cli-help.txt                                  | 215 ++++++++++++++++-----
 letsencrypt-auto                                   | 124 ++++++------
 letsencrypt-auto-source/certbot-auto.asc           |  14 +-
 letsencrypt-auto-source/letsencrypt-auto           |  26 +--
 letsencrypt-auto-source/letsencrypt-auto.sig       | Bin 256 -> 256 bytes
 .../pieces/certbot-requirements.txt                |  24 +--
 19 files changed, 336 insertions(+), 215 deletions(-)

/x1/srv/git/letsencrypt7
From https://github.com/letsencrypt/letsencrypt
   c33ee0e..8ca36a0  master     -> origin/master
Updating c33ee0e..8ca36a0
Fast-forward
 certbot/plugins/common_test.py                     |   4 +-
 certbot/tests/account_test.py                      |   8 ++--
 certbot/tests/cert_manager_test.py                 |   2 +-
 certbot/tests/client_test.py                       |  14 +++---
 certbot/tests/crypto_util_test.py                  |  49 ++++++++++-----------
 certbot/tests/main_test.py                         |  18 ++++----
 certbot/tests/storage_test.py                      |  15 ++++---
 certbot/tests/testdata/README                      |  11 +++++
 .../{cert-5sans.pem => cert-5sans_512.pem}         |   0
 .../testdata/{cert-san.pem => cert-san_512.pem}    |   0
 certbot/tests/testdata/cert.b64jose                |   1 -
 certbot/tests/testdata/cert.der                    | Bin 377 -> 0 bytes
 .../{self_signed_cert.pem => cert_2048.pem}        |   0
 certbot/tests/testdata/{cert.pem => cert_512.pem}  |   0
 .../{self_signed_cert_bad.pem => cert_512_bad.pem} |   0
 ...igned_fullchain.pem => cert_fullchain_2048.pem} |   0
 certbot/tests/testdata/csr-6sans.pem               |  12 -----
 certbot/tests/testdata/csr-6sans_512.conf          |  29 ++++++++++++
 certbot/tests/testdata/csr-6sans_512.pem           |  12 +++++
 .../{csr-nonames.pem => csr-nonames_512.pem}       |   0
 certbot/tests/testdata/csr-nosans.pem              |   8 ----
 certbot/tests/testdata/csr-nosans_512.conf         |  16 +++++++
 certbot/tests/testdata/csr-nosans_512.pem          |   9 ++++
 .../testdata/{csr-san.pem => csr-san_512.pem}      |   0
 certbot/tests/testdata/{csr.der => csr_512.der}    | Bin
 certbot/tests/testdata/{csr.pem => csr_512.pem}    |   0
 certbot/tests/testdata/dsa512_key.pem              |  14 ------
 certbot/tests/testdata/dsa_cert.pem                |  17 -------
 certbot/tests/testdata/matching_cert.pem           |  14 ------
 certbot/tests/testdata/rsa512_key_2.pem            |   9 ----
 30 files changed, 134 insertions(+), 128 deletions(-)
 create mode 100644 certbot/tests/testdata/README
 rename certbot/tests/testdata/{cert-5sans.pem => cert-5sans_512.pem} (100%)
 rename certbot/tests/testdata/{cert-san.pem => cert-san_512.pem} (100%)
 delete mode 100644 certbot/tests/testdata/cert.b64jose
 delete mode 100644 certbot/tests/testdata/cert.der
 rename certbot/tests/testdata/{self_signed_cert.pem => cert_2048.pem} (100%)
 rename certbot/tests/testdata/{cert.pem => cert_512.pem} (100%)
 rename certbot/tests/testdata/{self_signed_cert_bad.pem => cert_512_bad.pem} (100%)
 rename certbot/tests/testdata/{self_signed_fullchain.pem => cert_fullchain_2048.pem} (100%)
 delete mode 100644 certbot/tests/testdata/csr-6sans.pem
 create mode 100644 certbot/tests/testdata/csr-6sans_512.conf
 create mode 100644 certbot/tests/testdata/csr-6sans_512.pem
 rename certbot/tests/testdata/{csr-nonames.pem => csr-nonames_512.pem} (100%)
 delete mode 100644 certbot/tests/testdata/csr-nosans.pem
 create mode 100644 certbot/tests/testdata/csr-nosans_512.conf
 create mode 100644 certbot/tests/testdata/csr-nosans_512.pem
 rename certbot/tests/testdata/{csr-san.pem => csr-san_512.pem} (100%)
 rename certbot/tests/testdata/{csr.der => csr_512.der} (100%)
 rename certbot/tests/testdata/{csr.pem => csr_512.pem} (100%)
 delete mode 100644 certbot/tests/testdata/dsa512_key.pem
 delete mode 100644 certbot/tests/testdata/dsa_cert.pem
 delete mode 100644 certbot/tests/testdata/matching_cert.pem
 delete mode 100644 certbot/tests/testdata/rsa512_key_2.pem

/x1/srv/git/infrapup7
Already on 'deployment'
Your branch is up-to-date with 'origin/deployment'.
From https://github.com/apache/infrapup
   b03cfe6..21a99b2  deployment -> origin/deployment
Updating b03cfe6..21a99b2
Fast-forward
 .../files/authorization/check-auth-templates.pl    |  16 +-
 .../files/authorization/gen_asf-authorization.pl   | 291 ---------------------
 .../files/authorization/pit-authorization-template |   2 +
 3 files changed, 10 insertions(+), 299 deletions(-)
 mode change 100644 => 100755 modules/subversion_server/files/authorization/check-auth-templates.pl
 delete mode 100755 modules/subversion_server/files/authorization/gen_asf-authorization.pl

/x1/srv/git/infrapup8
Already on 'deployment'
Your branch is up-to-date with 'origin/deployment'.
HEAD is now at 4aafd69 Merge pull request #720 from rubys/rubys/noauth-source

/x1/srv/git/letsencrypt8
From https://github.com/letsencrypt/letsencrypt
   e86bb7f..97ad9f9  plugin_storage -> origin/plugin_storage
HEAD is now at a2239ba fix test_tests.sh (#5478)

/x1/srv/git/infrapup9
Already on 'deployment'
Your branch is up-to-date with 'origin/deployment'.
From https://github.com/apache/infrapup
   228c0fb..8bbfaca  deployment -> origin/deployment
Auto packing the repository in background for optimum performance.
See "git help gc" for manual housekeeping.
HEAD is now at 8bbfaca Merge pull request #853 from sebbASF/zcat
