<feed xmlns='http://www.w3.org/2005/Atom'>
<title>brew/Library/Homebrew/cmd/update.rb, branch 1.2.4</title>
<subtitle>🍺 The missing package manager for macOS</subtitle>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/brew/'/>
<entry>
<title>Promote update-bash to the default updater.</title>
<updated>2016-02-15T08:54:03+00:00</updated>
<author>
<name>Mike McQuaid</name>
</author>
<published>2016-02-12T13:25:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/brew/commit/?id=775c4eedd7f6342ccfe7fe802a5935cb78ab050d'/>
<id>775c4eedd7f6342ccfe7fe802a5935cb78ab050d</id>
<content type='text'>
Also, rename the existing updater to `update-ruby` to allow using as
a fallback. It will eventually be removed.

Closes Homebrew/homebrew#49109.

Signed-off-by: Mike McQuaid &lt;mike@mikemcquaid.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also, rename the existing updater to `update-ruby` to allow using as
a fallback. It will eventually be removed.

Closes Homebrew/homebrew#49109.

Signed-off-by: Mike McQuaid &lt;mike@mikemcquaid.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>update: abbreviate hashes to at least 7 characters</title>
<updated>2016-01-08T14:56:43+00:00</updated>
<author>
<name>Joseph Frazier</name>
</author>
<published>2016-01-06T02:25:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/brew/commit/?id=91d4ba7158f3d8fc32b2a668cd1153a0d6971087'/>
<id>91d4ba7158f3d8fc32b2a668cd1153a0d6971087</id>
<content type='text'>
Abbreviations will be longer if needed to preserve uniqueness.

This makes it more consistent with `git rev-parse --short`,
https://github.com/Homebrew/homebrew/commits, etc.

For example, instead of:

    Updated Homebrew from 40d1e9c2 to 90b9bdf4.

We see:

    Updated Homebrew from 40d1e9c to 90b9bdf.

See 0c48248b6555353c8d60b61973639c8423ce586c for the original
introduction of eight-character abbreviations.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Abbreviations will be longer if needed to preserve uniqueness.

This makes it more consistent with `git rev-parse --short`,
https://github.com/Homebrew/homebrew/commits, etc.

For example, instead of:

    Updated Homebrew from 40d1e9c2 to 90b9bdf4.

We see:

    Updated Homebrew from 40d1e9c to 90b9bdf.

See 0c48248b6555353c8d60b61973639c8423ce586c for the original
introduction of eight-character abbreviations.
</pre>
</div>
</content>
</entry>
<entry>
<title>doctor: move code away from cmd/</title>
<updated>2016-01-05T13:33:06+00:00</updated>
<author>
<name>Baptiste Fontaine</name>
</author>
<published>2016-01-04T22:14:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/brew/commit/?id=9f1442db14f8791c6563a701a094b4fc0c2c9b56'/>
<id>9f1442db14f8791c6563a701a094b4fc0c2c9b56</id>
<content type='text'>
Closes Homebrew/homebrew#47665.

Signed-off-by: Baptiste Fontaine &lt;batifon@yahoo.fr&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Closes Homebrew/homebrew#47665.

Signed-off-by: Baptiste Fontaine &lt;batifon@yahoo.fr&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>update: avoid unnecessarily recreating 'master'</title>
<updated>2016-01-04T15:25:32+00:00</updated>
<author>
<name>Martin Afanasjew</name>
</author>
<published>2015-12-12T23:25:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/brew/commit/?id=cc632acd07d0884d51c5de414fcabd6e5f856fd2'/>
<id>cc632acd07d0884d51c5de414fcabd6e5f856fd2</id>
<content type='text'>
This only affects the behavior of `brew update` while being on a branch
`feature` that doesn't track the upstream branch. For simplicity, the
upstream branch is assumed to be called `master` (`@upstream_branch` in
the code). Consider the following simplified commit history:

        master      origin/master (current state of remote)
        |           |
A---B---C---D---E---F
     \
      G---H---I
              |
              feature (HEAD)

If `origin/master` is equal to `master` and also points at commit `C`,
then `brew update` will update both `master` and `origin/master` to `F`
and report on the changes in the range `C..F`.

However, if `origin/master` is equal to `E` because some commits have
been already fetched with `git fetch origin`, then `brew update` will
recreate `master` from `origin/master` and then pull in the commits from
the remote to update both to `F`. Because `master` gets recreated from
a younger `origin/master`, the report will only contain changes from the
range `E..F` (thus omitting the changes from `C..E`).

This commit adjusts the logic to not recreate `master` if it can be
safely fast-forwarded to `origin/master` (the common case). This fixes
the problem from the second scenario and again reports on the desired
range `C..F`.

Closes Homebrew/homebrew#46951.

Signed-off-by: Martin Afanasjew &lt;martin@afanasjew.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This only affects the behavior of `brew update` while being on a branch
`feature` that doesn't track the upstream branch. For simplicity, the
upstream branch is assumed to be called `master` (`@upstream_branch` in
the code). Consider the following simplified commit history:

        master      origin/master (current state of remote)
        |           |
A---B---C---D---E---F
     \
      G---H---I
              |
              feature (HEAD)

If `origin/master` is equal to `master` and also points at commit `C`,
then `brew update` will update both `master` and `origin/master` to `F`
and report on the changes in the range `C..F`.

However, if `origin/master` is equal to `E` because some commits have
been already fetched with `git fetch origin`, then `brew update` will
recreate `master` from `origin/master` and then pull in the commits from
the remote to update both to `F`. Because `master` gets recreated from
a younger `origin/master`, the report will only contain changes from the
range `E..F` (thus omitting the changes from `C..E`).

This commit adjusts the logic to not recreate `master` if it can be
safely fast-forwarded to `origin/master` (the common case). This fixes
the problem from the second scenario and again reports on the desired
range `C..F`.

Closes Homebrew/homebrew#46951.

Signed-off-by: Martin Afanasjew &lt;martin@afanasjew.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>update: make stashing local changes more robust</title>
<updated>2015-12-13T21:18:14+00:00</updated>
<author>
<name>Martin Afanasjew</name>
</author>
<published>2015-12-12T16:03:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/brew/commit/?id=9789726fff9497855080026b6e1c2d07af5f6284'/>
<id>9789726fff9497855080026b6e1c2d07af5f6284</id>
<content type='text'>
Users with local changes and without a configured Git identity won't be
able to update Homebrew via `brew update`, as the update will fail when
trying to stash the local modifications with `git stash`. They will be
unable to proceed until they follow Git's advice to configure their
identity or they manage to revert their local changes.

This change always sets a commit e-mail and name, avoiding this issue. A
nice bonus is that experienced Git users can see who created the stash
commit (identifying `brew update` as the author).

Fixes Homebrew/homebrew#46930.

Closes Homebrew/homebrew#46939.

Signed-off-by: Martin Afanasjew &lt;martin@afanasjew.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Users with local changes and without a configured Git identity won't be
able to update Homebrew via `brew update`, as the update will fail when
trying to stash the local modifications with `git stash`. They will be
unable to proceed until they follow Git's advice to configure their
identity or they manage to revert their local changes.

This change always sets a commit e-mail and name, avoiding this issue. A
nice bonus is that experienced Git users can see who created the stash
commit (identifying `brew update` as the author).

Fixes Homebrew/homebrew#46930.

Closes Homebrew/homebrew#46939.

Signed-off-by: Martin Afanasjew &lt;martin@afanasjew.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Allow taps to link manpages.</title>
<updated>2015-12-09T09:09:26+00:00</updated>
<author>
<name>Mike McQuaid</name>
</author>
<published>2015-12-08T17:26:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/brew/commit/?id=d36d88edf27ead55adb6efe312f7f70f090b729d'/>
<id>d36d88edf27ead55adb6efe312f7f70f090b729d</id>
<content type='text'>
A blocker for https://github.com/caskroom/homebrew-cask/pull/15381
being merged.

Closes Homebrew/homebrew#46795.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A blocker for https://github.com/caskroom/homebrew-cask/pull/15381
being merged.

Closes Homebrew/homebrew#46795.
</pre>
</div>
</content>
</entry>
<entry>
<title>avoid using FORMULA_RENAMES directly</title>
<updated>2015-12-09T08:56:59+00:00</updated>
<author>
<name>Xu Cheng</name>
</author>
<published>2015-12-09T04:09:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/brew/commit/?id=fe032e3e9682db3d428ae3b6a2d1d79d86a67f41'/>
<id>fe032e3e9682db3d428ae3b6a2d1d79d86a67f41</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Use `(installed)` and emoji ticks consistently.</title>
<updated>2015-12-07T14:56:30+00:00</updated>
<author>
<name>Mike McQuaid</name>
</author>
<published>2015-12-07T13:11:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/brew/commit/?id=bf2315b1f4ae0cb7c9bb80b651ef6389f66020b2'/>
<id>bf2315b1f4ae0cb7c9bb80b651ef6389f66020b2</id>
<content type='text'>
Across info, search and update.

Closes Homebrew/homebrew#45131.

Signed-off-by: Mike McQuaid &lt;mike@mikemcquaid.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Across info, search and update.

Closes Homebrew/homebrew#45131.

Signed-off-by: Mike McQuaid &lt;mike@mikemcquaid.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>update: always reset to origin/master.</title>
<updated>2015-12-07T13:37:27+00:00</updated>
<author>
<name>Mike McQuaid</name>
</author>
<published>2015-12-07T09:30:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/brew/commit/?id=fe8a0569ca1fc419f80196bea22cc1de0ff3b93a'/>
<id>fe8a0569ca1fc419f80196bea22cc1de0ff3b93a</id>
<content type='text'>
Do a reset to `origin/master` and then stash but don't pop the stash
after running update (unless you were on a branch). This may be mildly
more annoying for Homebrew developers but means it's easier for our
users who don't understand Git (and particularly when they don't
understand that every tap is a separate Git repository).

Closes Homebrew/homebrew#45825.

Signed-off-by: Mike McQuaid &lt;mike@mikemcquaid.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Do a reset to `origin/master` and then stash but don't pop the stash
after running update (unless you were on a branch). This may be mildly
more annoying for Homebrew developers but means it's easier for our
users who don't understand Git (and particularly when they don't
understand that every tap is a separate Git repository).

Closes Homebrew/homebrew#45825.

Signed-off-by: Mike McQuaid &lt;mike@mikemcquaid.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>centralize the logic of handling `homebrew-` in Tap.fetch</title>
<updated>2015-12-03T05:46:59+00:00</updated>
<author>
<name>Xu Cheng</name>
</author>
<published>2015-12-02T06:35:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/brew/commit/?id=48950f2cc07d74a52411cf1fe8674409736291ab'/>
<id>48950f2cc07d74a52411cf1fe8674409736291ab</id>
<content type='text'>
Closes Homebrew/homebrew#46537.

Signed-off-by: Xu Cheng &lt;xucheng@me.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Closes Homebrew/homebrew#46537.

Signed-off-by: Xu Cheng &lt;xucheng@me.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
