#
# This file should not be processed directly
# Please use the ASF::SVN and ASF::Git APIs instead
#
---
:git:

  infrastructure-puppet:
    url:  https://github.com/apache/infrastructure-puppet.git
    branch: deployment
    depth: 1

  letsencrypt:
    url: https://github.com/letsencrypt/letsencrypt
    depth: 1

  ruby2js:
    url: https://github.com/rubys/ruby2js.git
    depth: 1

# N.B. the names in the section below should not be changed as they are used by Ruby
# Entries that are not intended to have local workspaces are indicated by: 'depth: skip'
# Such entries are for url lookup only, e.g. Bills

# names that are list only have 'depth: delete'
# This is decoupled from list to allow a gradual changeover

:svn:

  Bills:
    url: private/financials/Bills
    depth: skip
    

  Meetings:
    url: private/foundation/Meetings

  apmail_bin:
    url: infra/infrastructure/apmail/trunk/bin
    depth: empty
    files:
      - .archives
      - deprecated_mailing_lists.yml
      - mail_list_autosub.yml

  attic-xdocs:
    url: asf/attic/site/xdocs/projects

  board:
    url: private/committers/board
    depth: files

  cclas: # list only; no checkout
    url: private/documents/cclas
    depth: delete
    list: true

  comdev-foundation:
    url: asf/comdev/projects.apache.org/trunk/site/json/foundation

  foundation:
    url: private/foundation
    depth: files

  foundation_board:
    url: private/foundation/board

  foundation_mentors:
    url: private/foundation/mentors

  grants:
    url: private/documents/grants
    depth: delete
    list: true

  iclas:
    url: private/documents/iclas
    depth: delete
    list: true

  incubator-podlings:
    url: asf/incubator/public/trunk/content/podlings
    depth: files

  incubator-content:
    url: asf/incubator/public/trunk/content
    depth: files

  ldap-map:
    url: private/committers/tools/ldap
    depth: files

  member_apps:
    url: private/documents/member_apps
    depth: delete
    list: true

  minutes:
    url: asf/infrastructure/site/trunk/content/foundation/records/minutes

  officers:
    url: private/foundation/officers
    depth: files

  personnel-duties:
    url: private/foundation/officers/personnel-duties
    depth: files

  officers_historic:
    url: private/foundation/officers/historic

  officers_surveys:
    url: private/foundation/officers/surveys

# for access to badrcptto files:
  qmail_control:
    url: infra/infrastructure/trunk/qmail/control
    depth: empty
    files:
      - badrcptto
      - badrcptto_patterns

  site-board:
    url: asf/infrastructure/site/trunk/content/foundation/board
    depth: files

  site-img:
    url: asf/infrastructure/site/trunk/content/img

  site-root:
    url: asf/infrastructure/site/trunk/content
    depth: files

  steve:
    url: asf/steve/trunk

  templates:
    url: asf/infrastructure/site/trunk/templates

  brandlist:
    url: private/foundation/Brand
    depth: empty
    files:
      - docket.json

  apachecon:
    url: private/foundation/ApacheCon
    depth: empty
    files:
      - apacheconhistory.csv

  comdevtalks:
    url: asf/comdev/site/trunk/content/speakers/talks
    depth: files
