Subject: Re: [RFH] GSoC 2015 application

From: Junio C Hamano <[email-masked]>
Date: Wed, 04 Mar 2015 22:19:16 -0800

Stefan Beller <[email-masked]> writes:

> I cannot remember the usual option off hand to describe the revision
> instead of a date.

Because "log --since=<date of v1.0> master" and "log v1.0..master"
mean two completely different things, we need some way to specify
which one of these two the user wants to "git clone" so that the
user can say at what point the user wants the shallow history to
begin.

I think it is a good idea to use --since for date-based cut-off, in
addition to the existing --depth that is depth-based cut-off, and we
probably would want another one that gives the topology-based
cut-off, so that we can express the range in a similar way to "log
v1.0..master".

But when we talk about the topology-based cut-off locally, we always
use the set syntax A..B, ^A B, etc. and never a command line option
with an argument to specify "the bottom of the history".  It is not
surprising that you don't remember any usual option for that,
because there isn't one.

The closest thing I can think of that looks somewhat like a command
line option is "--not", as in

    git log A B --not C D E

that is equivalent to "A B ^C ^D ^E", but that is not an option that
takes an argument.  I do not know if it is particularly a good idea
to say:

    git clone --not v2.0 $URL

to specify topology-based cut-off.

But we would need some way to say a set-based cut-off; I do not
think using --since for that purpose is a good idea, though, because
that is already taken for date-based cut-off, and mixing them
together will introduce confusion.