From mboxrd@z Thu Jan 1 00:00:00 1970 From: linux@horizon.com Subject: git-rev-parse --verify could be friendlier Date: 10 Oct 2007 10:24:17 -0400 Message-ID: <20071010142417.8892.qmail@science.horizon.com> Cc: linux@horizon.com To: git@vger.kernel.org X-From: git-owner@vger.kernel.org Wed Oct 10 16:24:47 2007 Return-path: Envelope-to: gcvg-git-2@gmane.org Received: from vger.kernel.org ([209.132.176.167]) by lo.gmane.org with esmtp (Exim 4.50) id 1IfcUF-0004r0-OO for gcvg-git-2@gmane.org; Wed, 10 Oct 2007 16:24:36 +0200 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753636AbXJJOY0 (ORCPT ); Wed, 10 Oct 2007 10:24:26 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1753594AbXJJOY0 (ORCPT ); Wed, 10 Oct 2007 10:24:26 -0400 Received: from science.horizon.com ([192.35.100.1]:16386 "HELO science.horizon.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S1752527AbXJJOYZ (ORCPT ); Wed, 10 Oct 2007 10:24:25 -0400 Received: (qmail 8893 invoked by uid 1000); 10 Oct 2007 10:24:17 -0400 Sender: git-owner@vger.kernel.org Precedence: bulk X-Mailing-List: git@vger.kernel.org Archived-At: I accidentally typed "git rebase --onto typo ancestor", where "typo" was a branch that didn't exist. The error message (which is actually generated by git-rev-parse --verify) is "fatal: Needed a single revision". This is perhaps a bit obscure. For starters, it doesn't even tell me which argument is problematic. If I do "git rebase --onto dest typo", I at least get fatal: Needed a single revision invalid upstream typo Something like the following would certainly help, but perhaps git-rev-parse could be slightly more forthcoming, too? diff --git a/git-rebase b/git-rebase index 058fcac..b14ac95 100755 --- a/git-rebase +++ b/git-rebase @@ -268,7 +268,8 @@ upstream=`git rev-parse --verify "${upstream_name}^0"` || # Make sure the branch to rebase onto is valid. onto_name=${newbase-"$upstream_name"} -onto=$(git rev-parse --verify "${onto_name}^0") || exit +onto=$(git rev-parse --verify "${onto_name}^0") || + die "invalid target $upstream_name" # If a hook exists, give it a chance to interrupt if test -x "$GIT_DIR/hooks/pre-rebase" @@ -294,7 +295,8 @@ case "$#" in fi ;; esac -branch=$(git rev-parse --verify "${branch_name}^0") || exit +branch=$(git rev-parse --verify "${branch_name}^0") || + die "invalid branch name $upstream_name" # Now we are rebasing commits $upstream..$branch on top of $onto