Re: [PATCH 1/3] Move bundle specific stuff into bundle.[ch]
From: Shawn O. Pearce <hidden>
Date: 2016-06-15 22:43:22
Subsystem:
the rest · Maintainer:
Linus Torvalds
Daniel Barkalow [off-list ref] wrote:
(Someday, I'd like to have a diff that can show that a substantial block of '+' lines matches a block of lines from somewhere in the "before" content, so reviewers can verify that the patch reorders code but doesn't change it, or changes it in certain ways. But, of course, that's both hard to generate and hard to display usefully.)
I just moved a huge block in git-gui so I have a great example... What about a patch format like this? I doubt people move more than 26 blocks in the same patch of the same file, so using a single character block prefix when the before/after images are identical might work OK.
diff --git a/git-gui.sh b/git-gui.sh
index 0443129..f13fa80 100755
--- a/git-gui.sh
+++ b/git-gui.sha@@ -632,6 +632,43 a@@ You are using [git-version]:
######################################################################
##
a+## feature option selection
a+
a+if {[regexp {^git-(.+)$} [appname] _junk subcommand]} {
a+ unset _junk
a+} else {
a+ set subcommand gui
a+}
a+if {$subcommand eq {gui.sh}} {
a+ set subcommand gui
a+}
a+if {$subcommand eq {gui} && [llength $argv] > 0} {
a+ set subcommand [lindex $argv 0]
a+ set argv [lrange $argv 1 end]
a+}
a+
a+enable_option multicommit
a+enable_option branch
a+enable_option transport
a+
a+switch -- $subcommand {
a+browser -
a+blame {
a+ disable_option multicommit
a+ disable_option branch
a+ disable_option transport
a+}
a+citool {
a+ enable_option singlecommit
a+
a+ disable_option multicommit
a+ disable_option branch
a+ disable_option transport
a+}
a+}
a+
a+######################################################################
a+##
## repository setup
if {[catch {
a@@ -1598,43 +1635,6 a@@ apply_config
######################################################################
##
a-## feature option selection
a-
a-if {[regexp {^git-(.+)$} [appname] _junk subcommand]} {
a- unset _junk
a-} else {
a- set subcommand gui
a-}
a-if {$subcommand eq {gui.sh}} {
a- set subcommand gui
a-}
a-if {$subcommand eq {gui} && [llength $argv] > 0} {
a- set subcommand [lindex $argv 0]
a- set argv [lrange $argv 1 end]
a-}
a-
a-enable_option multicommit
a-enable_option branch
a-enable_option transport
a-
a-switch -- $subcommand {
a-browser -
a-blame {
a- disable_option multicommit
a- disable_option branch
a- disable_option transport
a-}
a-citool {
a- enable_option singlecommit
a-
a- disable_option multicommit
a- disable_option branch
a- disable_option transport
a-}
a-}
a-
a-######################################################################
a-##
## ui construction
set ui_comm {}
--
1.5.3.rc1.818.g84b7
--
Shawn.