Quick start¶
First, ensure you have excav
installed in your system. If not please follow the
instructions in Installation and Configuration section.
You will need two or more repositores. Create excav-demorepo-1
and excav-demorepo-2
repositories in your private or public GitLab or GitHub.
Create inventory file for those repositories in your working directory e.g. ~/excav-demo/inventory.yaml
:
- repository: "/sn3d/excav-demorepo-1"
- repository: "/sn3d/excav-demorepo-2"
Then we need create a patch with some simple task. Create a directory
demo-patch
.
mkdir demo-patch
Put a new file patch.yaml
into this directory with one task:
- name: append-hello-world
append:
path: README.md
mode: append-end
content: "Hello World"
This task appends the text Hello World
at the end of the README.md
file.
Now we can apply patch to the repositories by running apply
command.
excav apply -branch excav/append-text -commit "patching README.md" ./demo-patch
The command apply demo-patch
to all repositories in inventort. Command
creates commit with name patching README.md
in own branch excav/append-text
.
The changes are local and not pushed yet. You have time to check, if patch is
applied correctly. For that you can use diff
.
excav diff
If everything looks fine, you can continue with pushing changes.
excav push
The command push new branches into remote repositories and create Merge Request/Pull Request for a new branch.
If you want to know if everything is OK, what's the merge/pull request URL etc, you can use:
excav show
And if you don't like what patch did, you can discard everything, even MRs via:
excav discard