git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Suggestion: add author info to TODO list in git-rebase--interactive

From
Mike Rappazzo <rappazzo@gmail.com>
Date
Jun 6, 2015, 01:00 UTC
Message-ID
<CANoM8SXnTU5bnyLKUUYEtnug89cC9cN3AU3E07qUmk85teamLw@mail.gmail.com>
In-Reply-To
<CAPig+cS0dW=KpD3C_6ugiJTccQqNu1NopcU6Pc71hf6iLLbcfw@mail.gmail.com>
I think the custom format makes sense.  I took a first pass.

A config option 'rebase.interactive.todo-format' can override the default 'oneline' format of the TODO list. Since the list is parsed using the left, right or boundary mark plus the sha1, then if the custom format does not start with those values, they will be automatically added to the beginning of the custom format.

For example, if author information is desired for the TODO list, then setting the config value to '[%an] %s' will actually result in the format being '%m%h [%an] %s'

---
 git-rebase--interactive.sh | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh
index dc3133f..e2d5ffc 100644
--- a/git-rebase--interactive.sh
+++ b/git-rebase--interactive.sh
@@ -977,7 +977,18 @@ else
  revisions=$onto...$orig_head
  shortrevisions=$shorthead
 fi
-git rev-list $merges_option --pretty=oneline --reverse --left-right
--topo-order \
+custom_format=$(git config --get rebase.interactive.todo-format)
+if test -z "$custom_format"
+then
+   custom_format="oneline"
+else
+   # the custom format MUST start with %m%h or %m%H
+ if test "${custom_format:0:5}" != '%m%h '
+   then
+      custom_format="%m%h ${custom_format}"
+   fi
+fi
+git rev-list $merges_option --pretty="${custom_format}" --reverse
--left-right --topo-order \
  $revisions ${restrict_revision+^$restrict_revision} | \
  sed -n "s/^>//p" |
 while read -r sha1 rest
-- 
Is this closer to what you are looking for?  I also tried changing the
'--left-right' to '--left-only', but that seemed to not produce any
results.




On Fri, Jun 5, 2015 at 3:39 PM, Eric Sunshine <sunshine@sunshineco.com> wrote:
> On Fri, Jun 5, 2015 at 3:35 PM, Junio C Hamano <gitster@pobox.com> wrote:
>> Mike Rappazzo <rappazzo@gmail.com> writes:
>>> I find that If I am doing a rebase with the intention to squash or
>>> re-order commits, it is helpful to know the commit author.
>>
>> There is not a fundamental reason why the remainder of the line
>> after the object name in the rebase insn sheet should not be
>> customizable, and I think your patch is a good first step to
>> identify where that customization should go.
>>
>> But that is a customization issue, not changing the default and the
>> only format used.
>
> The idea of being able to provide a custom format for insn sheet lines
> came up within the last year and was somewhat more well-developed and
> a bit more heavily discussed. I don't recall whether there was an
> accompanying patch, and I am unfortunately unable to locate the
> discussion in the archive.
Previous: Eric SunshineNext: Junio C Hamano
Message 4 of 5 in “Suggestion: add author info to TODO list in git-rebase--interactive”
  1. Mike RappazzoJun 5, 2015
  2. Junio C HamanoJun 5, 2015
  3. Eric SunshineJun 5, 2015
  4. Mike RappazzoJun 6, 2015
  5. Junio C HamanoJun 7, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.