git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Adam Spiers <git@adamspiers.org>
Cc: git list <git@vger.kernel.org>
Subject: Re: [PATCH v3 02/19] Improve documentation and comments regarding directory traversal API
Date: Tue, 01 Jan 2013 12:52:23 -0800	[thread overview]
Message-ID: <7vobh8aans.fsf@alter.siamese.dyndns.org> (raw)
In-Reply-To: 1356575558-2674-3-git-send-email-git@adamspiers.org

Adam Spiers <git@adamspiers.org> writes:

> diff --git a/Documentation/technical/api-directory-listing.txt b/Documentation/technical/api-directory-listing.txt
> index 0356d25..944fc39 100644
> --- a/Documentation/technical/api-directory-listing.txt
> +++ b/Documentation/technical/api-directory-listing.txt
> @@ -9,8 +9,11 @@ Data structure
>  --------------
>  
>  `struct dir_struct` structure is used to pass directory traversal
> -options to the library and to record the paths discovered.  The notable
> -options are:
> +options to the library and to record the paths discovered.  A single
> +`struct dir_struct` is used regardless of whether or not the traversal
> +recursively descends into subdirectories.

I am somewhat lukewarm on this part of the change.

The added "regardless of..." does not seem to add as much value as
the two extra lines the patch spends.  If we say something like:

	A `struct dir_struct` structure is used to pass options to
        traverse directories recursively, and to record all the
        paths discovered by the traversal.

it might be much more direct and informative, I suspect, though.

After all, the word "traversal" pretty much implies that the library
goes in and out of the directories recursively.

> @@ -39,7 +42,7 @@ options are:
>  	If set, recurse into a directory that looks like a git
>  	directory.  Otherwise it is shown as a directory.
>  
> -The result of the enumeration is left in these fields::
> +The result of the enumeration is left in these fields:

Good eyes.

> diff --git a/dir.c b/dir.c
> index ee8e711..89e27a6 100644
> --- a/dir.c
> +++ b/dir.c
> @@ -2,6 +2,8 @@
>   * This handles recursive filename detection with exclude
>   * files, index knowledge etc..
>   *
> + * See Documentation/technical/api-directory-listing.txt
> + *
>   * Copyright (C) Linus Torvalds, 2005-2006
>   *		 Junio Hamano, 2005-2006
>   */
> @@ -476,6 +478,10 @@ void add_excludes_from_file(struct dir_struct *dir, const char *fname)
>  		die("cannot use %s as an exclude file", fname);
>  }
>  
> +/*
> + * Loads the per-directory exclude list for the substring of base
> + * which has a char length of baselen.
> + */
>  static void prep_exclude(struct dir_struct *dir, const char *base, int baselen)
>  {
>  	struct exclude_list *el;
> @@ -486,7 +492,7 @@ static void prep_exclude(struct dir_struct *dir, const char *base, int baselen)
>  	    (baselen + strlen(dir->exclude_per_dir) >= PATH_MAX))
>  		return; /* too long a path -- ignore */
>  
> -	/* Pop the ones that are not the prefix of the path being checked. */
> +	/* Pop the directories that are not the prefix of the path being checked. */

The "one" does not refer to a "directory", but to an "exclude-list".

	Pop the ones that are not for parent directories of the path
	being checked

perhaps?

  reply	other threads:[~2013-01-01 20:52 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-12-27  2:32 [PATCH v3 00/19] new git check-ignore sub-command Adam Spiers
2012-12-27  2:32 ` [PATCH v3 01/19] api-directory-listing.txt: update to match code Adam Spiers
2012-12-27  2:32 ` [PATCH v3 02/19] Improve documentation and comments regarding directory traversal API Adam Spiers
2013-01-01 20:52   ` Junio C Hamano [this message]
2013-01-02 12:54     ` Adam Spiers
2013-01-06 12:02       ` Adam Spiers
2012-12-27  2:32 ` [PATCH v3 03/19] dir.c: rename cryptic 'which' variable to more consistent name Adam Spiers
2012-12-27  2:32 ` [PATCH v3 04/19] dir.c: rename path_excluded() to is_path_excluded() Adam Spiers
2012-12-27  2:32 ` [PATCH v3 05/19] dir.c: rename excluded_from_list() to is_excluded_from_list() Adam Spiers
2012-12-27  2:32 ` [PATCH v3 06/19] dir.c: rename excluded() to is_excluded() Adam Spiers
2012-12-27  2:32 ` [PATCH v3 07/19] dir.c: refactor is_excluded_from_list() Adam Spiers
2012-12-27  2:32 ` [PATCH v3 08/19] dir.c: refactor is_excluded() Adam Spiers
2012-12-27  2:32 ` [PATCH v3 09/19] dir.c: refactor is_path_excluded() Adam Spiers
2012-12-27  2:32 ` [PATCH v3 10/19] dir.c: rename free_excludes() to clear_exclude_list() Adam Spiers
2012-12-27  2:32 ` [PATCH v3 11/19] dir.c: use a single struct exclude_list per source of excludes Adam Spiers
2013-01-04 21:03   ` Junio C Hamano
2013-01-05  7:54     ` Junio C Hamano
2013-01-06 15:27       ` Adam Spiers
2013-01-06 15:35         ` [PATCH] api-allocation-growing.txt: encourage better variable naming Adam Spiers
2013-01-06 20:29           ` Junio C Hamano
2013-01-06 20:52             ` Adam Spiers
2013-01-06 20:58               ` Junio C Hamano
2013-01-06 15:20     ` [PATCH v3 11/19] dir.c: use a single struct exclude_list per source of excludes Adam Spiers
2013-01-06 20:25       ` Junio C Hamano
2013-01-06 22:53         ` Adam Spiers
2013-01-06 23:17           ` Adam Spiers
2013-01-06 23:19           ` Junio C Hamano
2012-12-27  2:32 ` [PATCH v3 12/19] dir.c: keep track of where patterns came from Adam Spiers
2012-12-27  2:32 ` [PATCH v3 13/19] dir.c: provide clear_directory() for reclaiming dir_struct memory Adam Spiers
2012-12-27  2:32 ` [PATCH v3 14/19] add.c: refactor treat_gitlinks() Adam Spiers
2012-12-27  2:32 ` [PATCH v3 15/19] add.c: remove unused argument from validate_pathspec() Adam Spiers
2012-12-27  2:32 ` [PATCH v3 16/19] pathspec.c: move reusable code from builtin/add.c Adam Spiers
2012-12-28 20:32   ` Junio C Hamano
2012-12-28 20:45     ` Adam Spiers
2012-12-29  0:40       ` Adam Spiers
2012-12-28 20:48   ` Junio C Hamano
2012-12-28 21:15     ` Adam Spiers
2012-12-27  2:32 ` [PATCH v3 17/19] pathspec.c: extract new validate_path() for reuse Adam Spiers
2012-12-28 20:44   ` Junio C Hamano
2012-12-28 21:08     ` Adam Spiers
2012-12-27  2:32 ` [PATCH v3 18/19] setup.c: document get_pathspec() Adam Spiers
2012-12-28 20:36   ` Junio C Hamano
2012-12-28 20:40     ` Adam Spiers
2012-12-29  0:52       ` Adam Spiers
2012-12-29  1:36         ` Junio C Hamano
2012-12-27  2:32 ` [PATCH v3 19/19] Add git-check-ignore sub-command Adam Spiers
2012-12-28 21:21   ` Junio C Hamano
2012-12-29  1:23     ` Adam Spiers
2012-12-29  3:32       ` Adam Spiers
2012-12-27  5:15 ` [PATCH v3 00/19] new git check-ignore sub-command Michael Leal
2012-12-28 18:50 ` Junio C Hamano
2012-12-28 19:39   ` Adam Spiers
2012-12-28 20:15     ` Antoine Pelisse
2012-12-28 21:31       ` Junio C Hamano
2012-12-28 21:23 ` Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7vobh8aans.fsf@alter.siamese.dyndns.org \
    --to=gitster@pobox.com \
    --cc=git@adamspiers.org \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).