/go-git-puller

Simple execute able program for pulling or cloning gitlab from the root group till the end of the projects.

Primary LanguageGoApache License 2.0Apache-2.0

Git Pull Command using Golang

This is my project built using golang for pulling git repository recursively. This project was inspired by gitlabber project. One of the purpose of making this because we need to install python to use it. So we are dependent on python and it's version, some of our teams can't install it properly because of it's version. Because of that we are proposing to make it on other way that we don't have to depend on something and can build it on final executeable program.

Arguments Information

Below are the command parameter that can be used to execute the programs

Flag Default Value Possible Value Description Mandatory
-h - - this can be used to show all of available option No
-u, -url https://gitlab.com/ Ex: http://172.20.3.50/ Set the default url of the repository. This flag is mandatory for update-gitlab action for definning your repo (for example if you are using your own local gitlab repo like at my place) Optional
-U, -username - Ex: kevin Set the username for authentication Yes
-P, -password - your password Set the password for authentication Yes
-t, -token - your token Set your private token for authentication. If this field's not empty than you don't have to define username and password Yes
-path . /path/to/dir Set root path for action performed. Default value is current directory No
-verbose false - Set program output. If it's being set then all the log information would be printed. Default is false No
-hard-reset false - Tell the program wheter a hard reset is required when updating repository. Becarefull when setting it to true because it's the same as putting --hard while exec git reset No
-eg - Ex: External, Dependency Set Group or Subgroups to be ignored
-ep - Ex: MyProject Set Project to be ignored

Dependency Used on this project

Here list of dependency was used to make this project:

Example

Example for updating one of your repo folder

go-git-puller -c update -verbose -path D:/Developer/git/workplace -U user -P pass

Example for update using gitlab with token

go-git-puller -c update-gitlab -path D:/path/gitlab -u http://172.20.5.20/ -t 5BevGkY-asdf

TO-DO

Looking for tunning the program and memory usage.