Updating to Git 1.6.4.1Edit

Local update

Notes made while updating to Git 1.6.4.1 on Mac OS X Leopard 10.5.8:

# working from a clone of the official upstream Git repo
git fetch
git tag -v v1.6.4.1

# note: "git co" is an alias that I made for "git checkout"
git co v1.6.4.1
make clean
make prefix=/usr/local test
sudo make prefix=/usr/local install

# inspect the changes in the Bash completion script
diff -u ~/.git-completion.sh contrib/completion/git-completion.bash
# no changes this time, so no need to update it
[/tags/cp #cp] contrib/completion/git-completion.bash ~/.git-completion.sh

# the pre-built man pages
sudo make prefix=/usr/local quick-install-man

# go back to the master branch rather than hanging around on a detached head
git co master

Remote update

I chose not to update the remote server this time as Git 1.6.4.1 doesn't seem to include any changes that are really relevant to its workload. See "Updating to Git 1.6.4" for an example of the update procedure on Red Hat Enterprise Linux.

Changes in gitweb

$ git diff v1.6.4..v1.6.4.1 -- gitweb
diff --git a/gitweb/README b/gitweb/README
index 9056d1e..66c6a93 100644
--- a/gitweb/README
+++ b/gitweb/README
@@ -165,6 +165,12 @@ not include variables usually directly set during build):
    Full URL and absolute URL of gitweb script;
    in earlier versions of gitweb you might have need to set those
    variables, now there should be no need to do it.
+ * $base_url
+   Base URL for relative URLs in pages generated by gitweb,
+   (e.g. $logo, $favicon, @stylesheets if they are relative URLs),
+   needed and used only for URLs with nonempty PATH_INFO via
+   <base href="$base_url>.  Usually gitweb sets its value correctly,
+   and there is no need to set this variable, e.g. to $my_uri or "/".
  * $home_link
    Target of the home link on top of all pages (the first part of view
    "breadcrumbs").  By default set to absolute URI of a page ($my_uri).
diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
index 7fbd5ff..4f05194 100755
--- a/gitweb/gitweb.perl
+++ b/gitweb/gitweb.perl
@@ -2570,7 +2570,7 @@ sub parse_commit_text {
                } elsif ((!defined $withparents) && ($line =~ m/^parent ([0-9a-fA-F]{40})$/)) {
                        push @parents, $1;
                } elsif ($line =~ m/^author (.*) ([0-9]+) (.*)$/) {
-                       $co{'author'} = $1;
+                       $co{'author'} = to_utf8($1);
                        $co{'author_epoch'} = $2;
                        $co{'author_tz'} = $3;
                        if ($co{'author'} =~ m/^([^<]+) <([^>]*)>/) {
@@ -2580,10 +2580,9 @@ sub parse_commit_text {
                                $co{'author_name'} = $co{'author'};
                        }
                } elsif ($line =~ m/^committer (.*) ([0-9]+) (.*)$/) {
-                       $co{'committer'} = $1;
+                       $co{'committer'} = to_utf8($1);
                        $co{'committer_epoch'} = $2;
                        $co{'committer_tz'} = $3;
-                       $co{'committer_name'} = $co{'committer'};
                        if ($co{'committer'} =~ m/^([^<]+) <([^>]*)>/) {
                                $co{'committer_name'}  = $1;
                                $co{'committer_email'} = $2;

Other changes

Note that git oneline is an alias for log --pretty=format:'%Cgreen%h%Creset %s':

$ git oneline v1.6.4..v1.6.4.1
d9b9784 GIT 1.6.4.1
f47af92 Merge branch 'bc/maint-am-email' into maint
3a2dd48 Merge branch 'jc/maint-merge-recursive-fix' into maint
d3ebb17 Merge branch 'zf/maint-gitweb-acname' into maint
f393747 Merge branch 'np/maint-limit-delta-cache' into maint
985d540 Merge branch 'jk/maint-show-tag' into maint
07d6309 Merge branch 'sb/maint-pull-rebase' into maint
83e355a filter-branch: make the usage string fit on 80 chars terminals.
b8f4233 filter-branch: add an example how to add ACKs to a range of commits
13354f5 docs: describe impact of repack on "clone -s"
2cd9c2a Merge branch 'maint-1.6.3' into maint
07436e4 push: point to 'git pull' and 'git push --force' in case of non-fast forward
e89df7d Documentation: add: <filepattern>... is optional
57f6ec0 Change mentions of "git programs" to "git commands"
22f1fb6 Documentation: merge: one <remote> is required
0b74f5d help.c: give correct structure's size to memset()
e532e7b Merge branch 'maint-1.6.3' into maint
75f492a Fix typos in git-remote.txt and git-symbolic-ref.txt
af12fb7 git-am: print fair error message when format detection fails
584c435 am: allow individual e-mail files as input
f0e588d git-instaweb: fix mod_perl detection for apache2
5dc36a5 Merge branch 'maint-1.6.3' into maint
39836a2 Merge branch 'maint-1.6.2' into maint-1.6.3
e72263a Merge branch 'maint-1.6.1' into maint-1.6.2
0d50556 Merge branch 'maint-1.6.0' into maint-1.6.1
262b04f verify-pack -v: do not report "chain length 0"
2e674a9 t5510: harden the way verify-pack is used
5749b0b don't let the delta cache grow unbounded in 'git repack'
f0df129 Merge branch 'maint-1.6.3' into maint
5ed5bbc gitweb: parse_commit_text encoding fix
4606838 gitweb/README: Document $base_url
85738ba Documentation: git submodule: add missing options to synopsis
e77095e Better usage string for reflog.
b0c051d hg-to-git: don't import the unused popen2 module
69931b7 send-email: remove debug trace
ebdaae3 config: Keep inner whitespace verbatim
c94736a merge-recursive: don't segfault while handling rename clashes
ae03ee6 show: add space between multiple items
ca4ca9e show: suppress extra newline when showing annotated tag
d44e712 pull: support rebased upstream + fetch + pull --rebase
a418441 t5520-pull: Test for rebased upstream + fetch + pull --rebase

For more detail, run git log -p v1.6.4..v1.6.4.1; the changes are small enough to make reviewing straightforward:

$ git diff --stat v1.6.4..v1.6.4.1
 Documentation/RelNotes-1.6.4.1.txt  |   46 +++++++++++++++++++
 Documentation/config.txt            |   18 +++++--
 Documentation/fetch-options.txt     |    2 +-
 Documentation/git-add.txt           |    2 +-
 Documentation/git-clone.txt         |   12 ++++-
 Documentation/git-filter-branch.txt |   10 ++++
 Documentation/git-merge.txt         |    2 +-
 Documentation/git-push.txt          |   86 +++++++++++++++++++++++++++++++++++
 Documentation/git-remote.txt        |    4 +-
 Documentation/git-rev-list.txt      |    2 +-
 Documentation/git-submodule.txt     |    4 +-
 Documentation/git-symbolic-ref.txt  |    4 +-
 Documentation/git.txt               |    5 +-
 Documentation/gitattributes.txt     |    2 +-
 Documentation/gitcore-tutorial.txt  |    4 +-
 Documentation/user-manual.txt       |    2 +-
 GIT-VERSION-GEN                     |    2 +-
 RelNotes                            |    2 +-
 builtin-log.c                       |    8 +++-
 builtin-pack-objects.c              |    2 +-
 builtin-push.c                      |    9 +++-
 builtin-reflog.c                    |    2 +-
 builtin-verify-pack.c               |   27 ++++++++---
 config.c                            |   10 ++---
 contrib/hg-to-git/hg-to-git.py      |    2 +-
 git-am.sh                           |   20 ++++++++-
 git-filter-branch.sh                |   12 +++---
 git-instaweb.sh                     |    2 +-
 git-pull.sh                         |   14 +++++-
 git-send-email.perl                 |    1 -
 gitweb/README                       |    6 +++
 gitweb/gitweb.perl                  |    5 +-
 help.c                              |    4 +-
 merge-recursive.c                   |   28 ++++++++++-
 t/t1300-repo-config.sh              |    5 ++
 t/t4150-am.sh                       |   15 ++++++
 t/t5510-fetch.sh                    |   11 +++-
 t/t5520-pull.sh                     |   13 +++++
 t/t6036-recursive-corner-cases.sh   |   55 ++++++++++++++++++++++
 transport.c                         |   10 +++-
 transport.h                         |    3 +-
 41 files changed, 402 insertions(+), 71 deletions(-)