Merge branch 'master' of git://linux-nfs.org/~bfields/git
authorJunio C Hamano <gitster@pobox.com>
Mon, 6 Aug 2007 00:55:52 +0000 (17:55 -0700)
committerJunio C Hamano <gitster@pobox.com>
Mon, 6 Aug 2007 00:55:52 +0000 (17:55 -0700)
* 'master' of git://linux-nfs.org/~bfields/git:
documentation: use the word "index" in the git-add manual page
user-manual: mention git-gui
user-manual: mention git stash
user-manual: update for new default --track behavior

.gitignore
Documentation/git-push.txt
Documentation/git.txt
Documentation/install-doc-quick.sh
INSTALL
contrib/completion/git-completion.bash
contrib/patches/docbook-xsl-manpages-charmap.patch [new file with mode: 0644]
git.c
gitweb/gitweb.perl
unpack-trees.c
index 20ee642420a82d71a5ed7df6194de87f436bc6de..63c918c667fa005ff12ad89437f2fdc80926e21c 100644 (file)
@@ -148,6 +148,7 @@ git-write-tree
 git-core-*/?*
 gitk-wish
 gitweb/gitweb.cgi
+test-absolute-path
 test-chmtime
 test-date
 test-delta
index 74a0da1ed49f5b3742e97a1475dc671496f481ea..0dd9caf86799e1648fde8895af918f6f4806d202 100644 (file)
@@ -79,7 +79,7 @@ the remote repository.
 
 -f, \--force::
        Usually, the command refuses to update a remote ref that is
-       not a descendant of the local ref used to overwrite it.
+       not an ancestor of the local ref used to overwrite it.
        This flag disables the check.  This can cause the
        remote repository to lose commits; use it with care.
 
index 4c4d1746e03bdf47959ba58335785974d20efdee..18f8b6a0a10c2f724e623ba95d0aa17bf9b6d686 100644 (file)
@@ -421,6 +421,22 @@ other
        to an empty string or to the value "cat", git will not launch
        a pager.
 
+'GIT_SSH'::
+       If this environment variable is set then gitlink:git-fetch[1]
+       and gitlink:git-push[1] will use this command instead
+       of `ssh` when they need to connect to a remote system.
+       The 'GIT_SSH' command will be given exactly two arguments:
+       the 'username@host' (or just 'host') from the URL and the
+       shell command to execute on that remote system.
++
+To pass options to the program that you want to list in GIT_SSH
+you will need to wrap the program and options into a shell script,
+then set GIT_SSH to refer to the shell script.
++
+Usually it is easier to configure any desired options through your
+personal `.ssh/config` file.  Please consult your ssh documentation
+for further details.
+
 'GIT_FLUSH'::
        If this environment variable is set to "1", then commands such
        as git-blame (in incremental mode), git-rev-list, git-log,
index e6601bdd8237bbda80727780434d5b9d337e8bf4..07d227f093f9d183381f08316b3cc515de8e6ce7 100755 (executable)
@@ -7,7 +7,7 @@ mandir="$2"
 SUBDIRECTORY_OK=t
 USAGE='<refname> <target directory>'
 . git-sh-setup
-export GIT_DIR
+cd_to_toplevel
 
 test -z "$mandir" && usage
 if ! git rev-parse --verify "$head^0" >/dev/null; then
@@ -18,6 +18,8 @@ fi
 GIT_INDEX_FILE=`pwd`/.quick-doc.index
 export GIT_INDEX_FILE
 rm -f "$GIT_INDEX_FILE"
+trap 'rm -f "$GIT_INDEX_FILE"' 0
+
 git read-tree $head
 git checkout-index -a -f --prefix="$mandir"/
 
diff --git a/INSTALL b/INSTALL
index 79e71b6922cd82f411dbec1c77f6cf99c1b2ea34..c62b12c2881548db13e12594fec1216b3bea9804 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -116,3 +116,7 @@ Issues of note:
    would instead give you a copy of what you see at:
 
        http://www.kernel.org/pub/software/scm/git/docs/
+
+   It has been reported that docbook-xsl version 1.72 and 1.73 are
+   buggy; 1.72 misformats manual pages for callouts, and 1.73 needs
+   the patch in contrib/patches/docbook-xsl-manpages-charmap.patch
index f2b10fa5f67942dc1c8d9d4f16048a6e7e976084..82b9ed40d84dbb72c72e282392ca8eb247ab527e 100755 (executable)
@@ -972,6 +972,11 @@ _git_show ()
        __git_complete_file
 }
 
+_git_stash ()
+{
+       __gitcomp 'list show apply clear'
+}
+
 _git ()
 {
        local i c=1 command __git_dir
@@ -1028,6 +1033,7 @@ _git ()
        shortlog)    _git_shortlog ;;
        show)        _git_show ;;
        show-branch) _git_log ;;
+       stash)       _git_stash ;;
        whatchanged) _git_log ;;
        *)           COMPREPLY=() ;;
        esac
@@ -1073,6 +1079,7 @@ complete -o default -o nospace -F _git_remote git-remote
 complete -o default -o nospace -F _git_reset git-reset
 complete -o default -o nospace -F _git_shortlog git-shortlog
 complete -o default -o nospace -F _git_show git-show
+complete -o default -o nospace -F _git_stash git-stash
 complete -o default -o nospace -F _git_log git-show-branch
 complete -o default -o nospace -F _git_log git-whatchanged
 
diff --git a/contrib/patches/docbook-xsl-manpages-charmap.patch b/contrib/patches/docbook-xsl-manpages-charmap.patch
new file mode 100644 (file)
index 0000000..f2b08b4
--- /dev/null
@@ -0,0 +1,21 @@
+From: Ismail Dönmez <ismail@pardus.org.tr>
+
+Trying to build the documentation with docbook-xsl 1.73 may result in
+the following error.  This patch fixes it.
+
+$ xmlto -m callouts.xsl man git-add.xml
+runtime error: file
+file:///usr/share/sgml/docbook/xsl-stylesheets-1.73.0/manpages/other.xsl line
+129 element call-template
+The called template 'read-character-map' was not found.
+
+--- docbook-xsl-1.73.0/manpages/docbook.xsl.manpages-charmap   2007-07-23 16:24:23.000000000 +0100
++++ docbook-xsl-1.73.0/manpages/docbook.xsl    2007-07-23 16:25:16.000000000 +0100
+@@ -37,6 +37,7 @@
+   <xsl:include href="lists.xsl"/>
+   <xsl:include href="endnotes.xsl"/>
+   <xsl:include href="table.xsl"/>
++  <xsl:include href="../common/charmap.xsl"/>
+
+   <!-- * we rename the following just to avoid using params with "man" -->
+   <!-- * prefixes in the table.xsl stylesheet (because that stylesheet -->
diff --git a/git.c b/git.c
index 25b8274d3ea49b5d9155f35e945122f579ea438d..f8c4545208472acfbb73ce527a134979ea97db43 100644 (file)
--- a/git.c
+++ b/git.c
@@ -315,7 +315,8 @@ static void handle_internal_command(int argc, const char **argv)
                { "branch", cmd_branch, RUN_SETUP },
                { "bundle", cmd_bundle },
                { "cat-file", cmd_cat_file, RUN_SETUP },
-               { "checkout-index", cmd_checkout_index, RUN_SETUP },
+               { "checkout-index", cmd_checkout_index,
+                       RUN_SETUP | NEED_WORK_TREE},
                { "check-ref-format", cmd_check_ref_format },
                { "check-attr", cmd_check_attr, RUN_SETUP | NEED_WORK_TREE },
                { "cherry", cmd_cherry, RUN_SETUP },
index 077eb2f4ca3b597c155a464567f0235a129daa50..f282a677aaed805528770a6df594cbd452b484a4 100755 (executable)
@@ -5366,7 +5366,7 @@ sub git_feed {
 
        # log/feed of current (HEAD) branch, log of given branch, history of file/directory
        my $head = $hash || 'HEAD';
-       my @commitlist = parse_commits($head, 150);
+       my @commitlist = parse_commits($head, 150, 0, undef, $file_name);
 
        my %latest_commit;
        my %latest_date;
index 3b32718436ea4da838c98b53b3dba25bb99e3e9a..dfd985b0ef0193ce311ea77e8c8cb11fc7b1c3e3 100644 (file)
@@ -407,6 +407,15 @@ static void verify_uptodate(struct cache_entry *ce,
                unsigned changed = ce_match_stat(ce, &st, 1);
                if (!changed)
                        return;
+               /*
+                * NEEDSWORK: the current default policy is to allow
+                * submodule to be out of sync wrt the supermodule
+                * index.  This needs to be tightened later for
+                * submodules that are marked to be automatically
+                * checked out.
+                */
+               if (S_ISGITLINK(ntohl(ce->ce_mode)))
+                       return;
                errno = 0;
        }
        if (errno == ENOENT)