Re: [PATCH] fetch: add a config option to always use the depth argument
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Dec 1, 2014, 20:39 UTC
- Message-ID
- <xmqqzjb7nlyx.fsf@gitster.dls.corp.google.com>
- In-Reply-To
- <1417460823-17295-1-git-send-email-sbeller@google.com>
Stefan Beller <sbeller@google.com> writes:
Show 31 quoted lines
> 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 <sbeller@google.com> > --- > 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.
Show 31 quoted lines
> 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);
> }