Thread (5 messages) flat view 5 messages, 4 authors, 2016-06-15

Re: [RFC] git rev-contains [Was: merge -s ffonly]

From: Uwe Kleine-König <hidden>
Date: 2016-06-15 22:45:27

Hello Deskin,

On Wed, Oct 08, 2008 at 10:30:50AM -0400, Deskin Miller wrote:
On Tue, Oct 07, 2008 at 08:58:15PM +0200, =?ISO-8859-1?Q?Uwe_Kleine-K=F6nig_ wrote:
quoted
quoted
+	if test -n "$(git rev-list $1..HEAD)"
I already wrote similar tests and I wonder if this couldn't be done in a
new builtin command more effectively.  Something like

	git rev-contains HEAD "$1"

.  I expect it to be faster and maybe it prevents a command line
overflow?! [...]
 
I'm not sure this warrants a builtin; seems like test is perfectly capable of
doing what you want:

if test '(' -n "$(git rev-list --max-count=1 $1..HEAD)" ')' -a \
	'(' -z "$(git rev-list --max-count=1 HEAD..$1)" ')'

The second check is needed to ensure that the commits actually have an
ancestor-descendant relationship.
This is needed for the original patch, too, isn't it.
                                   And --max-count means your command line
won't overflow.
ah, --max-count is a nice idea.  Topgit could benefit from it.
 
Or what about this:

if test "$(git merge-base $1 HEAD)" = "$(git rev-parse $1)"
It's not entirely clear to me, this works in general, because a
merge-base isn't unique.  It should work in this case, though.

Best regards
Uwe
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help