gabrielcsapo / node-git-server

🎡 A configurable git server written in Node.js
https://gabrielcsapo.github.io/node-git-server
MIT License
253 stars 73 forks source link

`.git` suffix inconsistently enforced #101

Open willstott101 opened 2 years ago

willstott101 commented 2 years ago

When creating a new repo, a .git suffix is appended here: https://github.com/gabrielcsapo/node-git-server/blob/e25c481b85f8b929146b4ea46227d0b6fd83caf4/src/git.ts#L288 and it appears to be enforced in list, but not everywhere

However the .git suffix is not a requirement anywhere else - this server is perfectly happy serving git repositories without a .git suffix afaict... https://github.com/gabrielcsapo/node-git-server/blob/e25c481b85f8b929146b4ea46227d0b6fd83caf4/src/util.ts#L150

This inconsistency has tripped me up a bit. I would personally be in favour of enforcing a .git suffix everywhere - possibly by redirecting to .git suffixed URL if a non-git suffixed URL is encountered.

This is inconsistent with bare/checked-out repo conventions though... which might suggest to enforce .git only if checkout is false...

I think for us we're going to enforce and stick to the suffix externally for the meantime - but it'd be good to gather opinions of other maintainers/users.

gabrielcsapo commented 2 years ago

I agree, we could make this an option that could be "enforceGitSuffix"? Thoughts on what it would look like for opt-in behavior?