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

Add --rebase option to git-pull?

From
TCTom Clarke <tom@u2i.com>
Date
Aug 30, 2007, 12:40 UTC
Message-ID
<550f9510708300540u13c77201oe7cbe599c6773364@mail.gmail.com>
Hi,

I'm in the process of setting up a git environment with a number of shared branches. To avoid putting unnecessary merges into the trunk, we'd like to normally use rebase when updating private branches. I wondered if it would be possible to automatically determine the correct remote branch to rebase against.

The most logical place to do this seemed to be in git-pull, so I experimented with adding a '--rebase' option, per the (rough) diff below.

I'm quite new to git, so is this a good strategy?
-Tom
commit 60b7318c2ebb7ee2bd1afb02f1fc925a29e1b214
Author: Tom Clarke <tom@u2i.com>
Date:   Thu Aug 30 14:39:34 2007 +0200
    Added --rebase option to pull
diff --git a/git-pull.sh b/git-pull.sh
index 5e96d1f..233a1d9 100755
--- a/git-pull.sh
+++ b/git-pull.sh
@@ -15,7 +15,7 @@ cd_to_toplevel
 test -z "$(git ls-files -u)" ||
        die "You are in the middle of a conflicted merge."

-strategy_args= no_summary= no_commit= squash=
+strategy_args= no_summary= no_commit= squash= rebase=false
 while case "$#,$1" in 0) break ;; *,-*) ;; *) break ;; esac
 do
        case "$1" in
@@ -29,6 +29,8 @@ do
                no_commit=--no-commit ;;
        --sq|--squ|--squa|--squas|--squash)
                squash=--squash ;;
+       --re|--reb|--reba|--rebase)
+               rebase=true ;;
        -s=*|--s=*|--st=*|--str=*|--stra=*|--strat=*|--strate=*|\
                --strateg=*|--strategy=*|\
        -s|--s|--st|--str|--stra|--strat|--strate|--strateg|--strategy)
@@ -119,5 +121,10 @@ then
 fi

 merge_name=$(git fmt-merge-msg <"$GIT_DIR/FETCH_HEAD") || exit
-exec git-merge $no_summary $no_commit $squash $strategy_args \
+if test $rebase != "false"
+then
+    exec git-rebase $strategy_args $merge_head
+else
+    exec git-merge $no_summary $no_commit $squash $strategy_args \
        "$merge_name" HEAD $merge_head
+fi
Next: Andreas Ericsson
Message 1 of 11 in “Add --rebase option to git-pull?”
  1. Tom ClarkeAug 30, 2007
  2. Andreas EricssonAug 30, 2007
  3. Tom ClarkeAug 30, 2007
  4. Johannes SchindelinAug 30, 2007
  5. Tom ClarkeAug 30, 2007
  6. Johannes SchindelinAug 30, 2007
  7. Tom ClarkeAug 30, 2007
  8. Jakub NarebskiAug 30, 2007
  9. Alex RiesenAug 30, 2007
  10. Tom ClarkeAug 30, 2007
  11. Tom ClarkeAug 30, 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.