carvel-dev / carvel-dev/vendir
How to effectively sync multiple directories ?
- Dominant language
- Go
- Stars
- 399
- Forks
- 73
- Avg merge
- 2h 53m
- Merged PRs (30d)
- 2
Description
I am trying to sync content from multiple directories from the same repository, however, when I use the following `yml` configuration, it fetches the repository all over again. Is there a better way to handle this?
```yml
# PS: https://carvel.dev/vendir/docs/latest/vendir-spec/
apiVersion: vendir.k14s.io/v1alpha1
kind: Config
directories:
- path: docs/modules
contents:
- path: ROOT/partials
git:
url: https://github.com/openshift/openshift-docs
ref: rhacs-docs
includePaths:
- modules/*
newRootPath: modules/
- path: ROOT/images
git:
url: https://github.com/openshift/openshift-docs
ref: rhacs-docs
includePaths:
- images/*
newRootPath: images/
- path: ROOT/pages
git:
url: https://github.com/openshift/openshift-docs
ref: rhacs-docs
includePaths:
- welcome/*
newRootPath: welcome/
- path: _files
git:
url: https://github.com/openshift/openshift-docs
ref: rhacs-docs
includePaths:
- files/*
newRootPath: files/
- path: architecture/pages
git:
url: https://github.com/openshift/openshift-docs
ref: rhacs-docs
includePaths:
- architecture/*
newRootPath: architecture/
- path: backup_and_restore/pages
git:
url: https://github.com/openshift/openshift-docs
ref: rhacs-docs
includePaths:
- backup_and_restore/*
newRootPath: backup_and_restore/
- path: cli/pages
git:
url: https://github.com/openshift/openshift-docs
ref: rhacs-docs
includePaths:
- cli/*
newRootPath: cli/
- path: configuration/pages
git:
url: https://github.com/openshift/openshift-docs
ref: rhacs-docs
includePaths:
- configuration/*
newRootPath: configuration/
- path: installing/pages
git:
url: https://github.com/openshift/openshift-docs
ref: rhacs-docs
includePaths:
- installing/*
newRootPath: installing/
- path: integration/pages
git:
url: https://github.com/openshift/openshift-docs
ref: rhacs-docs
includePaths:
- integration/*
newRootPath: integration/
- path: operating/pages
git:
url: https://github.com/openshift/openshift-docs
ref: rhacs-docs
includePaths:
- operating/*
newRootPath: operating/
- path: release_notes/pages
git:
url: https://github.com/openshift/openshift-docs
ref: rhacs-docs
includePaths:
- release_notes/*
newRootPath: release_notes/
- path: support/pages
git:
url: https://github.com/openshift/openshift-docs
ref: rhacs-docs
includePaths:
- support/*
newRootPath: support/
- path: upgrading/pages
git:
url: https://github.com/openshift/openshift-docs
ref: rhacs-docs
includePaths:
- upgrading/*
newRootPath: upgrading/
```
The source repository is at https://github.com/gaurav-nelson/rhacs-docs
Contributor guide
Research direction
Start with the linked vendir specification and reproduce the supplied configuration against the ga.../rhacs-docs source repository. Trace how repeated git entries for the same URL and ref are handled; done means the requested directories sync without fetching the source repository repeatedly, or the supported configuration is documented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- git
- Domain
- cli, tooling
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100