# [PATCH] rebase -i: respect to core.abbrev

4 messages from 2013-09-28 to 2013-09-30. Participants: Kirill A. Shutemov, Eric Sunshine, Jonathan Nieder.
Thread: https://gitlist.dev/t/35040

## Kirill A. Shutemov, 2013-09-28 16:07

Subject: [PATCH] rebase -i: respect to core.abbrev
Message-ID: <1380384435-20846-1-git-send-email-kirill.shutemov@linux.intel.com>
URL: https://gitlist.dev/e/1380384435-20846-1-git-send-email-kirill.shutemov%40linux.intel.com

```
git rebase -i collapses ids on todo list to 7 hexdigits.
Let's use core.abbrev config option instead, if it's set.

Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
---
 git-rebase--interactive.sh | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh
index 10bf318d0d..078c28ff1b 100644
--- a/git-rebase--interactive.sh
+++ b/git-rebase--interactive.sh
@@ -713,7 +713,8 @@ expand_todo_ids() {
 }
 
 collapse_todo_ids() {
-	transform_todo_ids --short=7
+	abbrev="$(git config --get 'core.abbrev')"
+	transform_todo_ids --short="${abbrev:-7}"
 }
 
 # Rearrange the todo list that has both "pick sha1 msg" and
-- 
1.8.4.rc3

```

## Kirill A. Shutemov, 2013-09-28 21:10

Subject: RE: [PATCH] rebase -i: respect to core.abbrev
Message-ID: <20130928211013.54361E0090@blue.fi.intel.com>
URL: https://gitlist.dev/e/20130928211013.54361E0090%40blue.fi.intel.com
In-Reply-To: <1380384435-20846-1-git-send-email-kirill.shutemov@linux.intel.com>

```
Kirill A. Shutemov wrote:
> git rebase -i collapses ids on todo list to 7 hexdigits.
> Let's use core.abbrev config option instead, if it's set.
> 
> Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
> ---
>  git-rebase--interactive.sh | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh
> index 10bf318d0d..078c28ff1b 100644
> --- a/git-rebase--interactive.sh
> +++ b/git-rebase--interactive.sh
> @@ -713,7 +713,8 @@ expand_todo_ids() {
>  }
>  
>  collapse_todo_ids() {
> -	transform_todo_ids --short=7
> +	abbrev="$(git config --get 'core.abbrev')"
> +	transform_todo_ids --short="${abbrev:-7}"


Simpler version is below.

>From 933a4159f0c037a37f3b251a4f13deea7f17b6c3 Mon Sep 17 00:00:00 2001
From: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
Date: Sat, 28 Sep 2013 18:53:05 +0300
Subject: [PATCH] rebase -i: respect to core.abbrev

collapse_todo_ids() uses `git rev-parse --short=7' to abbrev commit ids.
Let's drop argument from --short to use default (7) or config value
instead.

Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
---
 git-rebase--interactive.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh
index 10bf318d0d..3c6bed9a28 100644
--- a/git-rebase--interactive.sh
+++ b/git-rebase--interactive.sh
@@ -713,7 +713,7 @@ expand_todo_ids() {
 }
 
 collapse_todo_ids() {
-	transform_todo_ids --short=7
+	transform_todo_ids --short
 }
 
 # Rearrange the todo list that has both "pick sha1 msg" and
-- 
 Kirill A. Shutemov

```

## Eric Sunshine, 2013-09-29 02:49

Subject: Re: [PATCH] rebase -i: respect to core.abbrev
Message-ID: <CAPig+cTpSTrcPBa+Xs5Lw6bQ5TvSHqEh1tnEoZS6eX8Z9GTm4w@mail.gmail.com>
URL: https://gitlist.dev/e/CAPig%2BcTpSTrcPBa%2BXs5Lw6bQ5TvSHqEh1tnEoZS6eX8Z9GTm4w%40mail.gmail.com
In-Reply-To: <20130928211013.54361E0090@blue.fi.intel.com>

```
On Sat, Sep 28, 2013 at 5:10 PM, Kirill A. Shutemov
<kirill.shutemov@linux.intel.com> wrote:
> collapse_todo_ids() uses `git rev-parse --short=7' to abbrev commit ids.
> Let's drop argument from --short to use default (7) or config value
> instead.
>
> Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
> ---
>  git-rebase--interactive.sh | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh
> index 10bf318d0d..3c6bed9a28 100644
> --- a/git-rebase--interactive.sh
> +++ b/git-rebase--interactive.sh
> @@ -713,7 +713,7 @@ expand_todo_ids() {
>  }
>
>  collapse_todo_ids() {
> -       transform_todo_ids --short=7
> +       transform_todo_ids --short

Thanks, I was going to suggest this exact simplification upon reading v1.

Acked-by: Eric Sunshine <sunshine@sunshineco.com>

>  }
>
>  # Rearrange the todo list that has both "pick sha1 msg" and
> --
>  Kirill A. Shutemov

```

## Jonathan Nieder, 2013-09-30 21:36

Subject: Re: [PATCH] rebase -i: respect to core.abbrev
Message-ID: <20130930213605.GZ9464@google.com>
URL: https://gitlist.dev/e/20130930213605.GZ9464%40google.com
In-Reply-To: <20130928211013.54361E0090@blue.fi.intel.com>

```
Kirill A. Shutemov wrote:

> collapse_todo_ids() uses `git rev-parse --short=7' to abbrev commit ids.
> Let's drop argument from --short to use default (7) or config value
> instead.

Since the todo ids are expanded immediately after the editor exits,
there is not much risk of accidental hash collision due to new
objects, so this should be safe.

Thanks, both.

```
