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

Re: Extended splitting for "git add --interactive"

From
Junio C Hamano <gitster@pobox.com>
Date
Nov 26, 2014, 18:57 UTC
Message-ID
<xmqq3895rdr1.fsf@gitster.dls.corp.google.com>
In-Reply-To
<5475F7E7020000A100018050@gwsmtp1.uni-regensburg.de>
"Ulrich Windl" <Ulrich.Windl@rz.uni-regensburg.de> writes:
> This is for git-1.7.12 (an older version from the SLES11 SP3 SDK). If
> the issue is solved meanwhile, I'll be happy, and I apologize for
> being too lazy to find out.
The answer is no ;-).
Show 13 quoted lines
> Currently Git cannot split a block of changes like
>
> -AAA
> -BBB
> +CCC
> +DDD
>
> Into
> -AAA
> +CCC
> and
> -BBB
> +DDD
And it is unlikely to do so ever, because it is a wrong thing to do.

What makes the user happy to see above split when the user is expecting this instead?

-AAA and -BBB +CCC +DDD

Show 5 quoted lines
> Another split that is not possible is a split across an empty line, like:
>
> +AAA
> +     <empty line (in reality)>
> +BBB

Likewise. An empty line is not that special. AAA may be adding one block of lines "if (condition) { ... }" and BBB may be another, and it often happens that you would want to separate these into two changes, with or without an empty line in between.

   +if (foo) {
   +  do foo thing
   +}
   +if (bar) {
   +  do bar thing
   +}
   
Having said all that, I am not opposed to a usable idea to allow the
user to specify where in a contiguous block of -*+* to break a hunk
and how.
Previous: Ulrich WindlNext: Junio C Hamano
Message 2 of 6 in “Extended splitting for "git add --interactive"”
  1. Ulrich WindlNov 26, 2014
  2. Junio C HamanoNov 26, 2014
  3. Junio C HamanoNov 26, 2014
  4. Antw: Re: Extended splitting for "git add --interactive"Ulrich Windl, Nov 27, 2014
  5. Johan HerlandNov 27, 2014
  6. Brandon McCaigNov 27, 2014

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.