carvel-dev / carvel-dev/vendir

How to effectively sync multiple directories ?

Open
#101 6 comments 1 reaction 0 assignees View on GitHub
carvel-accepted priority/important-longterm
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.