The code requires gcp (GNU cp) on macOS for the --external-hardlink option, but the README doesn't clearly explain this requirement or how to install it.
Current State
README says "Optional: rsync and GNU cp"
Error message: "gcp should be installed to use --external-hardlink option"
No installation instructions
Users are left to figure out:
What is gcp?
Why isn't the built-in cp sufficient?
How do I install it?
Location
curateipsum/cli.py:77-81
Proposed Solution
1. Improve error message:
ifargs.external_hardlinkandnotshutil.which(cp_program):ifsys.platform=="darwin":_lg.error("GNU coreutils required for --external-hardlink on macOS.\n""Install with: brew install coreutils")else:_lg.error("cp command not found, cannot use --external-hardlink.")return1
2. Update README:
### macOS-Specific Requirements
For the `--external-hardlink` option on macOS, you need GNU coreutils:
```bash
brew install coreutils
This provides gcp, which supports the -l flag for hardlinking (macOS's built-in cp doesn't support this).
## Impact
**Low** - Documentation and error message improvement.
# macOS gcp requirement not clearly documented
**Priority:** Low
**Component:** README.md, cli.py
**Type:** Documentation
## Description
The code requires `gcp` (GNU cp) on macOS for the `--external-hardlink` option, but the README doesn't clearly explain this requirement or how to install it.
## Current State
- README says "Optional: rsync and GNU cp"
- Error message: "gcp should be installed to use --external-hardlink option"
- No installation instructions
Users are left to figure out:
- What is `gcp`?
- Why isn't the built-in `cp` sufficient?
- How do I install it?
## Location
`curateipsum/cli.py:77-81`
## Proposed Solution
**1. Improve error message:**
```python
if args.external_hardlink and not shutil.which(cp_program):
if sys.platform == "darwin":
_lg.error(
"GNU coreutils required for --external-hardlink on macOS.\n"
"Install with: brew install coreutils"
)
else:
_lg.error("cp command not found, cannot use --external-hardlink.")
return 1
```
**2. Update README:**
```markdown
### macOS-Specific Requirements
For the `--external-hardlink` option on macOS, you need GNU coreutils:
```bash
brew install coreutils
```
This provides `gcp`, which supports the `-l` flag for hardlinking (macOS's built-in `cp` doesn't support this).
```
## Impact
**Low** - Documentation and error message improvement.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
macOS gcp requirement not clearly documented
Priority: Low
Component: README.md, cli.py
Type: Documentation
Description
The code requires
gcp(GNU cp) on macOS for the--external-hardlinkoption, but the README doesn't clearly explain this requirement or how to install it.Current State
Users are left to figure out:
gcp?cpsufficient?Location
curateipsum/cli.py:77-81Proposed Solution
1. Improve error message:
2. Update README:
This provides
gcp, which supports the-lflag for hardlinking (macOS's built-incpdoesn't support this).