12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- #!/bin/bash
- #
- # This is script is written to fetch and keep updated GIT repositories.
- # Bear in mind, that before repo pull, hard reset will be done for two reasons:
- # 1) to reset local changes and avoid mess with main stream
- # 2) makes a habit to submit changes immedeately, mostly applies to password databases)
- #
- #
- # 2021 09 00 + init /A
- # 2022 03 19 * this script is written to hard reset repositories and pull
- # 2022 08 05 * changed message /A
- # 2023-01-17 * adapted for new structure /A
- # 2023-05-23 + show repo's path /A
- # - disabled hard reset /A
- # 2024-05-06 * moved public, as seen helpful for daily works /A
- #
- #
- # Logic:
- #
- # path1
- # \____host1
- # \____repo1
- # \____repo2
- # \____repo3
- # path2
- # \____host1
- # | \____repo1
- # | \____repo2
- # | \____repo3
- # \____host2
- # \____repo1
- # \____repo2
- # \____repo3
- # \____repo4
- # \____repo5
- #
- # TODO:
- # 2022-09-06 + check existance of repo, before git reset and pull
- # location for github repositories hosts
- paths=(
- '/Users/anton/dox-w/path-to-repos/'
- )
- for path in "${paths[@]}" ; do
- printf "\n\nPath: [${path}]"
- if [[ -d "${path}" ]]
- then
- printf "\n\nPath: [${path}] exists."
- cd ${path}
- for host in */ ; do
- printf "\n\n\nHost: [${host}]:"
- cd ${host}
- for repo in */ ; do
- printf "\nRepo: [${repo}]:"
- cd ${repo}
- printf "\nPath: [$(pwd)]:"
- # disabled reset for a while
- # git reset --hard
- git pull --ff-only
- cd ..
- done
- cd ..
- done
- fi
- done
|