GitLabSync.Tool 1.3.0

dotnet tool install --global GitLabSync.Tool --version 1.3.0
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local GitLabSync.Tool --version 1.3.0
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=GitLabSync.Tool&version=1.3.0
                    
nuke :add-package GitLabSync.Tool --version 1.3.0
                    

GitLabSync

Build Status NuGet Status

A tool to help synchronize specific files and folders across repositories in GitLab.

This tool is based on GitHubSync by Simon Cropp.

dotnet tool

This tool allows reading the configuration from a file. This allows customization of the templates and repositories without needing to recompile any code.

Installation

Ensure dotnet CLI is installed.

Install GitLabSync.Tool globally.

dotnet tool install -g GitLabSync.Tool

Usage

To run the tool with your gitlab credentials, you need to set the environment variable GitLab_OAuthToken with a personal access token as the value.

You can also set the environment variable GitLab_HostUrl to the host of your GitLab instance. This is optional and defaults to https://gitlab.com.

Run against the current directory will use gitlabsync.yaml in the current directory:

gitlabsync

Run against a specific file:

gitlabsync /path/to/gitlabsync.yaml

Configuration definition

The configuration format is yaml. There should be 1 to n number of templates and 1 to n number of (target) repositories.

templates:
  - name: [template name]
    url: [repository url of the template]
    branch: [branch to use, defaults to `main`]
    
repositories:
  - name: [repository name]
    url: [repository url of the target repository]
    branch: [target branch, defaults to `main`]
    templates:
      - [list of template names to use in the order to apply]
Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
1.3.0 154 2/26/2025
1.2.1 154 12/18/2024
1.2.0 172 12/12/2024
1.1.0 140 11/12/2024
1.0.5 134 10/28/2024
1.0.4 131 10/26/2024
1.0.0 140 10/15/2024