Stefan Beller <sbeller@xxxxxxxxxx> 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 <sbeller@xxxxxxxxxx> > --- > 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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html