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

Re: [PATCH 1/3] Move bundle specific stuff into bundle.[ch]

From
Shawn O. Pearce <spearce@spearce.org>
Date
Jul 18, 2007, 03:29 UTC
Message-ID
<20070718032907.GY32566@spearce.org>
In-Reply-To
<Pine.LNX.4.64.0707172302560.14596@iabervon.org>
Daniel Barkalow <barkalow@iabervon.org> wrote:
Show 5 quoted lines
> (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.sh
a@@ -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.
Previous: Daniel BarkalowNext: Junio C Hamano
Message 4 of 11 in “Move bundle specific stuff into bundle.[ch]”
  1. 1/3 Move bundle specific stuff into bundle.[ch]Johannes Schindelin, Jul 17, 2007
  2. Daniel BarkalowJul 18, 2007
  3. Daniel BarkalowJul 18, 2007
  4. Shawn O. PearceJul 18, 2007
  5. Junio C HamanoJul 18, 2007
  6. Shawn O. PearceJul 18, 2007
  7. Junio C HamanoJul 18, 2007
  8. Johannes SchindelinJul 18, 2007
  9. Johannes SchindelinJul 18, 2007
  10. Daniel BarkalowJul 18, 2007
  11. Johannes SchindelinJul 18, 2007

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.