Kaartic Sivaraam <kaartic.sivaraam@xxxxxxxxx> writes: > On 07/08/21 12:46 pm, Atharva Raykar wrote: >>> [ ... ] >> >> diff --git a/dir.h b/dir.h >> index b3e1a54a97..a4a6fd7371 100644 >> --- a/dir.h >> +++ b/dir.h >> @@ -453,6 +453,16 @@ static inline int is_dot_or_dotdot(const char *name) >> int is_empty_dir(const char *dir); >> +/* >> + * Retrieve the "humanish" basename of the given Git URL. >> + * >> + * For example: >> + * /path/to/repo.git => "repo" >> + * host.xz.foo/.git => "foo" >> + */ > > Are you sure about the examples here? I just tried and ... > > - '/path/to/repo.git' gave me 'repo' like you said > > .. but .. > > - 'host.xz.foo/.git' gives me 'host.xz.foo' instead of 'foo'. > I think you meant to have 'host.xz/foo.git' in the example. Yikes! I meant 'host.xz:foo/.git'. That should give us 'foo'. Thanks for the correction. > Also, here's another example that might be useful to mention in the docstring: > > - 'http://example.com/user/bar.baz' => 'bar.baz' Yeah, especially since that's probably the most familiar example for most end users. >> +char *git_url_basename(const char *repo, int is_bundle, int is_bare); >> +void strip_dir_trailing_slashes(char *dir); >> + >> void setup_standard_excludes(struct dir_struct *dir); >> char *get_sparse_checkout_filename(void); >>