Skip to content

Allow to use a specific destination folder #361

@vonpupp

Description

@vonpupp

Hello,

I will give you some background of what I am trying to achieve. I use gitlab, github and bitbucket historically. I would like to do a full backup of all of them into my nas and keep them all in sync, always. Some projects belong to different organizations. Maintain a manifest for each folder/organization is cumbersome. Furthermore there are projects that are archive and there are projects that are still in development.

My local home folder for my repos is ~/repos and my desired archive folder should be ~/repos/archive. I could have two manifest one for the archived projects and another for the current projects, that should work but I still need to maintain two repos for that. Furthermore, there are some times where I want to clone repos in other locations that are not within the local .tsrc folder. For instance, supose I am running a main tsrc project at my home folder but I want some repos to go at ~/org or ~/repos/websites/, or even ~/.homeshick/repos/. Currently this is not possible (or it is not documented)

What I thought of the following: allow a new yaml field "folder", something like this:

repos:
  - dest: org
    folder: ~/
    branch: main
    remotes:
    - name: origin
      url: [email protected]:vonpupp-org/org.git
    - name: https
      url: https://vonpupp:<token>@gitlab.com/vonpupp-org/org.git
    - name: nas
      url: ssh://nas/share/repos/gitlab.com:vonpupp-org:org.git
  - dest: org-media
    folder: ~/repos/archive/
    branch: main
    remotes:
    - name: origin
      url: [email protected]:vonpupp-org/org-media.git
    - name: https
      url: https://vonpupp:<token>@gitlab.com/vonpupp-org/org-media.git
    - name: nas
      url: ssh://nas/share/repos/gitlab.com:vonpupp-org:org-media.git
  - dest: albertdelafuente.com-hugo-refined
    folder: ~/repos/websites/
    branch: master
    remotes:
    - name: origin
      url: [email protected]:albertdelafuentecom/albertdelafuente.com-hugo-refined.git
    - name: https
      url: https://vonpupp:<token>@gitlab.com/albertdelafuentecom/albertdelafuente.com-hugo-refined.git
    - name: nas
      url: ssh://nas/share/repos/gitlab.com:albertdelafuentecom:albertdelafuente.com-hugo-refined.git

I thought the dest field was originally for those purposes but it seems to be an alias. That was not straightforward to me at first, maybe it would makes sense to change the name o the current field dest to name or id and use dest in the future as the folder destination. I understand though that this could have major implications. this is why my original proposal is to just add a new yaml field.

Does it makes sense?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions