commit git for openSUSE:Factory
GET /smart/repo.git/info/refs?service=git-upload-pack HTTP/1.1 Accept: */* +> Accept-Encoding: gzip Pragma: no-cache < HTTP/1.1 200 OK < Pragma: no-cache < Cache-Control: no-cache, max-age=0, must-revalidate < Content-Type: application/x-git-upload-pack-advertisement POST /smart/repo.git/git-upload-pack HTTP/1.1 -> Accept-Encoding: deflate, gzip +> Accept-Encoding: gzip Content-Type: application/x-git-upload-pack-request Accept: application/x-git-upload-pack-result Content-Length: xxx diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-1.7.12.2/t/t5709-clone-refspec.sh new/git-1.7.12.3/t/t5709-clone-refspec.sh --- old/git-1.7.12.2/t/t5709-clone-refspec.sh 1970-01-01 01:00:00.000000000 +0100 +++ new/git-1.7.12.3/t/t5709-clone-refspec.sh 2012-10-08 21:20:19.000000000 +0200 @@ -0,0 +1,156 @@ +#!/bin/sh
Hello community,
here is the log from the commit of package git for openSUSE:Factory checked in at 2012-10-11 09:23:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/git (Old)
and /work/SRC/openSUSE:Factory/.git.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "git", Maintainer is "tiwai@suse.com"
Changes:
--------
--- /work/SRC/openSUSE:Factory/git/git.changes 2012-10-10 09:21:39.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.git.new/git.changes 2012-10-11 09:23:55.000000000 +0200
@@ -1,0 +2,34 @@
+Thu Oct 11 00:19:07 CST 2012 - douglarek@outlook.com
+
+- updated to version 1.7.12.3:
+
+ * "git am" mishandled a patch attached as application/octet-stream
+ (e.g. not text/*); Content-Transfer-Encoding (e.g. base64) was not
+ honored correctly.
+
+ * It was unclear in the documentation for "git blame" that it is
+ unnecessary for users to use the "--follow" option.
+
+ * A repository created with "git clone --single" had its fetch
+ refspecs set up just like a clone without "--single", leading the
+ subsequent "git fetch" to slurp all the other branches, defeating
+ the whole point of specifying "only this branch".
+
+ * "git fetch" over http had an old workaround for an unlikely server
+ misconfiguration; it turns out that this hurts debuggability of the
+ configuration in general, and has been reverted.
+
+ * "git fetch" over http advertised that it supports "deflate", which
+ is much less common, and did not advertise the more common "gzip" on
+ its Accept-Encoding header.
+
+ * "git receive-pack" (the counterpart to "git push") did not give
+ progress output while processing objects it received to the puser
+ when run over the smart-http protocol.
+
+ * "git status" honored the ignore=dirty settings in .gitmodules but
+ "git commit" didn't.
+
+ Also contains a handful of documentation updates.
+
+-------------------------------------------------------------------
Old:
----
git-1.7.12.2.tar.gz
New:
----
git-1.7.12.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ git.spec ++++++
--- /var/tmp/diff_new_pack.B8gzqj/_old 2012-10-11 09:23:58.000000000 +0200
+++ /var/tmp/diff_new_pack.B8gzqj/_new 2012-10-11 09:23:58.000000000 +0200
@@ -30,7 +30,7 @@
BuildRequires: python
BuildRequires: sgml-skel
BuildRequires: xmlto
-Version: 1.7.12.2
+Version: 1.7.12.3
Release: 0
Summary: Fast, scalable, distributed revision control system
License: GPL-2.0
++++++ git-1.7.12.2.tar.gz -> git-1.7.12.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-1.7.12.2/Documentation/RelNotes/1.7.12.3.txt new/git-1.7.12.3/Documentation/RelNotes/1.7.12.3.txt
--- old/git-1.7.12.2/Documentation/RelNotes/1.7.12.3.txt 1970-01-01 01:00:00.000000000 +0100
+++ new/git-1.7.12.3/Documentation/RelNotes/1.7.12.3.txt 2012-10-08 21:20:19.000000000 +0200
@@ -0,0 +1,34 @@
+Git 1.7.12.3 Release Notes
+==========================
+
+Fixes since v1.7.12.2
+---------------------
+
+ * "git am" mishandled a patch attached as application/octet-stream
+ (e.g. not text/*); Content-Transfer-Encoding (e.g. base64) was not
+ honored correctly.
+
+ * It was unclear in the documentation for "git blame" that it is
+ unnecessary for users to use the "--follow" option.
+
+ * A repository created with "git clone --single" had its fetch
+ refspecs set up just like a clone without "--single", leading the
+ subsequent "git fetch" to slurp all the other branches, defeating
+ the whole point of specifying "only this branch".
+
+ * "git fetch" over http had an old workaround for an unlikely server
+ misconfiguration; it turns out that this hurts debuggability of the
+ configuration in general, and has been reverted.
+
+ * "git fetch" over http advertised that it supports "deflate", which
+ is much less common, and did not advertise the more common "gzip" on
+ its Accept-Encoding header.
+
+ * "git receive-pack" (the counterpart to "git push") did not give
+ progress output while processing objects it received to the puser
+ when run over the smart-http protocol.
+
+ * "git status" honored the ignore=dirty settings in .gitmodules but
+ "git commit" didn't.
+
+Also contains a handful of documentation updates.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-1.7.12.2/Documentation/git-blame.txt new/git-1.7.12.3/Documentation/git-blame.txt
--- old/git-1.7.12.2/Documentation/git-blame.txt 2012-09-30 10:03:21.000000000 +0200
+++ new/git-1.7.12.3/Documentation/git-blame.txt 2012-10-08 21:20:19.000000000 +0200
@@ -20,6 +20,12 @@
The command can also limit the range of lines annotated.
+The origin of lines is automatically followed across whole-file
+renames (currently there is no option to turn the rename-following
+off). To follow lines moved from one file to another, or to follow
+lines that were copied and pasted from another file, etc., see the
+`-C` and `-M` options.
+
The report does not tell you anything about lines which have been deleted or
replaced; you need to use a tool such as 'git diff' or the "pickaxe"
interface briefly mentioned in the following paragraph.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-1.7.12.2/Documentation/git-clone.txt new/git-1.7.12.3/Documentation/git-clone.txt
--- old/git-1.7.12.2/Documentation/git-clone.txt 2012-09-30 10:03:21.000000000 +0200
+++ new/git-1.7.12.3/Documentation/git-clone.txt 2012-10-08 21:20:19.000000000 +0200
@@ -29,7 +29,8 @@
After the clone, a plain `git fetch` without arguments will update
all the remote-tracking branches, and a `git pull` without
arguments will in addition merge the remote master branch into the
-current master branch, if any.
+current master branch, if any (this is untrue when "--single-branch"
+is given; see below).
This default configuration is achieved by creating references to
the remote branch heads under `refs/remotes/origin` and
@@ -152,9 +153,10 @@
-b <name>::
Instead of pointing the newly created HEAD to the branch pointed
to by the cloned repository's HEAD, point to `<name>` branch
- instead. `--branch` can also take tags and treat them like
- detached HEAD. In a non-bare repository, this is the branch
- that will be checked out.
+ instead. In a non-bare repository, this is the branch that will
+ be checked out.
+ `--branch` can also take tags and detaches the HEAD at that commit
+ in the resulting repository.
--upload-pack <upload-pack>::
-u <upload-pack>::
@@ -193,6 +195,11 @@
clone with the `--depth` option, this is the default, unless
`--no-single-branch` is given to fetch the histories near the
tips of all branches.
+ Further fetches into the resulting repository will only update the
+ remote tracking branch for the branch this option was used for the
+ initial cloning. If the HEAD at the remote did not point at any
+ branch when `--single-branch` clone was made, no remote tracking
+ branch is created.
--recursive::
--recurse-submodules::
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-1.7.12.2/Documentation/git-submodule.txt new/git-1.7.12.3/Documentation/git-submodule.txt
--- old/git-1.7.12.2/Documentation/git-submodule.txt 2012-09-30 10:03:21.000000000 +0200
+++ new/git-1.7.12.3/Documentation/git-submodule.txt 2012-10-08 21:20:19.000000000 +0200
@@ -112,7 +112,6 @@
initialized, `+` if the currently checked out submodule commit
does not match the SHA-1 found in the index of the containing
repository and `U` if the submodule has merge conflicts.
- This command is the default command for 'git submodule'.
+
If `--recursive` is specified, this command will recurse into nested
submodules, and show their status as well.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-1.7.12.2/Documentation/git.txt new/git-1.7.12.3/Documentation/git.txt
--- old/git-1.7.12.2/Documentation/git.txt 2012-09-30 10:03:21.000000000 +0200
+++ new/git-1.7.12.3/Documentation/git.txt 2012-10-08 21:20:19.000000000 +0200
@@ -43,9 +43,10 @@
branch of the `git.git` repository.
Documentation for older releases are available here:
-* link:v1.7.12.2/git.html[documentation for release 1.7.12.2]
+* link:v1.7.12.3/git.html[documentation for release 1.7.12.3]
* release notes for
+ link:RelNotes/1.7.12.3.txt[1.7.12.3],
link:RelNotes/1.7.12.2.txt[1.7.12.2],
link:RelNotes/1.7.12.1.txt[1.7.12.1],
link:RelNotes/1.7.12.txt[1.7.12].
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-1.7.12.2/GIT-VERSION-GEN new/git-1.7.12.3/GIT-VERSION-GEN
--- old/git-1.7.12.2/GIT-VERSION-GEN 2012-09-30 10:03:21.000000000 +0200
+++ new/git-1.7.12.3/GIT-VERSION-GEN 2012-10-08 21:20:19.000000000 +0200
@@ -1,7 +1,7 @@
#!/bin/sh
GVF=GIT-VERSION-FILE
-DEF_VER=v1.7.12.2
+DEF_VER=v1.7.12.3
LF='
'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-1.7.12.2/RelNotes new/git-1.7.12.3/RelNotes
--- old/git-1.7.12.2/RelNotes 2012-10-11 09:23:58.000000000 +0200
+++ new/git-1.7.12.3/RelNotes 2012-10-11 09:23:58.000000000 +0200
@@ -1 +1 @@
-symbolic link to Documentation/RelNotes/1.7.12.2.txt
+symbolic link to Documentation/RelNotes/1.7.12.3.txt
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-1.7.12.2/builtin/clone.c new/git-1.7.12.3/builtin/clone.c
--- old/git-1.7.12.2/builtin/clone.c 2012-09-30 10:03:21.000000000 +0200
+++ new/git-1.7.12.3/builtin/clone.c 2012-10-08 21:20:19.000000000 +0200
@@ -610,6 +610,54 @@
}
}
+static void write_refspec_config(const char* src_ref_prefix,
+ const struct ref* our_head_points_at,
+ const struct ref* remote_head_points_at, struct strbuf* branch_top)
+{
+ struct strbuf key = STRBUF_INIT;
+ struct strbuf value = STRBUF_INIT;
+
+ if (option_mirror || !option_bare) {
+ if (option_single_branch && !option_mirror) {
+ if (option_branch) {
+ if (strstr(our_head_points_at->name, "refs/tags/"))
+ strbuf_addf(&value, "+%s:%s", our_head_points_at->name,
+ our_head_points_at->name);
+ else
+ strbuf_addf(&value, "+%s:%s%s", our_head_points_at->name,
+ branch_top->buf, option_branch);
+ } else if (remote_head_points_at) {
+ strbuf_addf(&value, "+%s:%s%s", remote_head_points_at->name,
+ branch_top->buf,
+ skip_prefix(remote_head_points_at->name, "refs/heads/"));
+ }
+ /*
+ * otherwise, the next "git fetch" will
+ * simply fetch from HEAD without updating
+ * any remote tracking branch, which is what
+ * we want.
+ */
+ } else {
+ strbuf_addf(&value, "+%s*:%s*", src_ref_prefix, branch_top->buf);
+ }
+ /* Configure the remote */
+ if (value.len) {
+ strbuf_addf(&key, "remote.%s.fetch", option_origin);
+ git_config_set_multivar(key.buf, value.buf, "^$", 0);
+ strbuf_reset(&key);
+
+ if (option_mirror) {
+ strbuf_addf(&key, "remote.%s.mirror", option_origin);
+ git_config_set(key.buf, "true");
+ strbuf_reset(&key);
+ }
+ }
+ }
+
+ strbuf_release(&key);
+ strbuf_release(&value);
+}
+
int cmd_clone(int argc, const char **argv, const char *prefix)
{
int is_bundle = 0, is_local;
@@ -755,20 +803,6 @@
}
strbuf_addf(&value, "+%s*:%s*", src_ref_prefix, branch_top.buf);
-
- if (option_mirror || !option_bare) {
- /* Configure the remote */
- strbuf_addf(&key, "remote.%s.fetch", option_origin);
- git_config_set_multivar(key.buf, value.buf, "^$", 0);
- strbuf_reset(&key);
-
- if (option_mirror) {
- strbuf_addf(&key, "remote.%s.mirror", option_origin);
- git_config_set(key.buf, "true");
- strbuf_reset(&key);
- }
- }
-
strbuf_addf(&key, "remote.%s.url", option_origin);
git_config_set(key.buf, repo);
strbuf_reset(&key);
@@ -853,6 +887,9 @@
"refs/heads/master");
}
+ write_refspec_config(src_ref_prefix, our_head_points_at,
+ remote_head_points_at, &branch_top);
+
if (is_local)
clone_local(path, git_dir);
else if (refs && complete_refs_before_fetch)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-1.7.12.2/builtin/commit.c new/git-1.7.12.3/builtin/commit.c
--- old/git-1.7.12.2/builtin/commit.c 2012-09-30 10:03:21.000000000 +0200
+++ new/git-1.7.12.3/builtin/commit.c 2012-10-08 21:20:19.000000000 +0200
@@ -1452,6 +1452,7 @@
usage_with_options(builtin_commit_usage, builtin_commit_options);
wt_status_prepare(&s);
+ gitmodules_config();
git_config(git_commit_config, &s);
determine_whence(&s);
s.colopts = 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-1.7.12.2/builtin/mailinfo.c new/git-1.7.12.3/builtin/mailinfo.c
--- old/git-1.7.12.2/builtin/mailinfo.c 2012-09-30 10:03:21.000000000 +0200
+++ new/git-1.7.12.3/builtin/mailinfo.c 2012-10-08 21:20:19.000000000 +0200
@@ -19,9 +19,6 @@
static enum {
TE_DONTCARE, TE_QP, TE_BASE64
} transfer_encoding;
-static enum {
- TYPE_TEXT, TYPE_OTHER
-} message_type;
static struct strbuf charset = STRBUF_INIT;
static int patch_lines;
@@ -184,8 +181,6 @@
struct strbuf *boundary = xmalloc(sizeof(struct strbuf));
strbuf_init(boundary, line->len);
- if (!strcasestr(line->buf, "text/"))
- message_type = TYPE_OTHER;
if (slurp_attr(line->buf, "boundary=", boundary)) {
strbuf_insert(boundary, 0, "--", 2);
if (++content_top > &content[MAX_BOUNDARIES]) {
@@ -681,7 +676,6 @@
/* set some defaults */
transfer_encoding = TE_DONTCARE;
strbuf_reset(&charset);
- message_type = TYPE_TEXT;
/* slurp in this section's info */
while (read_one_header_line(&line, fin))
@@ -895,11 +889,6 @@
strbuf_insert(&line, 0, prev.buf, prev.len);
strbuf_reset(&prev);
- /* binary data most likely doesn't have newlines */
- if (message_type != TYPE_TEXT) {
- handle_filter(&line);
- break;
- }
/*
* This is a decoded line that may contain
* multiple new lines. Pass only one chunk
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-1.7.12.2/builtin/receive-pack.c new/git-1.7.12.3/builtin/receive-pack.c
--- old/git-1.7.12.2/builtin/receive-pack.c 2012-09-30 10:03:21.000000000 +0200
+++ new/git-1.7.12.3/builtin/receive-pack.c 2012-10-08 21:20:19.000000000 +0200
@@ -701,7 +701,7 @@
if (unpacker_error) {
for (cmd = commands; cmd; cmd = cmd->next)
- cmd->error_string = "n/a (unpacker error)";
+ cmd->error_string = "unpacker error";
return;
}
@@ -801,7 +801,7 @@
static const char *pack_lockfile;
-static const char *unpack(void)
+static const char *unpack(int err_fd)
{
struct pack_header hdr;
const char *hdr_err;
@@ -821,6 +821,7 @@
if (ntohl(hdr.hdr_entries) < unpack_limit) {
int code, i = 0;
+ struct child_process child;
const char *unpacker[5];
unpacker[i++] = "unpack-objects";
if (quiet)
@@ -829,7 +830,12 @@
unpacker[i++] = "--strict";
unpacker[i++] = hdr_arg;
unpacker[i++] = NULL;
- code = run_command_v_opt(unpacker, RUN_GIT_CMD);
+ memset(&child, 0, sizeof(child));
+ child.argv = unpacker;
+ child.no_stdout = 1;
+ child.err = err_fd;
+ child.git_cmd = 1;
+ code = run_command(&child);
if (!code)
return NULL;
return "unpack-objects abnormal exit";
@@ -854,6 +860,7 @@
memset(&ip, 0, sizeof(ip));
ip.argv = keeper;
ip.out = -1;
+ ip.err = err_fd;
ip.git_cmd = 1;
status = start_command(&ip);
if (status) {
@@ -870,6 +877,26 @@
}
}
+static const char *unpack_with_sideband(void)
+{
+ struct async muxer;
+ const char *ret;
+
+ if (!use_sideband)
+ return unpack(0);
+
+ memset(&muxer, 0, sizeof(muxer));
+ muxer.proc = copy_to_sideband;
+ muxer.in = -1;
+ if (start_async(&muxer))
+ return NULL;
+
+ ret = unpack(muxer.in);
+
+ finish_async(&muxer);
+ return ret;
+}
+
static void report(struct command *commands, const char *unpack_status)
{
struct command *cmd;
@@ -967,7 +994,7 @@
const char *unpack_status = NULL;
if (!delete_only(commands))
- unpack_status = unpack();
+ unpack_status = unpack_with_sideband();
execute_commands(commands, unpack_status);
if (pack_lockfile)
unlink_or_warn(pack_lockfile);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/git-1.7.12.2/configure new/git-1.7.12.3/configure
--- old/git-1.7.12.2/configure 2012-09-30 10:03:22.000000000 +0200
+++ new/git-1.7.12.3/configure 2012-10-08 21:20:19.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.67 for git 1.7.12.2.
+# Generated by GNU Autoconf 2.67 for git 1.7.12.3.
#
# Report bugs to
participants (1)
-
root@hilbert.suse.de