Code

GIT 1.0.10 v1.0.10
authorJunio C Hamano <junkio@cox.net>
Sat, 14 Jan 2006 00:39:17 +0000 (16:39 -0800)
committerJunio C Hamano <junkio@cox.net>
Sat, 14 Jan 2006 00:39:17 +0000 (16:39 -0800)
Documentation/git-commit.txt
Documentation/git-reset.txt
Documentation/pull-fetch-param.txt
Makefile
name-rev.c
show-branch.c
t/t6010-merge-base.sh
update-index.c

index e0ff74f648fa57bc1a6d100f886fca424051ce8a..e35984dfc7d5a5287ea8231b25c5c8256fb89011 100644 (file)
@@ -25,7 +25,9 @@ information.
 OPTIONS
 -------
 -a|--all::
-       Update all paths in the index file.
+       Update all paths in the index file.  This flag notices
+       files that have been modified and deleted, but new files
+       you have not told about git are not affected.
 
 -c or -C <commit>::
        Take existing commit object, and reuse the log message
index c6a269b7ef56d830ad493467a63637b2afee9e83..315683a6d575bb158ec621d7677ff60bcdbce3eb 100644 (file)
@@ -145,6 +145,32 @@ brings your index file and the working tree back to that state,
 and resets the tip of the branch to that commit.
 ------------
 
+Interrupted workflow::
++
+You can get interrupted by an ungent fix request while you are
+still in the middle of a large change.  The files in your
+working tree are not in any shape to be committed yet, but you
+need to get to the other branch for a quick bugfix.
++
+------------
+$ git checkout feature ;# you were working in "feature" branch and
+$ work work work       ;# got interrupted
+$ git commit -a -m 'snapshot WIP' <1>
+$ git checkout master
+$ fix fix fix
+$ git commit ;# commit with real log
+$ git checkout feature
+$ git reset --soft HEAD^ ;# go back to WIP state <2>
+$ git reset <3>
+
+<1> This commit will get blown away so a throw-away log message is OK.
+<2> This removes the 'WIP' commit from the commit history, and makes
+    your working tree in the state just before you made that snapshot.
+<3> After <2>, the index file still has all the WIP changes you
+    committed in <1>.  This sets it to the last commit you were
+    basing the WIP changes on.
+------------
+
 Author
 ------
 Written by Junio C Hamano <junkio@cox.net> and Linus Torvalds <torvalds@osdl.org>
@@ -156,4 +182,3 @@ Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
 GIT
 ---
 Part of the gitlink:git[7] suite
-
index b5b979242ca809d121ef10826ab083159ea2195c..4524fee6f2d18cc37efb110a3400d5130b95b742 100644 (file)
@@ -134,9 +134,9 @@ is often useful.
 +
 Some short-cut notations are also supported.
 +
-* For backward compatibility, `tag` is almost ignored;
-  it just makes the following parameter <tag> to mean a
-  refspec `refs/tags/<tag>:refs/tags/<tag>`.
+* `tag <tag>` means the same as `refs/tags/<tag>:refs/tags/<tag>`; 
+  used with pull or fetch, it requests fetching everything up to
+  the given tag.
 * A parameter <ref> without a colon is equivalent to
   <ref>: when pulling/fetching, and <ref>`:`<ref> when
   pushing.  That is, do not store it locally if
index 119a45f7bc5e547ca8d199edc94ac285d2ab5c38..aa89c8bd0776614faef67cc845dae047ed048930 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -55,7 +55,7 @@ all:
 # Define USE_STDEV below if you want git to care about the underlying device
 # change being considered an inode change from the update-cache perspective.
 
-GIT_VERSION = 1.0.8
+GIT_VERSION = 1.0.10
 
 # CFLAGS and LDFLAGS are for the users to override from the command line.
 
index 65333d4166da845d8594d2dc397c0026eebe2421..bbadb91aa0f51fe1ef7135866912d806c70fc457 100644 (file)
@@ -93,10 +93,11 @@ static int name_ref(const char *path, const unsigned char *sha1)
        }
        if (o && o->type == commit_type) {
                struct commit *commit = (struct commit *)o;
-               const char *p;
 
-               while ((p = strchr(path, '/')))
-                       path = p+1;
+               if (!strncmp(path, "refs/heads/", 11))
+                       path = path + 11;
+               else if (!strncmp(path, "refs/", 5))
+                       path = path + 5;
 
                name_rev(commit, strdup(path), 0, 0, deref);
        }
index 15b1968781178c8aa939a79ed5a7f8fb363d181e..1935c448f4c50e8b9b4302162747a6a099dc718c 100644 (file)
@@ -492,7 +492,7 @@ static void append_one_rev(const char *av)
                append_ref(av, revkey);
                return;
        }
-       if (strchr(av, '*') || strchr(av, '?')) {
+       if (strchr(av, '*') || strchr(av, '?') || strchr(av, '[')) {
                /* glob style match */
                int saved_matches = ref_name_cnt;
                match_ref_pattern = av;
index c3a9680e2efe632f6e7cc46c828a393eef959d44..1dce123aecd0baa4bbcf122b9a91c478d6e2ef53 100755 (executable)
@@ -46,14 +46,14 @@ H=$(doit 8 H $A $F)
 
 test_expect_success 'compute merge-base (single)' \
     'MB=$(git-merge-base G H) &&
-     expr "$(git-name-rev "$MB")" : "[0-9a-f]* B"'
+     expr "$(git-name-rev "$MB")" : "[0-9a-f]* tags/B"'
 
 test_expect_success 'compute merge-base (all)' \
     'MB=$(git-merge-base --all G H) &&
-     expr "$(git-name-rev "$MB")" : "[0-9a-f]* B"'
+     expr "$(git-name-rev "$MB")" : "[0-9a-f]* tags/B"'
 
 test_expect_success 'compute merge-base with show-branch' \
     'MB=$(git-show-branch --merge-base G H) &&
-     expr "$(git-name-rev "$MB")" : "[0-9a-f]* B"'
+     expr "$(git-name-rev "$MB")" : "[0-9a-f]* tags/B"'
 
 test_done
index be87b99808355b8ada23df4a04edf5078d87d06f..a84a04f91855f1953f33cfa7573b7656e7c116b9 100644 (file)
@@ -534,10 +534,17 @@ int main(int argc, const char **argv)
                struct strbuf buf;
                strbuf_init(&buf);
                while (1) {
+                       char *path_name;
                        read_line(&buf, stdin, line_termination);
                        if (buf.eof)
                                break;
-                       update_one(buf.buf, prefix, prefix_length);
+                       if (line_termination && buf.buf[0] == '"')
+                               path_name = unquote_c_style(buf.buf, NULL);
+                       else
+                               path_name = buf.buf;
+                       update_one(path_name, prefix, prefix_length);
+                       if (path_name != buf.buf)
+                               free(path_name);
                }
        }
        if (active_cache_changed) {