jacebrowning / jacebrowning/gitman

Is there a reason uninstall doesn't take depth?

Open
#477 3 comments 0 reactions 0 assignees View on GitHub
question
Dominant language
Python
Stars
225
Forks
36
Avg merge
15h 47m
Merged PRs (30d)
8

Description

I use gitman in a project of projects where several repos also use gitman to handle their dependencies, and this all works well.

However, for *reasons* at least one of those dependency projects uses location=. and routes dependency checkouts to different subdirectories through the name field of the gitman yaml.

This was fine until I went to uninstall my top level repo during cleanup and discovered that it infinitely recursed on the problematic dependency. I tried adding the depth flag to stop the recursion and see that it is unrecognized for uninstall. I see that in the implementation we use get_dependencies which can take a depth, and so I think see a clear way to wire depth through the arg parser down to the delete command, but want to make sure there wasn't a subtlety in the project I didn't appreciate before I make a PR.

Contributor guide

Open the contributing guide

Research direction

Start with the argument parser and the uninstall/delete command, then trace how get_dependencies receives depth for other commands. Confirm how uninstall currently traverses nested gitman dependencies and define completion as accepting the depth option and stopping recursion at the requested level. Check the existing command behavior and tests, if present, before preparing the change.

Written by the indexing model from the issue text.

Assessment

Tech stack
git, python
Domain
cli, devtools
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.