Suggestions for working with an enormous repository?

I am trying to use Okteto for my Unreal Engine development environment. Unreal Engine is huge, and my upload speed is not phenomenal. I’m still cloning the repository to my local machine, but from my understanding, when I do okteto up, it will synchronize all the files in my working directory to the container which will take a very long time.

Do I understand correctly that this is a one-time thing, as the working directory is stored in a persistent volume?

Even so, this is quite a hurdle for first-time setup. Is there any way for me to configure the container to pull the repo down from github instead of uploading it from my local machine, then starting the sync?

Hi @ryan_skyglass,

In order to speed up your first sync, I’d recommend you using a custom image build with the code and the tools you need to develop in the dev section. Our sync process checks that the files exists and if they have any difference between remote and your local, so if the image already contains the files you’ll be using that will speed the whole process. The only thing you must be careful is that you use the same workdir to sync your files in the Dockerfile and in the dev.sync section of your okteto manifest.

Here is an snippet of how your Dockerfile and okteto.yml would look like:
Dockerfile

FROM YOURDEVIMAGE 

RUN install dev tools
WORKDIR /src/app
COPY . .

okteto.yml

build:
  dev:
    image: okteto.dev/dev:latest
    context: .
dev:
  api:
    image: ${OKTETO_BUILD_DEV_IMAGE}
    selector:
      component: api
    sync:
      - .:/src/app

Also I want to mention that you can also speed up your sync between files in a huge folder by adding big files that you don’t need to get sync in the .stignore file. You have more documentation about it here.