From: "Jakub Narębski" <jnareb@gmail.com>
To: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Cc: Junio C Hamano <gitster@pobox.com>,
git@vger.kernel.org, Stefan Haller <lists@haller-berlin.de>
Subject: Re: Git garden shears, was Re: [PATCH 13/22] sequencer: remember the onelines when parsing the todo file
Date: Wed, 21 Sep 2016 15:17:37 +0200 [thread overview]
Message-ID: <f7fe3f15-664e-61a5-6101-30ed4946c107@gmail.com> (raw)
In-Reply-To: <alpine.DEB.2.20.1609111027330.129229@virtualbox>
Hello Dscho,
W dniu 11.09.2016 o 10:33, Johannes Schindelin napisał:
> On Fri, 9 Sep 2016, Jakub Narębski wrote:
[...]
>> When preserving merges, there are (as far as I understand it), two
>> problems:
>> - what it means to preserve changes (which change to pick,
>> that is what is the mainline changes rebase is re-applying)
>> - what are parents of the merge commit (at least one parent
>> would be usually rewritten)
>>
>> Maybe the internal (and perhaps also user-visible) representation
>> of merge in instruction sheet could use the notation of filter-branch,
>> that is 'map(<sha-1>)'... it could also imply the mainline.
>>
>> That is the instruction in the internal instruction sheet could
>> look like this:
>>
>> merge -m 1 map(2fd4e1c6...) da39a3ee... \t Merge 'foo' into master
>>
>>
>> Note that it has nothing to do with this series!
>
> Right. But I did solve that already. In the Git garden shears [*1*]
> (essentially my New And Improved attempt at recreating branch structures
> while rebasing), I generate and process scripts like this:
>
> mark onto
>
> # Branch: super-cool-feature
> rewind onto
> pick 00001 feature
> pick 00002 documentation
> mark super-cool-feature
>
> # Branch: typo-fix
> rewind onto
> pick 0000a fix a tyop
There probably should be there
mark typo-fix
>
> rewind onto
> merge -C cafebabe super-cool-feature
> merge -C babecafe typo-fix
>
> cleanup super-cool-feature typo-fix
>
> Of course this will change a little, still, once I get around to implement
> this on top of the rebase--helper.
Do I understand it correctly that it is user-visible instruction sheet, and
not the internal instruction sheet for sequencer? This looks very nice
and is well readable.
I guess that it needs to be pre-populated by Git based on topology of the
branch being rebased.
As I see, there are three basic topologies of non-linear branch to be
rebased; all else is combination of thereof, or derivative:
1. Merge commit without branching point, that is we need to go
from the following situation
*---*---*---#---o---o---o <-- old base
\\
\\=a===b===M===c <-- branch being rebased
/
...---x---x---x-/ <-- side branch
to the following:
*---*---*---#---o---o---o
\
\-a'--b'--M'--c'
/
...---x---x---x-------------/
I think this case is the only one supported by `--preserve-merges`,
but I may be mistaken - I never had the need to use this feature IRL.
2. Branching point without accompanying merge commit, or in other words
rebasing many branches tied together; a shrub if you will. That is,
we want to go from the following situation:
*---*---*---#---o---o---o <-- old base
\
\--a---b---c <-- branch being rebased
\
\-1 <-- dependent branch
to the following one:
*---*---*---#---o---o---o
\
\--a'--b'--c'
\
\-1'
I don't think Git supports something like that out of the box, but it
is not hard to create something like that "by hand". It is not much
of a problem... unless you forget to rebase the second dependent branch.
3. Branching point with merge point, that is subbranch created and
merged - an "eye" (it is not a loop in DAG):
*---*---*---#---o---o---o <-- old base
\
\--a---b---c---M---d <-- branch being rebased
\ /
\-1---2-/ [ <-- possibly a branch ]
All edges are directed edges, with arrows pointing from right to
left; that is *---* is really *<---*
The expected result is:
*---*---*---#---o---o---o
\
\--a'--b'--c'--M'--d'
\ /
\-1'--2'/
I guess that is the main purpose of your git-garden-shears script,
isn't it?
>
> For example, I am not so hot about the "merge -C ..." syntax. I'll
> probably split that into a "remerge <SHA-1> <mark>" and a new "merge
> <mark>" command (the latter asking interactively for the merge commit
> message).
There is also an additional complication in that merge commit message
may be *partially* automatically generated. First there is the subject
generated by 'git merge' ("Merge branch 'foo'") or 'git pull <URL>'.
It might have been translated, or extended. Second there is a place
for branch cover letter. Third, subject to merge.log / merge.summary
there is a shortlog.
From those shortlog should be surely updated to correspond to the
post-rebase state. The first line could be used to pre-populate
mark lines, but during merge it should be, I think, updated to the
new name of internal branch if it was changed.
As to 'merge -C <sha1> <marker>' vs 'remerge <sha1> <marker>',
I don't have specified opinion. It would be nice to have one
character shortcuts for insn sheet instructions, to which
'm -C <sha1> <marker>' is more amendable...
>
> And also: the cleanup stage should not be necessary, as the "mark"
> commands can accumulate the known marks into a file in the state
> directory.
>
> But you get the idea.
Right. No need to make user do something that computer can easily
and without errors do.
>
> No :1 or some such. That's machine readable. But it's utter nonsense for
> user-facing UIs.
Of course. It's all right for machine-facing instructions, like the
'todo' file for the sequencer, or for git-fast-import stream...
>
> Ciao,
> Dscho
>
> Footnote *1*:
> https://github.com/git-for-windows/build-extra/blob/master/shears.sh
P.S. I wonder if git-imerge[2] requires for integrated branches to have
both linear history for it to work.
[2]: https://github.com/mhagger/git-imerge
http://softwareswirl.blogspot.com/2013/05/git-imerge-practical-introduction.html
https://www.youtube.com/watch?v=FMZ2_-Ny_zc
Best,
--
Jakub Narębski
next prev parent reply other threads:[~2016-09-21 13:18 UTC|newest]
Thread overview: 352+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-29 8:03 [PATCH 00/22] Prepare the sequencer for the upcoming rebase -i patches Johannes Schindelin
2016-08-29 8:03 ` [PATCH 01/22] sequencer: use static initializers for replay_opts Johannes Schindelin
2016-08-29 9:19 ` Dennis Kaarsemaker
2016-08-29 10:54 ` Johannes Schindelin
2016-08-29 17:41 ` Jakub Narębski
2016-08-29 17:06 ` Johannes Schindelin
2016-08-29 8:04 ` [PATCH 02/22] sequencer: use memoized sequencer directory path Johannes Schindelin
2016-08-29 19:54 ` Jakub Narębski
2016-08-29 17:10 ` Johannes Schindelin
2016-08-29 8:04 ` [PATCH 03/22] sequencer: avoid unnecessary indirection Johannes Schindelin
2016-08-29 20:22 ` Jakub Narębski
2016-08-29 17:15 ` Johannes Schindelin
2016-08-29 8:04 ` [PATCH 04/22] sequencer: future-proof remove_sequencer_state() Johannes Schindelin
2016-08-29 9:24 ` Dennis Kaarsemaker
2016-08-29 10:58 ` Johannes Schindelin
2016-08-29 11:19 ` Johannes Schindelin
2016-08-29 8:04 ` [PATCH 05/22] sequencer: allow the sequencer to take custody of malloc()ed data Johannes Schindelin
2016-08-29 21:59 ` Jakub Narębski
2016-08-30 5:33 ` Johannes Sixt
2016-08-30 7:30 ` Johannes Schindelin
2016-08-30 7:29 ` Johannes Schindelin
2016-08-30 11:08 ` Jakub Narębski
2016-08-30 18:25 ` Junio C Hamano
2016-08-31 8:20 ` Johannes Schindelin
2016-08-29 8:04 ` [PATCH 06/22] sequencer: release memory that was allocated when reading options Johannes Schindelin
2016-08-30 14:54 ` Jakub Narębski
2016-08-30 17:52 ` Johannes Schindelin
2016-08-30 20:46 ` Johannes Sixt
2016-08-30 22:07 ` Junio C Hamano
2016-08-30 22:00 ` Jakub Narębski
2016-08-30 18:30 ` Junio C Hamano
2016-08-31 8:07 ` Johannes Schindelin
2016-08-29 8:04 ` [PATCH 07/22] sequencer: future-proof read_populate_todo() Johannes Schindelin
2016-08-30 16:07 ` Jakub Narębski
2016-08-30 16:48 ` Johannes Schindelin
2016-08-29 8:04 ` [PATCH 08/22] sequencer: remove overzealous assumption Johannes Schindelin
2016-08-31 13:41 ` Jakub Narębski
2016-08-31 18:36 ` Johannes Schindelin
2016-08-31 18:46 ` Jakub Narębski
2016-09-01 8:01 ` Johannes Schindelin
2016-09-01 20:00 ` Jakub Narębski
2016-08-31 19:01 ` Junio C Hamano
2016-09-01 8:02 ` Johannes Schindelin
2016-08-29 8:05 ` [PATCH 09/22] sequencer: completely revamp the "todo" script parsing Johannes Schindelin
2016-08-31 17:29 ` Jakub Narębski
2016-08-31 23:03 ` Stefan Beller
2016-09-01 6:35 ` Johannes Schindelin
2016-09-01 18:37 ` Junio C Hamano
2016-09-01 7:49 ` Johannes Schindelin
2016-09-01 22:05 ` Jakub Narębski
2016-09-09 14:12 ` Johannes Schindelin
2016-08-29 8:05 ` [PATCH 10/22] sequencer: avoid completely different messages for different actions Johannes Schindelin
2016-08-31 17:58 ` Jakub Narębski
2016-09-01 7:52 ` Johannes Schindelin
2016-09-01 22:33 ` Jakub Narębski
2016-09-09 14:23 ` Johannes Schindelin
2016-08-29 8:05 ` [PATCH 11/22] sequencer: get rid of the subcommand field Johannes Schindelin
2016-08-31 18:24 ` Jakub Narębski
2016-09-01 7:55 ` Johannes Schindelin
2016-08-29 8:05 ` [PATCH 12/22] sequencer: refactor the code to obtain a short commit name Johannes Schindelin
2016-08-29 9:39 ` Dennis Kaarsemaker
2016-08-29 11:04 ` Johannes Schindelin
2016-08-29 8:05 ` [PATCH 13/22] sequencer: remember the onelines when parsing the todo file Johannes Schindelin
2016-08-31 18:37 ` Jakub Narębski
2016-08-31 19:10 ` Junio C Hamano
2016-08-31 19:24 ` Jakub Narębski
2016-08-31 19:42 ` Junio C Hamano
2016-09-01 13:14 ` Johannes Schindelin
2016-09-01 13:12 ` Johannes Schindelin
2016-09-01 22:52 ` Jakub Narębski
2016-09-01 9:37 ` Johannes Schindelin
2016-09-01 18:47 ` Junio C Hamano
2016-09-09 15:12 ` Johannes Schindelin
2016-09-09 19:06 ` Jakub Narębski
2016-09-11 8:33 ` Git garden shears, was " Johannes Schindelin
2016-09-21 13:17 ` Jakub Narębski [this message]
2016-09-25 18:16 ` Johannes Schindelin
2016-09-01 22:46 ` Jakub Narębski
2016-09-01 22:59 ` Junio C Hamano
2016-09-09 14:27 ` Johannes Schindelin
2016-09-01 8:45 ` Johannes Schindelin
2016-08-29 8:06 ` [PATCH 14/22] sequencer: prepare for rebase -i's commit functionality Johannes Schindelin
2016-08-29 21:32 ` Junio C Hamano
2016-08-30 6:53 ` Johannes Schindelin
2016-08-30 17:32 ` Junio C Hamano
2016-08-30 18:18 ` Johannes Schindelin
2016-08-30 22:35 ` Junio C Hamano
2016-08-31 8:19 ` Johannes Schindelin
2016-08-29 8:06 ` [PATCH 15/22] sequencer: introduce a helper to read files written by scripts Johannes Schindelin
2016-08-29 9:47 ` Dennis Kaarsemaker
2016-08-29 11:08 ` Johannes Schindelin
2016-08-29 8:06 ` [PATCH 16/22] sequencer: prepare for rebase -i's GPG settings Johannes Schindelin
2016-08-31 20:10 ` Jakub Narębski
2016-08-31 20:12 ` Junio C Hamano
2016-08-31 20:29 ` Jakub Narębski
2016-08-31 20:33 ` Junio C Hamano
2016-09-01 13:35 ` Johannes Schindelin
2016-09-01 13:33 ` Johannes Schindelin
2016-09-01 13:33 ` Johannes Schindelin
2016-09-01 23:21 ` Jakub Narębski
2016-08-29 8:06 ` [PATCH 17/22] sequencer: allow editing the commit message on a case-by-case basis Johannes Schindelin
2016-08-31 20:56 ` Jakub Narębski
2016-09-01 13:40 ` Johannes Schindelin
2016-08-29 8:06 ` [PATCH 18/22] sequencer: support amending commits Johannes Schindelin
2016-08-31 21:08 ` Jakub Narębski
2016-09-01 13:42 ` Johannes Schindelin
2016-08-29 8:06 ` [PATCH 19/22] sequencer: support cleaning up commit messages Johannes Schindelin
2016-09-01 10:31 ` Jakub Narębski
2016-09-01 13:56 ` Johannes Schindelin
2016-09-01 23:31 ` Jakub Narębski
2016-08-29 8:06 ` [PATCH 20/22] sequencer: remember do_recursive_merge()'s return value Johannes Schindelin
2016-08-29 9:51 ` Dennis Kaarsemaker
2016-08-29 11:09 ` Johannes Schindelin
2016-08-29 20:32 ` Jakub Narębski
2016-08-29 21:13 ` Junio C Hamano
2016-08-29 8:06 ` [PATCH 21/22] sequencer: left-trim the lines read from the script Johannes Schindelin
2016-09-01 10:50 ` Jakub Narębski
2016-09-01 14:13 ` Johannes Schindelin
2016-09-01 17:58 ` Junio C Hamano
2016-09-09 15:08 ` Johannes Schindelin
2016-09-01 23:33 ` Jakub Narębski
2016-09-09 14:31 ` Johannes Schindelin
2016-08-29 8:06 ` [PATCH 22/22] sequencer: refactor write_message() Johannes Schindelin
2016-09-01 11:10 ` Jakub Narębski
2016-09-01 14:20 ` Johannes Schindelin
2016-09-01 23:35 ` Jakub Narębski
2016-09-09 14:40 ` Johannes Schindelin
2016-09-09 19:11 ` Jakub Narębski
2016-09-11 8:26 ` Johannes Schindelin
2016-08-29 9:56 ` [PATCH 00/22] Prepare the sequencer for the upcoming rebase -i patches Dennis Kaarsemaker
2016-08-29 11:10 ` Johannes Schindelin
2016-09-02 11:41 ` Jakub Narębski
2016-09-02 13:56 ` Johannes Schindelin
2016-09-11 10:52 ` [PATCH v2 00/25] " Johannes Schindelin
2016-09-11 10:52 ` [PATCH v2 01/25] sequencer: use static initializers for replay_opts Johannes Schindelin
2016-09-12 19:46 ` Junio C Hamano
2016-09-11 10:52 ` [PATCH v2 02/25] sequencer: use memoized sequencer directory path Johannes Schindelin
2016-09-12 19:48 ` Junio C Hamano
2016-09-11 10:52 ` [PATCH v2 03/25] sequencer: avoid unnecessary indirection Johannes Schindelin
2016-09-12 19:49 ` Junio C Hamano
2016-09-11 10:53 ` [PATCH v2 04/25] sequencer: future-proof remove_sequencer_state() Johannes Schindelin
2016-09-12 19:53 ` Junio C Hamano
2016-10-05 11:46 ` Johannes Schindelin
2016-10-05 17:41 ` Junio C Hamano
2016-09-11 10:53 ` [PATCH v2 05/25] sequencer: allow the sequencer to take custody of malloc()ed data Johannes Schindelin
2016-09-12 19:46 ` Junio C Hamano
2016-10-05 11:41 ` Johannes Schindelin
2016-10-06 19:23 ` Junio C Hamano
2016-10-06 22:40 ` Jakub Narębski
2016-10-06 22:53 ` Junio C Hamano
2016-10-08 9:11 ` Johannes Schindelin
2016-09-11 10:53 ` [PATCH v2 06/25] sequencer: release memory that was allocated when reading options Johannes Schindelin
2016-09-11 10:53 ` [PATCH v2 07/25] sequencer: future-proof read_populate_todo() Johannes Schindelin
2016-09-11 10:53 ` [PATCH v2 08/25] sequencer: completely revamp the "todo" script parsing Johannes Schindelin
2016-09-11 10:53 ` [PATCH v2 09/25] sequencer: avoid completely different messages for different actions Johannes Schindelin
2016-09-11 10:53 ` [PATCH v2 10/25] sequencer: get rid of the subcommand field Johannes Schindelin
2016-09-15 19:15 ` Junio C Hamano
2016-09-11 10:54 ` [PATCH v2 11/25] sequencer: refactor the code to obtain a short commit name Johannes Schindelin
2016-09-11 10:54 ` [PATCH v2 12/25] sequencer: remember the onelines when parsing the todo file Johannes Schindelin
2016-09-11 10:54 ` [PATCH v2 13/25] sequencer: prepare for rebase -i's commit functionality Johannes Schindelin
2016-09-11 10:54 ` [PATCH v2 14/25] sequencer: introduce a helper to read files written by scripts Johannes Schindelin
2016-09-11 10:54 ` [PATCH v2 15/25] sequencer: prepare for rebase -i's GPG settings Johannes Schindelin
2016-09-11 10:54 ` [PATCH v2 16/25] sequencer: allow editing the commit message on a case-by-case basis Johannes Schindelin
2016-09-11 10:55 ` [PATCH v2 17/25] sequencer: support amending commits Johannes Schindelin
2016-09-12 21:36 ` Junio C Hamano
2016-10-05 12:41 ` Johannes Schindelin
2016-09-11 10:55 ` [PATCH v2 18/25] sequencer: support cleaning up commit messages Johannes Schindelin
2016-09-12 21:33 ` Junio C Hamano
2016-09-11 10:55 ` [PATCH v2 19/25] sequencer: remember do_recursive_merge()'s return value Johannes Schindelin
2016-09-12 21:23 ` Junio C Hamano
2016-10-05 12:35 ` Johannes Schindelin
2016-10-05 17:43 ` Junio C Hamano
2016-09-11 10:55 ` [PATCH v2 20/25] sequencer: left-trim lines read from the script Johannes Schindelin
2016-09-11 23:39 ` Junio C Hamano
2016-09-12 8:23 ` Johannes Schindelin
2016-09-12 15:42 ` Junio C Hamano
2016-10-06 13:08 ` Johannes Schindelin
2016-10-06 16:23 ` Johannes Sixt
2016-10-06 18:41 ` Junio C Hamano
2016-10-09 8:57 ` Johannes Schindelin
2016-10-09 10:45 ` Johannes Sixt
2016-09-11 10:55 ` [PATCH v2 21/25] sequencer: refactor write_message() Johannes Schindelin
2016-09-11 23:38 ` Junio C Hamano
2016-09-12 8:35 ` Johannes Sixt
2016-09-15 19:21 ` Junio C Hamano
2016-10-05 13:08 ` Johannes Schindelin
2016-09-11 10:55 ` [PATCH v2 22/25] sequencer: remove overzealous assumption in rebase -i mode Johannes Schindelin
2016-09-11 23:35 ` Junio C Hamano
2016-09-11 10:55 ` [PATCH v2 23/25] sequencer: mark action_name() for translation Johannes Schindelin
2016-09-11 10:55 ` [PATCH v2 24/25] sequencer: quote filenames in error messages Johannes Schindelin
2016-09-11 23:33 ` Junio C Hamano
2016-10-06 13:41 ` Johannes Schindelin
2016-09-11 10:56 ` [PATCH v2 25/25] sequencer: remove bogus hint for translators Johannes Schindelin
2016-09-11 23:30 ` Junio C Hamano
2016-10-06 14:18 ` Johannes Schindelin
2016-10-10 17:24 ` [PATCH v3 00/25] Prepare the sequencer for the upcoming rebase -i patches Johannes Schindelin
2016-10-10 17:24 ` [PATCH v3 01/25] sequencer: use static initializers for replay_opts Johannes Schindelin
2016-10-10 22:14 ` Junio C Hamano
2016-10-10 17:24 ` [PATCH v3 02/25] sequencer: use memoized sequencer directory path Johannes Schindelin
2016-10-10 17:24 ` [PATCH v3 03/25] sequencer: avoid unnecessary indirection Johannes Schindelin
2016-10-10 22:14 ` Junio C Hamano
2016-10-10 17:24 ` [PATCH v3 04/25] sequencer: future-proof remove_sequencer_state() Johannes Schindelin
2016-10-10 17:24 ` [PATCH v3 05/25] sequencer: eventually release memory allocated for the option values Johannes Schindelin
2016-10-10 22:18 ` Junio C Hamano
2016-10-11 10:07 ` Johannes Schindelin
2016-10-11 16:30 ` Junio C Hamano
2016-10-12 12:06 ` Johannes Schindelin
2016-10-12 18:20 ` Re* " Junio C Hamano
2016-10-13 10:51 ` Johannes Schindelin
2016-10-10 17:24 ` [PATCH v3 06/25] sequencer: future-proof read_populate_todo() Johannes Schindelin
2016-10-10 17:25 ` [PATCH v3 07/25] sequencer: completely revamp the "todo" script parsing Johannes Schindelin
2016-10-10 22:13 ` Junio C Hamano
2016-10-11 10:20 ` Johannes Schindelin
2016-10-11 10:22 ` Johannes Schindelin
2016-10-11 10:55 ` Johannes Schindelin
2016-10-11 16:58 ` Junio C Hamano
2016-10-11 16:54 ` Junio C Hamano
2016-10-15 17:03 ` Torsten Bögershausen
2016-10-15 17:19 ` Jeff King
2016-10-15 17:40 ` Torsten Bögershausen
2016-10-15 17:46 ` Jeff King
2016-10-16 8:09 ` Johannes Schindelin
2016-10-16 19:42 ` Jeff King
2016-10-17 8:37 ` Johannes Schindelin
2016-10-17 9:36 ` Jeff King
2016-10-10 17:25 ` [PATCH v3 08/25] sequencer: strip CR from the todo script Johannes Schindelin
2016-10-11 18:54 ` Junio C Hamano
2016-10-12 11:46 ` Johannes Schindelin
2016-10-10 17:25 ` [PATCH v3 09/25] sequencer: avoid completely different messages for different actions Johannes Schindelin
2016-10-10 17:25 ` [PATCH v3 10/25] sequencer: get rid of the subcommand field Johannes Schindelin
2016-10-10 17:25 ` [PATCH v3 11/25] sequencer: refactor the code to obtain a short commit name Johannes Schindelin
2016-10-10 17:25 ` [PATCH v3 12/25] sequencer: remember the onelines when parsing the todo file Johannes Schindelin
2016-10-11 19:07 ` Junio C Hamano
2016-10-12 11:49 ` Johannes Schindelin
2016-10-12 16:24 ` Junio C Hamano
2016-10-13 10:41 ` Johannes Schindelin
2016-10-10 17:25 ` [PATCH v3 13/25] sequencer: prepare for rebase -i's commit functionality Johannes Schindelin
2016-10-11 19:17 ` Junio C Hamano
2016-10-12 12:00 ` Johannes Schindelin
2016-10-12 16:55 ` Junio C Hamano
2016-10-13 10:50 ` Johannes Schindelin
2016-10-14 16:41 ` Junio C Hamano
2016-10-10 17:25 ` [PATCH v3 14/25] sequencer: introduce a helper to read files written by scripts Johannes Schindelin
2016-10-17 17:17 ` Junio C Hamano
2016-10-18 11:42 ` Johannes Schindelin
2016-10-18 15:54 ` Junio C Hamano
2016-10-20 12:07 ` Johannes Schindelin
2016-10-10 17:25 ` [PATCH v3 15/25] sequencer: allow editing the commit message on a case-by-case basis Johannes Schindelin
2016-10-17 17:18 ` Junio C Hamano
2016-10-10 17:25 ` [PATCH v3 16/25] sequencer: support amending commits Johannes Schindelin
2016-10-17 17:22 ` Junio C Hamano
2016-10-18 11:53 ` Johannes Schindelin
2016-10-18 15:56 ` Junio C Hamano
2016-10-10 17:26 ` [PATCH v3 17/25] sequencer: support cleaning up commit messages Johannes Schindelin
2016-10-10 17:26 ` [PATCH v3 18/25] sequencer: do not try to commit when there were merge conflicts Johannes Schindelin
2016-10-10 17:26 ` [PATCH v3 19/25] sequencer: left-trim lines read from the script Johannes Schindelin
2016-10-10 17:26 ` [PATCH v3 20/25] sequencer: refactor write_message() Johannes Schindelin
2016-10-10 17:26 ` [PATCH v3 21/25] sequencer: remove overzealous assumption in rebase -i mode Johannes Schindelin
2016-10-10 17:26 ` [PATCH v3 22/25] sequencer: mark action_name() for translation Johannes Schindelin
2016-10-10 17:26 ` [PATCH v3 23/25] sequencer: quote filenames in error messages Johannes Schindelin
2016-10-10 17:26 ` [PATCH v3 24/25] sequencer: start error messages consistently with lower case Johannes Schindelin
2016-10-10 17:26 ` [PATCH v3 25/25] sequencer: mark all error messages for translation Johannes Schindelin
2016-10-12 20:46 ` Johannes Sixt
2016-10-12 21:24 ` Junio C Hamano
2016-10-13 14:56 ` Johannes Schindelin
2016-10-13 20:35 ` Johannes Sixt
2016-10-14 13:15 ` [PATCH v4 00/25] Prepare the sequencer for the upcoming rebase -i patches Johannes Schindelin
2016-10-14 13:15 ` [PATCH v4 01/25] sequencer: use static initializers for replay_opts Johannes Schindelin
2016-10-14 13:17 ` [PATCH v4 02/25] sequencer: use memoized sequencer directory path Johannes Schindelin
2016-10-14 13:17 ` [PATCH v4 03/25] sequencer: avoid unnecessary indirection Johannes Schindelin
2016-10-14 13:17 ` [PATCH v4 04/25] sequencer: future-proof remove_sequencer_state() Johannes Schindelin
2016-10-14 13:17 ` [PATCH v4 05/25] sequencer: eventually release memory allocated for the option values Johannes Schindelin
2016-10-17 19:06 ` Junio C Hamano
2016-10-18 12:03 ` Johannes Schindelin
2016-10-19 1:12 ` Junio C Hamano
2016-10-20 12:16 ` Johannes Schindelin
2016-10-14 13:17 ` [PATCH v4 06/25] sequencer: future-proof read_populate_todo() Johannes Schindelin
2016-10-14 13:17 ` [PATCH v4 07/25] sequencer: refactor the code to obtain a short commit name Johannes Schindelin
2016-10-14 13:17 ` [PATCH v4 08/25] sequencer: completely revamp the "todo" script parsing Johannes Schindelin
2016-10-17 22:33 ` Junio C Hamano
2016-10-18 12:25 ` Johannes Schindelin
2016-10-14 13:17 ` [PATCH v4 09/25] sequencer: strip CR from the todo script Johannes Schindelin
2016-10-14 13:17 ` [PATCH v4 10/25] sequencer: avoid completely different messages for different actions Johannes Schindelin
2016-10-14 13:18 ` [PATCH v4 11/25] sequencer: get rid of the subcommand field Johannes Schindelin
2016-10-14 13:18 ` [PATCH v4 12/25] sequencer: remember the onelines when parsing the todo file Johannes Schindelin
2016-10-14 13:18 ` [PATCH v4 13/25] sequencer: prepare for rebase -i's commit functionality Johannes Schindelin
2016-10-14 13:18 ` [PATCH v4 14/25] sequencer: introduce a helper to read files written by scripts Johannes Schindelin
2016-10-14 13:18 ` [PATCH v4 15/25] sequencer: allow editing the commit message on a case-by-case basis Johannes Schindelin
2016-10-14 13:18 ` [PATCH v4 16/25] sequencer: support amending commits Johannes Schindelin
2016-10-14 13:18 ` [PATCH v4 17/25] sequencer: support cleaning up commit messages Johannes Schindelin
2016-10-20 20:06 ` Junio C Hamano
2016-10-14 13:18 ` [PATCH v4 18/25] sequencer: do not try to commit when there were merge conflicts Johannes Schindelin
2016-10-20 20:11 ` Junio C Hamano
2016-10-21 11:10 ` Johannes Schindelin
2016-10-14 13:18 ` [PATCH v4 19/25] sequencer: left-trim lines read from the script Johannes Schindelin
2016-10-14 13:18 ` [PATCH v4 20/25] sequencer: refactor write_message() Johannes Schindelin
2016-10-20 20:22 ` Junio C Hamano
2016-10-20 20:26 ` Junio C Hamano
2016-10-21 11:43 ` Johannes Schindelin
2016-10-21 15:40 ` Junio C Hamano
2016-10-23 9:29 ` Johannes Schindelin
2016-10-14 13:18 ` [PATCH v4 21/25] sequencer: remove overzealous assumption in rebase -i mode Johannes Schindelin
2016-10-14 13:19 ` [PATCH v4 22/25] sequencer: mark action_name() for translation Johannes Schindelin
2016-10-14 13:19 ` [PATCH v4 23/25] sequencer: quote filenames in error messages Johannes Schindelin
2016-10-20 20:27 ` Junio C Hamano
2016-10-20 20:28 ` Junio C Hamano
2016-10-14 13:19 ` [PATCH v4 24/25] sequencer: start error messages consistently with lower case Johannes Schindelin
2016-10-14 13:19 ` [PATCH v4 25/25] sequencer: mark all error messages for translation Johannes Schindelin
2016-10-17 19:08 ` [PATCH v4 00/25] Prepare the sequencer for the upcoming rebase -i patches Junio C Hamano
2016-10-21 12:23 ` [PATCH v5 00/27] " Johannes Schindelin
2016-10-21 12:23 ` [PATCH v5 01/27] sequencer: use static initializers for replay_opts Johannes Schindelin
2016-10-21 12:23 ` [PATCH v5 02/27] sequencer: use memoized sequencer directory path Johannes Schindelin
2016-10-21 12:24 ` [PATCH v5 03/27] sequencer: avoid unnecessary indirection Johannes Schindelin
2016-10-21 12:24 ` [PATCH v5 04/27] sequencer: future-proof remove_sequencer_state() Johannes Schindelin
2016-10-21 12:24 ` [PATCH v5 05/27] sequencer: plug memory leaks for the option values Johannes Schindelin
2016-10-21 12:24 ` [PATCH v5 06/27] sequencer: future-proof read_populate_todo() Johannes Schindelin
2016-10-21 12:24 ` [PATCH v5 07/27] sequencer: refactor the code to obtain a short commit name Johannes Schindelin
2016-10-21 12:24 ` [PATCH v5 08/27] sequencer: completely revamp the "todo" script parsing Johannes Schindelin
2016-11-06 14:05 ` Lars Schneider
2016-10-21 12:24 ` [PATCH v5 09/27] sequencer: strip CR from the todo script Johannes Schindelin
2016-10-21 12:24 ` [PATCH v5 10/27] sequencer: avoid completely different messages for different actions Johannes Schindelin
2016-10-21 12:24 ` [PATCH v5 11/27] sequencer: get rid of the subcommand field Johannes Schindelin
2016-10-21 12:25 ` [PATCH v5 12/27] sequencer: remember the onelines when parsing the todo file Johannes Schindelin
2016-10-21 12:25 ` [PATCH v5 13/27] sequencer: prepare for rebase -i's commit functionality Johannes Schindelin
2016-10-21 12:25 ` [PATCH v5 14/27] sequencer: introduce a helper to read files written by scripts Johannes Schindelin
2016-10-21 12:25 ` [PATCH v5 15/27] sequencer: allow editing the commit message on a case-by-case basis Johannes Schindelin
2016-10-21 12:25 ` [PATCH v5 16/27] sequencer: support amending commits Johannes Schindelin
2016-10-21 12:25 ` [PATCH v5 17/27] sequencer: support cleaning up commit messages Johannes Schindelin
2016-10-21 12:25 ` [PATCH v5 18/27] sequencer: left-trim lines read from the script Johannes Schindelin
2016-10-21 12:25 ` [PATCH v5 19/27] sequencer: stop releasing the strbuf in write_message() Johannes Schindelin
2016-10-21 18:30 ` Junio C Hamano
2016-10-21 12:26 ` [PATCH v5 20/27] sequencer: roll back lock file if write_message() failed Johannes Schindelin
2016-10-21 12:26 ` [PATCH v5 21/27] sequencer: refactor write_message() to take a pointer/length Johannes Schindelin
2016-10-21 12:26 ` [PATCH v5 22/27] sequencer: teach write_message() to append an optional LF Johannes Schindelin
2016-10-21 18:32 ` Junio C Hamano
2016-10-23 9:34 ` Johannes Schindelin
2016-10-21 12:26 ` [PATCH v5 23/27] sequencer: remove overzealous assumption in rebase -i mode Johannes Schindelin
2016-10-21 12:26 ` [PATCH v5 24/27] sequencer: mark action_name() for translation Johannes Schindelin
2016-10-21 12:26 ` [PATCH v5 25/27] sequencer: quote filenames in error messages Johannes Schindelin
2016-10-21 12:26 ` [PATCH v5 26/27] sequencer: start error messages consistently with lower case Johannes Schindelin
2016-10-21 12:26 ` [PATCH v5 27/27] sequencer: mark all error messages for translation Johannes Schindelin
2016-10-21 18:40 ` [PATCH v5 00/27] Prepare the sequencer for the upcoming rebase -i patches Junio C Hamano
2016-10-23 9:50 ` Johannes Schindelin
2016-10-24 20:00 ` Junio C Hamano
2016-10-22 17:11 ` Junio C Hamano
2016-10-23 9:54 ` Johannes Schindelin
2016-10-23 9:58 ` Johannes Schindelin
2016-10-24 12:24 ` Max Horn
2016-10-24 14:02 ` Johannes Schindelin
2016-10-24 20:03 ` Junio C Hamano
2016-10-24 19:36 ` Stefan Beller
2016-10-24 20:16 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=f7fe3f15-664e-61a5-6101-30ed4946c107@gmail.com \
--to=jnareb@gmail.com \
--cc=Johannes.Schindelin@gmx.de \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=lists@haller-berlin.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).