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

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

  # For ruby2js demo only (see www/ruby2js.cgi)
  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

# The url: entries below are relative to the @base value defined in ASF::SVN
# This defaults to https://svn.apache.org/repos/

:svn:

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

  Meetings:
    url: private/foundation/Meetings

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

  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
    depth: delete
    list: true

  board:
    url: private/committers/board
    depth: empty
    files:
      - calendar.txt
      - committee-info.txt
      - committee-info.yaml

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

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

  comdev-foundation: # only want projects.json?
    url: asf/comdev/projects.apache.org/trunk/site/json/foundation

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

  conflict-of-interest:
    url: private/documents/conflict-of-interest
    depth: skip

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

  emeritus-involuntary:
    url: private/documents
    depth: empty
    files:
      - emeritus-involuntary.yml

  emeritus-reinstated:
    url: private/documents/emeritus-reinstated
    depth: delete
    list: true

  emeritus-requests-received:
    url: private/documents/emeritus-requests-received
    depth: delete
    list: true

  emeritus-requests-rescinded:
    url: private/documents/emeritus-requests-rescinded
    depth: delete
    list: true

  foundation:
    url: private/foundation
    depth: empty
    files:
      - members.txt
      - potential-member-watch-list.txt
      - emeritus-request.txt

  foundation_board: # The checkout is needed by the WSS service
    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-content:
    url: asf/incubator/public/trunk/content
    depth: empty
    files:
      - podlings.xml

  incubator-podlings:
    url: asf/incubator/public/trunk/content/podlings
    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: empty
    files:
      - iclas.txt
      - reserved-ids.yml

  officers_historic:
    url: private/foundation/officers/historic
    depth: empty
    files:
      - committers.json

  officers_surveys:
    url: private/foundation/officers/surveys

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

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

  site-board: # calendar.mdtext only
    url: asf/infrastructure/site/trunk/content/foundation/board
    depth: skip

  site-img:
    url: asf/comdev/project-logos/originals
    depth: delete
    list: true

  steve:
    url: asf/steve/trunk
