Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Simplify caulking installation and upgrades #5

Closed
tammersaleh opened this issue Mar 25, 2020 · 7 comments
Closed

Simplify caulking installation and upgrades #5

tammersaleh opened this issue Mar 25, 2020 · 7 comments
Assignees

Comments

@tammersaleh
Copy link

Currently, the Makefile system is responsible for creating the ~/.git-support directory, copying the relevant files into it, and configuring core.hooksPath to point at it. This means we have to remember to run make install whenever we pull new changes to this repo, and we have to ensure make install is idempotent.

I think it might simplify things if we instead had make install create ~/.git-support as a symlink into the locally cloned copy of this repository, and we embedded the required files directly in here. That would simplify the installation process, and would make upgrades as easy as git pull.

This repo's structure would then look something like:

~/workspace/caulking/
├── README.md
├── ...
├── gitleaks.toml
└── hooks
    └── pre-commit

....git-support would look like:

$HOME/.git-support -> ~/workspace/caulking

...and make install would run something like:

ln -sf "$(dirname "$0")" ~/.git-support

Whadayathink?

@tammersaleh
Copy link
Author

correction:

...and make install would run something like:

git config --global core.hooksPath ~/.git-support
ln -sf "$(dirname "$0")" ~/.git-support

Thinking about this, we could simplify even further by just having make install run:

git config --global core.hooksPath "$(dirname "$0")"

And getting rid of ~/.git-support altogether.

@pburkholder
Copy link
Contributor

make patterns is how we update the config. But I'm always +1 on idempotency. I'll look into it.

@pburkholder
Copy link
Contributor

Yeah, I agree this is better. But I'm getting called to go play Gloomhaven, so I'll implement later.

@pburkholder pburkholder changed the title Simplify installation and upgrades Simplify caulking installation and upgrades May 13, 2020
@onelittlebecca
Copy link

onelittlebecca commented May 28, 2020

What is the purpose of cleaning up the install? Is it to share it widely for use, or internal facing only?
(just went through the install, so was wondering)

@tammersaleh
Copy link
Author

Internal facing only. The install isn't so bad, but having to run a command on upgrade just seems wasteful.

@pburkholder
Copy link
Contributor

I'm taking this off the project planning board because it's not in scope for getting things lined up for 3PAO. I'm instead tracking #24 and #20

@pburkholder
Copy link
Contributor

We've iterated on this process in other tickets, and it seems to work pretty smoothly for new and existing team members. Closing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants