* [PATCH 0/1] git gui: fix staging a second line to a 1-line file @ 2019-09-26 17:43 Johannes Schindelin via GitGitGadget 2019-09-26 17:43 ` [PATCH 1/1] " Johannes Schindelin via GitGitGadget 0 siblings, 1 reply; 5+ messages in thread From: Johannes Schindelin via GitGitGadget @ 2019-09-26 17:43 UTC (permalink / raw) To: git; +Cc: Pratyush Yadav, Johannes Schindelin, Junio C Hamano Yet another patch that is carried in Git for Windows for quite a long time. This fixes https://github.com/git-for-windows/git/issues/515. This commit was contributed as https://github.com/patthoyts/git/gui/pull/7 which was ignored for almost three years, and then as https://github.com/prati0100/git-gui/pull/1 which was rejected in favor of a mailing list-centric workflow. The patch is based on Git GUI's master branch at https://github.com/prati0100/git-gui/. Johannes Schindelin (1): git gui: fix staging a second line to a 1-line file lib/diff.tcl | 1 + 1 file changed, 1 insertion(+) base-commit: 12d29c326551a6570594db525bea42ad9cea8028 Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-359%2Fdscho%2Fgit-gui-stage-line-v1 Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-359/dscho/git-gui-stage-line-v1 Pull-Request: https://github.com/gitgitgadget/git/pull/359 -- gitgitgadget ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/1] git gui: fix staging a second line to a 1-line file 2019-09-26 17:43 [PATCH 0/1] git gui: fix staging a second line to a 1-line file Johannes Schindelin via GitGitGadget @ 2019-09-26 17:43 ` Johannes Schindelin via GitGitGadget 2019-09-26 18:25 ` Bert Wesarg 0 siblings, 1 reply; 5+ messages in thread From: Johannes Schindelin via GitGitGadget @ 2019-09-26 17:43 UTC (permalink / raw) To: git Cc: Pratyush Yadav, Johannes Schindelin, Junio C Hamano, Johannes Schindelin From: Johannes Schindelin <johannes.schindelin@gmx.de> When a 1-line file is augmented by a second line, and the user tries to stage that single line via the "Stage Line" context menu item, we do not want to see "apply: corrupt patch at line 5". The reason for this error was that the hunk header looks like this: @@ -1 +1,2 @@ but the existing code expects the original range always to contain a comma. This problem is easily fixed by cutting the string "1 +1,2" (that Git GUI formerly mistook for the starting line) at the space. This fixes https://github.com/git-for-windows/git/issues/515 Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> --- lib/diff.tcl | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/diff.tcl b/lib/diff.tcl index 4cae10a4c7..68c4a6c736 100644 --- a/lib/diff.tcl +++ b/lib/diff.tcl @@ -698,6 +698,7 @@ proc apply_range_or_line {x y} { set hh [$ui_diff get $i_l "$i_l + 1 lines"] set hh [lindex [split $hh ,] 0] set hln [lindex [split $hh -] 1] + set hln [lindex [split $hln " "] 0] # There is a special situation to take care of. Consider this # hunk: -- gitgitgadget ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 1/1] git gui: fix staging a second line to a 1-line file 2019-09-26 17:43 ` [PATCH 1/1] " Johannes Schindelin via GitGitGadget @ 2019-09-26 18:25 ` Bert Wesarg 2019-09-26 18:44 ` Pratyush Yadav 0 siblings, 1 reply; 5+ messages in thread From: Bert Wesarg @ 2019-09-26 18:25 UTC (permalink / raw) To: Johannes Schindelin via GitGitGadget Cc: Git Mailing List, Pratyush Yadav, Johannes Schindelin, Junio C Hamano On Thu, Sep 26, 2019 at 7:43 PM Johannes Schindelin via GitGitGadget <gitgitgadget@gmail.com> wrote: > > From: Johannes Schindelin <johannes.schindelin@gmx.de> > > When a 1-line file is augmented by a second line, and the user tries to > stage that single line via the "Stage Line" context menu item, we do not > want to see "apply: corrupt patch at line 5". > > The reason for this error was that the hunk header looks like this: > > @@ -1 +1,2 @@ > > but the existing code expects the original range always to contain a > comma. This problem is easily fixed by cutting the string "1 +1,2" > (that Git GUI formerly mistook for the starting line) at the space. > > This fixes https://github.com/git-for-windows/git/issues/515 > > Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> > --- > lib/diff.tcl | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/lib/diff.tcl b/lib/diff.tcl > index 4cae10a4c7..68c4a6c736 100644 > --- a/lib/diff.tcl > +++ b/lib/diff.tcl > @@ -698,6 +698,7 @@ proc apply_range_or_line {x y} { > set hh [$ui_diff get $i_l "$i_l + 1 lines"] > set hh [lindex [split $hh ,] 0] > set hln [lindex [split $hh -] 1] > + set hln [lindex [split $hln " "] 0] this is already in that master https://github.com/prati0100/git-gui/blob/60c60b627e81bf84e1cb01729d2ae882178f079d/lib/diff.tcl#L727 > > # There is a special situation to take care of. Consider this > # hunk: > -- > gitgitgadget ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/1] git gui: fix staging a second line to a 1-line file 2019-09-26 18:25 ` Bert Wesarg @ 2019-09-26 18:44 ` Pratyush Yadav 2019-09-26 21:05 ` Johannes Schindelin 0 siblings, 1 reply; 5+ messages in thread From: Pratyush Yadav @ 2019-09-26 18:44 UTC (permalink / raw) To: Bert Wesarg Cc: Johannes Schindelin via GitGitGadget, Git Mailing List, Johannes Schindelin, Junio C Hamano On 26/09/19 08:25PM, Bert Wesarg wrote: > On Thu, Sep 26, 2019 at 7:43 PM Johannes Schindelin via GitGitGadget > <gitgitgadget@gmail.com> wrote: > > > > From: Johannes Schindelin <johannes.schindelin@gmx.de> > > > > When a 1-line file is augmented by a second line, and the user tries to > > stage that single line via the "Stage Line" context menu item, we do not > > want to see "apply: corrupt patch at line 5". > > > > The reason for this error was that the hunk header looks like this: > > > > @@ -1 +1,2 @@ > > > > but the existing code expects the original range always to contain a > > comma. This problem is easily fixed by cutting the string "1 +1,2" > > (that Git GUI formerly mistook for the starting line) at the space. > > > > This fixes https://github.com/git-for-windows/git/issues/515 > > > > Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> > > --- > > lib/diff.tcl | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/lib/diff.tcl b/lib/diff.tcl > > index 4cae10a4c7..68c4a6c736 100644 > > --- a/lib/diff.tcl > > +++ b/lib/diff.tcl > > @@ -698,6 +698,7 @@ proc apply_range_or_line {x y} { > > set hh [$ui_diff get $i_l "$i_l + 1 lines"] > > set hh [lindex [split $hh ,] 0] > > set hln [lindex [split $hh -] 1] > > + set hln [lindex [split $hln " "] 0] > > this is already in that master Yes, this was recently merged in when I was pulling in some stuff that went directly into git.git's git-gui subtree, instead of making it into git-gui first (thread at [0] in case someone wants to find out more). This commit was one of those. Junio directly merged this commit into git/git-gui, along with some other stuff from Johannes in the commit 02a5f25d95 (Merge branch 'js/misc-git-gui-stuff' of ../git-gui) of git.git. [0] https://public-inbox.org/git/CAGr--=KXqFbivuXHPNecb3dBR_hx8QqWoR4pBGXy7uOiT+ESbg@mail.gmail.com/ -- Regards, Pratyush Yadav ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/1] git gui: fix staging a second line to a 1-line file 2019-09-26 18:44 ` Pratyush Yadav @ 2019-09-26 21:05 ` Johannes Schindelin 0 siblings, 0 replies; 5+ messages in thread From: Johannes Schindelin @ 2019-09-26 21:05 UTC (permalink / raw) To: Pratyush Yadav Cc: Bert Wesarg, Johannes Schindelin via GitGitGadget, Git Mailing List, Junio C Hamano Hi, On Fri, 27 Sep 2019, Pratyush Yadav wrote: > On 26/09/19 08:25PM, Bert Wesarg wrote: > > On Thu, Sep 26, 2019 at 7:43 PM Johannes Schindelin via GitGitGadget > > <gitgitgadget@gmail.com> wrote: > > > > > > From: Johannes Schindelin <johannes.schindelin@gmx.de> > > > > > > When a 1-line file is augmented by a second line, and the user tries to > > > stage that single line via the "Stage Line" context menu item, we do not > > > want to see "apply: corrupt patch at line 5". > > > > > > The reason for this error was that the hunk header looks like this: > > > > > > @@ -1 +1,2 @@ > > > > > > but the existing code expects the original range always to contain a > > > comma. This problem is easily fixed by cutting the string "1 +1,2" > > > (that Git GUI formerly mistook for the starting line) at the space. > > > > > > This fixes https://github.com/git-for-windows/git/issues/515 > > > > > > Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> > > > --- > > > lib/diff.tcl | 1 + > > > 1 file changed, 1 insertion(+) > > > > > > diff --git a/lib/diff.tcl b/lib/diff.tcl > > > index 4cae10a4c7..68c4a6c736 100644 > > > --- a/lib/diff.tcl > > > +++ b/lib/diff.tcl > > > @@ -698,6 +698,7 @@ proc apply_range_or_line {x y} { > > > set hh [$ui_diff get $i_l "$i_l + 1 lines"] > > > set hh [lindex [split $hh ,] 0] > > > set hln [lindex [split $hh -] 1] > > > + set hln [lindex [split $hln " "] 0] > > > > this is already in that master Sorry, I thought I had rebased, but I obviously failed to do so. Ciao, Johannes > > Yes, this was recently merged in when I was pulling in some stuff that > went directly into git.git's git-gui subtree, instead of making it into > git-gui first (thread at [0] in case someone wants to find out more). > This commit was one of those. Junio directly merged this commit into > git/git-gui, along with some other stuff from Johannes in the commit > 02a5f25d95 (Merge branch 'js/misc-git-gui-stuff' of ../git-gui) of > git.git. > > [0] https://public-inbox.org/git/CAGr--=KXqFbivuXHPNecb3dBR_hx8QqWoR4pBGXy7uOiT+ESbg@mail.gmail.com/ > > -- > Regards, > Pratyush Yadav > ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2019-09-26 21:05 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2019-09-26 17:43 [PATCH 0/1] git gui: fix staging a second line to a 1-line file Johannes Schindelin via GitGitGadget 2019-09-26 17:43 ` [PATCH 1/1] " Johannes Schindelin via GitGitGadget 2019-09-26 18:25 ` Bert Wesarg 2019-09-26 18:44 ` Pratyush Yadav 2019-09-26 21:05 ` Johannes Schindelin
Code repositories for project(s) associated with this public inbox https://80x24.org/mirrors/git.git 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 read-only IMAP folder(s) and NNTP newsgroup(s).