Stefan Beller <[email protected]> writes:

> When having a repository, which deals with large amounts of data, i.e.
> graphics, music, films, you may want to keep the git directory at
> the smallest size possible.
>
> The depth option helped us in achieving this goal by removing the sizable
> history and just keep recent history around. In the case of having large
> amounts of data around, you probably want to use the depth option at any
> fetch you do, so it would be convenient to have an option for this.
>
> Change-Id: I45a569239639f20e24fbae32fb2046bc478c5f07
> Signed-off-by: Stefan Beller <[email protected]>
> ---
>  Documentation/config.txt        | 6 ++++++
>  Documentation/fetch-options.txt | 2 ++
>  builtin/fetch.c                 | 5 +++++
>  3 files changed, 13 insertions(+)
>
> diff --git a/Documentation/config.txt b/Documentation/config.txt
> index 9220725..418e21f 100644
> --- a/Documentation/config.txt
> +++ b/Documentation/config.txt
> @@ -1106,6 +1106,12 @@ fetch.prune::
>       If true, fetch will automatically behave as if the `--prune`
>       option was given on the command line.  See also `remote.<name>.prune`.
>  
> +fetch.depth::
> +     If set, fetch will automatically behave as if the `--depth`
> +     option was given on the command line.  This allows users to keep
> +     the git directory at low space requirements, and thus comes in handy
> +     for users with large binary files in the repository.
> +

Hmm, is this something a user would typically want repository-wide?
I am wondering if "remote.$nick.fetchDepth" or something scoped to
remote is more appropriate.

>  format.attach::
>       Enable multipart/mixed attachments as the default for
>       'format-patch'.  The value can also be a double quoted string
> diff --git a/Documentation/fetch-options.txt b/Documentation/fetch-options.txt
> index b09a783..81131d0 100644
> --- a/Documentation/fetch-options.txt
> +++ b/Documentation/fetch-options.txt
> @@ -12,6 +12,8 @@
>       `git clone` with `--depth=<depth>` option (see linkgit:git-clone[1])
>       to the specified number of commits from the tip of each remote
>       branch history. Tags for the deepened commits are not fetched.
> +     You can configure git to always use the depth option, see
> +     `fetch.depth` in linkgit:git-config[1]
>  
>  --unshallow::
>       If the source repository is complete, convert a shallow
> diff --git a/builtin/fetch.c b/builtin/fetch.c
> index 7b84d35..30fa15b 100644
> --- a/builtin/fetch.c
> +++ b/builtin/fetch.c
> @@ -68,6 +68,11 @@ static int git_fetch_config(const char *k, const char *v, 
> void *cb)
>               fetch_prune_config = git_config_bool(k, v);
>               return 0;
>       }
> +     if (!strcmp(k, "fetch.depth")) {
> +             if (git_config_string(&depth, k, v))
> +                     return -1;
> +             return 0;
> +     }
>       return git_default_config(k, v, cb);
>  }
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to