Alex A. Naanou a7ce6f1c88 cleanup...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
2024-11-10 23:51:06 +03:00
2024-01-09 11:44:41 +03:00
2024-11-10 23:51:06 +03:00

git-utlis

This package provides a set of git meta-porcelain commands to manage a work tree with multiple git repositories.

Provided commands:

  • git listall
    List repositories in tree.
  • git cloneall FILE
    Clone all repositories in file
  • git pullall
    Pull changes for all repositories in tree

These enable setting up and maintaining multiple development machines with a number of git repositories.

Workflow

In a tree with multiple git repositories:

  • to pull external changes to all repositories in a tree:
    $ git pullall -r
    
  • to create the same environment on a different computer:
    $ git listall -r > repos.lst
    
    move the repos.lst to the target machine and:
    $ git cloneall repos.lst
    
    Note that git cloneall will only clone repos that are not already cloned, thus it is safe to call on an existing tree.
  • to update the repository list with new repos:
    $ git listall -r repos.lst >> repos.lst
    

Tips

  • It is convenient to manage repos.lst as a symlink to a unified directory and synchronize it between machines via something like Syncthing

License

BSD 3-Clause License

Copyright (c) 2023, Alex A. Naanou,
All rights reserved.

Description
git utilities
Readme BSD-3-Clause 56 KiB
Languages
Shell 100%