diff --git a/Library/Contributions/manpages/brew.1.md b/Library/Contributions/manpages/brew.1.md index 5fc03ace84..1cc524472b 100644 --- a/Library/Contributions/manpages/brew.1.md +++ b/Library/Contributions/manpages/brew.1.md @@ -231,8 +231,11 @@ For the full command list, see the COMMANDS section. Unsymlink from the Homebrew prefix. This can be useful for temporarily disabling a formula: `brew unlink foo && commands && brew link foo`. - * `update`: - Fetch the newest version of Homebrew from GitHub using `git`(1). + * `update [--rebase]`: + Fetch the newest version of Homebrew and all formulae from GitHub using + `git`(1). + + If --rebase is specified then `git pull --rebase` is used. * `upgrade` []: Upgrade outdated brews. diff --git a/Library/Homebrew/cmd/update.rb b/Library/Homebrew/cmd/update.rb index 773bf257de..1073ef1f0a 100644 --- a/Library/Homebrew/cmd/update.rb +++ b/Library/Homebrew/cmd/update.rb @@ -49,8 +49,11 @@ class RefreshBrew raise end end + # specify a refspec so that 'origin/master' gets updated - execute "git pull origin refs/heads/master:refs/remotes/origin/master" + refspec = "refs/heads/master:refs/remotes/origin/master" + rebase = "--rebase" if ARGV.include? "--rebase" + execute "git pull #{rebase} origin #{refspec}" @current_revision = read_revision end diff --git a/share/man/man1/brew.1 b/share/man/man1/brew.1 index efe1240926..d8e189cf5d 100644 --- a/share/man/man1/brew.1 +++ b/share/man/man1/brew.1 @@ -256,8 +256,11 @@ Example: \fBbrew install jruby && brew test jruby\fR Unsymlink \fIformula\fR from the Homebrew prefix\. This can be useful for temporarily disabling a formula: \fBbrew unlink foo && commands && brew link foo\fR\. . .TP -\fBupdate\fR -Fetch the newest version of Homebrew from GitHub using \fBgit\fR(1)\. +\fBupdate [\-\-rebase]\fR +Fetch the newest version of Homebrew and all formulae from GitHub using \fBgit\fR(1)\. +. +.IP +If \-\-rebase is specified then \fBgit pull \-\-rebase\fR is used\. . .TP \fBupgrade\fR [\fIformulae\fR]