git overwrites cache with repos that have similar names
Nobody has claimed this yet.
- Dominant language
- F#
- Stars
- 2.1k
- Forks
- 528
- Avg merge
- 1d 12m
- Merged PRs (30d)
- 54
Description
Create two git repos with identical trailing names and add them to paket.dependencies:
git file:///tmp/git/a/git
git file:///tmp/git/b/git
You'll end up with both projects writing to the same ~/.paket/git/db/git/ location, ending in a corrupted git cache.
I think you need to put the full git path in the cache (something like ~/.paket/git/db/file/tmp/git/a/git) instead of just the last element.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the collision using the two repositories in the issue and the entries in paket.dependencies, then trace how their paths become ~/.paket/git/db/git. Start with the Git cache handling; done means repositories with identical trailing names use separate cache locations and no cache corruption occurs.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- fsharp, git
- Domain
- build-system, tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100