Subject: Re: [PATCH] enter_repo(): fix suffix precedence documentation

From: Jeff King <[email-masked]>
Date: Mon, 30 Mar 2015 07:44:08 -0400

On Mon, Mar 30, 2015 at 06:30:33PM +0800, Paul Tan wrote:

> The ordering of the list of suffixes tested in enter_repo() is
> documented as "%s.git/.git", "%s/.git", "%s.git", "%s". This does not
> match the ordering of the list of suffixes tested in the code which is
> "%s/.git", "%s", "%s.git/.git", "%s.git". Fix this.

Yes, this was adjusted in b3256eb (standardize and improve lookup rules
for external local repos, 2012-02-02), but I failed to update the
comment.

Your patch is certainly an improvement, but I think there are more
inaccuracies in the comment caused by that commit. Maybe squash this on
top:

diff --git a/path.c b/path.c
index 56f50bd..586f2c9 100644
--- a/path.c
+++ b/path.c
@@ -383,14 +383,9 @@ return_null:
  * (3) "relative/path" to mean cwd relative directory; or
  * (4) "/absolute/path" to mean absolute directory.
  *
- * Unless "strict" is given, we try access() for existence of "%s/.git",
- * "%s", "%s.git/.git", "%s.git" in this order. The first one that exists is
- * what we try.
- *
- * Second, we try chdir() to that.  Upon failure, we return NULL.
- *
- * Then, we try if the current directory is a valid git repository.
- * Upon failure, we return NULL.
+ * Unless "strict" is given, we check "%s/.git", "%s", "%s.git/.git", "%s.git"
+ * in this order. We select the first one that is a valid git repository, and
+ * chdir() to it. If none match, or we fail to chdir, we return NULL.
  *
  * If all goes well, we return the directory we used to chdir() (but
  * before ~user is expanded), avoiding getcwd() resolving symbolic