[PATCHv2 0/4] push.default and branch.<name>.{remote,merge} changes

14 messages, 3 authors, 2016-06-15 · open the first message on its own page

[PATCHv2 0/4] push.default and branch.<name>.{remote,merge} changes

From: Santi Béjar <hidden>
Date: 2016-06-15 22:46:31

Hi *,

  the four patches are conceptually independent, but they have textual
dependency.

  The 1st one can also be applied to 'maint'.

Changes from v1:
  rename "tracking branch" to "upstream branch"
  rename push.default to push.mode instead of push.style

Santi Béjar (4):
  Documentation: enhance branch.<name>.{remote,merge}
  Documentation: push.default applies to all remotes
  Documentation: branch.*.merge can also afect 'git-push'
  Rename push.default to push.mode

 Documentation/RelNotes-1.6.3.txt |    2 +-
 Documentation/config.txt         |   21 ++++++++++-----------
 builtin-push.c                   |   16 ++++++++--------
 cache.h                          |   14 +++++++-------
 config.c                         |   10 +++++-----
 environment.c                    |    2 +-
 6 files changed, 32 insertions(+), 33 deletions(-)

[PATCHv2 1/4] Documentation: enhance branch.<name>.{remote,merge}

From: Santi Béjar <hidden>
Date: 2016-06-15 22:46:31

The documentation for branch.*.merge is very dense, so add a simple
explanation on top of it.

And branch.*.remote also afects 'git push'. Text taken from
'push.default'.

Signed-off-by: Santi Béjar <redacted>
---
 Documentation/config.txt |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/Documentation/config.txt b/Documentation/config.txt
index 089569a..fa2595b 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -473,10 +473,14 @@ branch.autosetuprebase::
 	This option defaults to never.
 
 branch.<name>.remote::
-	When in branch <name>, it tells 'git-fetch' which remote to fetch.
-	If this option is not given, 'git-fetch' defaults to remote "origin".
+	When in branch <name>, it tells 'git-fetch' and 'git-push' which
+	remote to fetch/push, and defaults to `origin` if no remote is
+	configured. `origin` is also used if you are not on any branch.
 
 branch.<name>.merge::
+	It defines, together with branch.<name>.remote, the upstream branch
+	for the given branch. It tells 'git-fetch'/'git-pull' which
+	branch to merge.
 	When in branch <name>, it tells 'git-fetch' the default
 	refspec to be marked for merging in FETCH_HEAD. The value is
 	handled like the remote part of a refspec, and must match a
-- 
1.6.1.258.g7ff14

[PATCHv2 3/4] Documentation: branch.*.merge can also afect 'git-push'

From: Santi Béjar <hidden>
Date: 2016-06-15 22:46:31

Signed-off-by: Santi Béjar <redacted>
---
 Documentation/config.txt |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/Documentation/config.txt b/Documentation/config.txt
index 7ae584f..38ab785 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -480,7 +480,7 @@ branch.<name>.remote::
 branch.<name>.merge::
 	It defines, together with branch.<name>.remote, the upstream branch
 	for the given branch. It tells 'git-fetch'/'git-pull' which
-	branch to merge.
+	branch to merge and can also afect 'git-push' (see push.default).
 	When in branch <name>, it tells 'git-fetch' the default
 	refspec to be marked for merging in FETCH_HEAD. The value is
 	handled like the remote part of a refspec, and must match a
-- 
1.6.1.258.g7ff14

[PATCHv2 4/4] Rename push.default to push.mode

From: Santi Béjar <hidden>
Date: 2016-06-15 22:46:31

push.default was too generic, and also didn't specify if it was about
remote, refspec, branches, behaviour...

Signed-off-by: Santi Béjar <redacted>
---
 Documentation/RelNotes-1.6.3.txt |    2 +-
 Documentation/config.txt         |    4 ++--
 builtin-push.c                   |   16 ++++++++--------
 cache.h                          |   14 +++++++-------
 config.c                         |   10 +++++-----
 environment.c                    |    2 +-
 6 files changed, 24 insertions(+), 24 deletions(-)
diff --git a/Documentation/RelNotes-1.6.3.txt b/Documentation/RelNotes-1.6.3.txt
index f0a2e41..67b2b66 100644
--- a/Documentation/RelNotes-1.6.3.txt
+++ b/Documentation/RelNotes-1.6.3.txt
@@ -24,7 +24,7 @@ receive.denyDeleteCurrent in the receiving repository.
 
 When the user does not tell "git push" what to push, it has always
 pushed matching refs.  For some people it is unexpected, and a new
-configuration variable push.default has been introduced to allow
+configuration variable push.mode has been introduced to allow
 changing a different default behaviour.  To advertise the new feature,
 a big warning is issued if this is not configured and a git push without
 arguments is attempted.
diff --git a/Documentation/config.txt b/Documentation/config.txt
index 38ab785..80bb3a6 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -480,7 +480,7 @@ branch.<name>.remote::
 branch.<name>.merge::
 	It defines, together with branch.<name>.remote, the upstream branch
 	for the given branch. It tells 'git-fetch'/'git-pull' which
-	branch to merge and can also afect 'git-push' (see push.default).
+	branch to merge and can also afect 'git-push' (see push.mode).
 	When in branch <name>, it tells 'git-fetch' the default
 	refspec to be marked for merging in FETCH_HEAD. The value is
 	handled like the remote part of a refspec, and must match a
@@ -1215,7 +1215,7 @@ pull.octopus::
 pull.twohead::
 	The default merge strategy to use when pulling a single branch.
 
-push.default::
+push.mode::
 	Defines the action git push should take if no refspec is given
 	on the command line, no refspec is configured in the remote, and
 	no refspec is implied by any of the options given on the command
diff --git a/builtin-push.c b/builtin-push.c
index 2eabcd3..c2c4de1 100644
--- a/builtin-push.c
+++ b/builtin-push.c
@@ -72,7 +72,7 @@ static const char *warn_unconfigured_push_msg[] = {
 	"not necessarily be what you want to happen.",
 	"",
 	"You can specify what action you want to take in this case, and",
-	"avoid seeing this message again, by configuring 'push.default' to:",
+	"avoid seeing this message again, by configuring 'push.mode' to:",
 	"  'nothing'  : Do not push anything",
 	"  'matching' : Push all matching branches (default)",
 	"  'tracking' : Push the current branch to whatever it is tracking",
@@ -89,26 +89,26 @@ static void warn_unconfigured_push(void)
 static void setup_default_push_refspecs(void)
 {
 	git_config(git_default_config, NULL);
-	switch (push_default) {
-	case PUSH_DEFAULT_UNSPECIFIED:
+	switch (push_mode) {
+	case PUSH_MODE_UNSPECIFIED:
 		warn_unconfigured_push();
 		/* fallthrough */
 
-	case PUSH_DEFAULT_MATCHING:
+	case PUSH_MODE_MATCHING:
 		add_refspec(":");
 		break;
 
-	case PUSH_DEFAULT_TRACKING:
+	case PUSH_MODE_TRACKING:
 		setup_push_tracking();
 		break;
 
-	case PUSH_DEFAULT_CURRENT:
+	case PUSH_MODE_CURRENT:
 		add_refspec("HEAD");
 		break;
 
-	case PUSH_DEFAULT_NOTHING:
+	case PUSH_MODE_NOTHING:
 		die("You didn't specify any refspecs to push, and "
-		    "push.default is \"nothing\".");
+		    "push.mode is \"nothing\".");
 		break;
 	}
 }
diff --git a/cache.h b/cache.h
index 641529b..1625965 100644
--- a/cache.h
+++ b/cache.h
@@ -542,17 +542,17 @@ enum rebase_setup_type {
 	AUTOREBASE_ALWAYS,
 };
 
-enum push_default_type {
-	PUSH_DEFAULT_UNSPECIFIED = -1,
-	PUSH_DEFAULT_NOTHING = 0,
-	PUSH_DEFAULT_MATCHING,
-	PUSH_DEFAULT_TRACKING,
-	PUSH_DEFAULT_CURRENT,
+enum push_mode_type {
+	PUSH_MODE_UNSPECIFIED = -1,
+	PUSH_MODE_NOTHING = 0,
+	PUSH_MODE_MATCHING,
+	PUSH_MODE_TRACKING,
+	PUSH_MODE_CURRENT,
 };
 
 extern enum branch_track git_branch_track;
 extern enum rebase_setup_type autorebase;
-extern enum push_default_type push_default;
+extern enum push_mode_type push_mode;
 
 #define GIT_REPO_VERSION 0
 extern int repository_format_version;
diff --git a/config.c b/config.c
index b76fe4c..ba02cfb 100644
--- a/config.c
+++ b/config.c
@@ -567,17 +567,17 @@ static int git_default_branch_config(const char *var, const char *value)
 
 static int git_default_push_config(const char *var, const char *value)
 {
-	if (!strcmp(var, "push.default")) {
+	if (!strcmp(var, "push.mode")) {
 		if (!value)
 			return config_error_nonbool(var);
 		else if (!strcmp(value, "nothing"))
-			push_default = PUSH_DEFAULT_NOTHING;
+			push_mode = PUSH_MODE_NOTHING;
 		else if (!strcmp(value, "matching"))
-			push_default = PUSH_DEFAULT_MATCHING;
+			push_mode = PUSH_MODE_MATCHING;
 		else if (!strcmp(value, "tracking"))
-			push_default = PUSH_DEFAULT_TRACKING;
+			push_mode = PUSH_MODE_TRACKING;
 		else if (!strcmp(value, "current"))
-			push_default = PUSH_DEFAULT_CURRENT;
+			push_mode = PUSH_MODE_CURRENT;
 		else {
 			error("Malformed value for %s: %s", var, value);
 			return error("Must be one of nothing, matching, "
diff --git a/environment.c b/environment.c
index 4696885..c925ea4 100644
--- a/environment.c
+++ b/environment.c
@@ -42,7 +42,7 @@ enum safe_crlf safe_crlf = SAFE_CRLF_WARN;
 unsigned whitespace_rule_cfg = WS_DEFAULT_RULE;
 enum branch_track git_branch_track = BRANCH_TRACK_REMOTE;
 enum rebase_setup_type autorebase = AUTOREBASE_NEVER;
-enum push_default_type push_default = PUSH_DEFAULT_UNSPECIFIED;
+enum push_mode_type push_mode = PUSH_MODE_UNSPECIFIED;
 
 /* Parallel index stat data preload? */
 int core_preload_index = 0;
-- 
1.6.1.258.g7ff14

[PATCHv2 2/4] Documentation: push.default applies to all remotes

From: Santi Béjar <hidden>
Date: 2016-06-15 22:46:31

push.default is not only for the current remote but setting the default
behaviour for all remotes.

Signed-off-by: Santi Béjar <redacted>
---
 Documentation/config.txt |   11 +++--------
 1 files changed, 3 insertions(+), 8 deletions(-)
diff --git a/Documentation/config.txt b/Documentation/config.txt
index fa2595b..7ae584f 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -1219,19 +1219,14 @@ push.default::
 	Defines the action git push should take if no refspec is given
 	on the command line, no refspec is configured in the remote, and
 	no refspec is implied by any of the options given on the command
-	line.
-+
-The term `current remote` means the remote configured for the current
-branch, or `origin` if no remote is configured. `origin` is also used
-if you are not on any branch. Possible values are:
+	line. Possible values are:
 +
 * `nothing` do not push anything.
-* `matching` push all matching branches to the current remote.
+* `matching` push all matching branches.
   All branches having the same name in both ends are considered to be
   matching. This is the current default value.
 * `tracking` push the current branch to the branch it is tracking.
-* `current` push the current branch to a branch of the same name on the
-  current remote.
+* `current` push the current branch to a branch of the same name.
 
 rebase.stat::
 	Whether to show a diffstat of what changed upstream since the last
-- 
1.6.1.258.g7ff14

Re: [PATCHv2 3/4] Documentation: branch.*.merge can also afect 'git-push'

From: Michael J Gruber <hidden>
Date: 2016-06-15 22:46:31

Santi Béjar venit, vidit, dixit 30.03.2009 12:11:
quoted hunk
Signed-off-by: Santi Béjar <redacted>
---
 Documentation/config.txt |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/Documentation/config.txt b/Documentation/config.txt
index 7ae584f..38ab785 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -480,7 +480,7 @@ branch.<name>.remote::
 branch.<name>.merge::
 	It defines, together with branch.<name>.remote, the upstream branch
 	for the given branch. It tells 'git-fetch'/'git-pull' which
-	branch to merge.
+	branch to merge and can also afect 'git-push' (see push.default).
s/afect/affect/
 	When in branch <name>, it tells 'git-fetch' the default
 	refspec to be marked for merging in FETCH_HEAD. The value is
 	handled like the remote part of a refspec, and must match a

Re: [PATCHv2 4/4] Rename push.default to push.mode

From: Michael J Gruber <hidden>
Date: 2016-06-15 22:46:31

Santi Béjar venit, vidit, dixit 30.03.2009 12:11:
push.default was too generic, and also didn't specify if it was about
remote, refspec, branches, behaviour...
I guess we go for US spelling here, so it's "behavior" ;)
quoted hunk
Signed-off-by: Santi Béjar <redacted>
---
 Documentation/RelNotes-1.6.3.txt |    2 +-
 Documentation/config.txt         |    4 ++--
 builtin-push.c                   |   16 ++++++++--------
 cache.h                          |   14 +++++++-------
 config.c                         |   10 +++++-----
 environment.c                    |    2 +-
 6 files changed, 24 insertions(+), 24 deletions(-)
diff --git a/Documentation/RelNotes-1.6.3.txt b/Documentation/RelNotes-1.6.3.txt
index f0a2e41..67b2b66 100644
--- a/Documentation/RelNotes-1.6.3.txt
+++ b/Documentation/RelNotes-1.6.3.txt
@@ -24,7 +24,7 @@ receive.denyDeleteCurrent in the receiving repository.
 
 When the user does not tell "git push" what to push, it has always
 pushed matching refs.  For some people it is unexpected, and a new
-configuration variable push.default has been introduced to allow
+configuration variable push.mode has been introduced to allow
 changing a different default behaviour.  To advertise the new feature,
Maybe time to change it here, too.
quoted hunk
 a big warning is issued if this is not configured and a git push without
 arguments is attempted.
diff --git a/Documentation/config.txt b/Documentation/config.txt
index 38ab785..80bb3a6 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -480,7 +480,7 @@ branch.<name>.remote::
 branch.<name>.merge::
 	It defines, together with branch.<name>.remote, the upstream branch
 	for the given branch. It tells 'git-fetch'/'git-pull' which
-	branch to merge and can also afect 'git-push' (see push.default).
+	branch to merge and can also afect 'git-push' (see push.mode).
s/afect/affect/
quoted hunk
 	When in branch <name>, it tells 'git-fetch' the default
 	refspec to be marked for merging in FETCH_HEAD. The value is
 	handled like the remote part of a refspec, and must match a
@@ -1215,7 +1215,7 @@ pull.octopus::
 pull.twohead::
 	The default merge strategy to use when pulling a single branch.
 
-push.default::
+push.mode::
 	Defines the action git push should take if no refspec is given
 	on the command line, no refspec is configured in the remote, and
 	no refspec is implied by any of the options given on the command
diff --git a/builtin-push.c b/builtin-push.c
index 2eabcd3..c2c4de1 100644
--- a/builtin-push.c
+++ b/builtin-push.c
@@ -72,7 +72,7 @@ static const char *warn_unconfigured_push_msg[] = {
 	"not necessarily be what you want to happen.",
 	"",
 	"You can specify what action you want to take in this case, and",
-	"avoid seeing this message again, by configuring 'push.default' to:",
+	"avoid seeing this message again, by configuring 'push.mode' to:",
 	"  'nothing'  : Do not push anything",
 	"  'matching' : Push all matching branches (default)",
 	"  'tracking' : Push the current branch to whatever it is tracking",
@@ -89,26 +89,26 @@ static void warn_unconfigured_push(void)
 static void setup_default_push_refspecs(void)
 {
 	git_config(git_default_config, NULL);
-	switch (push_default) {
-	case PUSH_DEFAULT_UNSPECIFIED:
+	switch (push_mode) {
+	case PUSH_MODE_UNSPECIFIED:
 		warn_unconfigured_push();
 		/* fallthrough */
 
-	case PUSH_DEFAULT_MATCHING:
+	case PUSH_MODE_MATCHING:
 		add_refspec(":");
 		break;
 
-	case PUSH_DEFAULT_TRACKING:
+	case PUSH_MODE_TRACKING:
 		setup_push_tracking();
 		break;
 
-	case PUSH_DEFAULT_CURRENT:
+	case PUSH_MODE_CURRENT:
 		add_refspec("HEAD");
 		break;
 
-	case PUSH_DEFAULT_NOTHING:
+	case PUSH_MODE_NOTHING:
 		die("You didn't specify any refspecs to push, and "
-		    "push.default is \"nothing\".");
+		    "push.mode is \"nothing\".");
 		break;
 	}
 }
diff --git a/cache.h b/cache.h
index 641529b..1625965 100644
--- a/cache.h
+++ b/cache.h
@@ -542,17 +542,17 @@ enum rebase_setup_type {
 	AUTOREBASE_ALWAYS,
 };
 
-enum push_default_type {
-	PUSH_DEFAULT_UNSPECIFIED = -1,
-	PUSH_DEFAULT_NOTHING = 0,
-	PUSH_DEFAULT_MATCHING,
-	PUSH_DEFAULT_TRACKING,
-	PUSH_DEFAULT_CURRENT,
+enum push_mode_type {
+	PUSH_MODE_UNSPECIFIED = -1,
+	PUSH_MODE_NOTHING = 0,
+	PUSH_MODE_MATCHING,
+	PUSH_MODE_TRACKING,
+	PUSH_MODE_CURRENT,
 };
 
 extern enum branch_track git_branch_track;
 extern enum rebase_setup_type autorebase;
-extern enum push_default_type push_default;
+extern enum push_mode_type push_mode;
 
 #define GIT_REPO_VERSION 0
 extern int repository_format_version;
diff --git a/config.c b/config.c
index b76fe4c..ba02cfb 100644
--- a/config.c
+++ b/config.c
@@ -567,17 +567,17 @@ static int git_default_branch_config(const char *var, const char *value)
 
 static int git_default_push_config(const char *var, const char *value)
 {
-	if (!strcmp(var, "push.default")) {
+	if (!strcmp(var, "push.mode")) {
 		if (!value)
 			return config_error_nonbool(var);
 		else if (!strcmp(value, "nothing"))
-			push_default = PUSH_DEFAULT_NOTHING;
+			push_mode = PUSH_MODE_NOTHING;
 		else if (!strcmp(value, "matching"))
-			push_default = PUSH_DEFAULT_MATCHING;
+			push_mode = PUSH_MODE_MATCHING;
 		else if (!strcmp(value, "tracking"))
-			push_default = PUSH_DEFAULT_TRACKING;
+			push_mode = PUSH_MODE_TRACKING;
 		else if (!strcmp(value, "current"))
-			push_default = PUSH_DEFAULT_CURRENT;
+			push_mode = PUSH_MODE_CURRENT;
 		else {
 			error("Malformed value for %s: %s", var, value);
 			return error("Must be one of nothing, matching, "
diff --git a/environment.c b/environment.c
index 4696885..c925ea4 100644
--- a/environment.c
+++ b/environment.c
@@ -42,7 +42,7 @@ enum safe_crlf safe_crlf = SAFE_CRLF_WARN;
 unsigned whitespace_rule_cfg = WS_DEFAULT_RULE;
 enum branch_track git_branch_track = BRANCH_TRACK_REMOTE;
 enum rebase_setup_type autorebase = AUTOREBASE_NEVER;
-enum push_default_type push_default = PUSH_DEFAULT_UNSPECIFIED;
+enum push_mode_type push_mode = PUSH_MODE_UNSPECIFIED;
 
 /* Parallel index stat data preload? */
 int core_preload_index = 0;
Your patches contain quoted-printable characters all over the place. Are
they not sent with git send-email?

Michael

Re: [PATCHv2 4/4] Rename push.default to push.mode

From: Santi Béjar <hidden>
Date: 2016-06-15 22:46:31

2009/3/30 Michael J Gruber [off-list ref]:
Santi Béjar venit, vidit, dixit 30.03.2009 12:11:
quoted
push.default was too generic, and also didn't specify if it was about
remote, refspec, branches, behaviour...
I guess we go for US spelling here, so it's "behavior" ;)
Ok.
quoted
diff --git a/Documentation/config.txt b/Documentation/config.txt
index 38ab785..80bb3a6 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -480,7 +480,7 @@ branch.<name>.remote::
 branch.<name>.merge::
      It defines, together with branch.<name>.remote, the upstream branch
      for the given branch. It tells 'git-fetch'/'git-pull' which
-     branch to merge and can also afect 'git-push' (see push.default).
+     branch to merge and can also afect 'git-push' (see push.mode).
s/afect/affect/
OK
Your patches contain quoted-printable characters all over the place.
I don't see the quoted-printable characters, I see them in utf-8 and 8bit.

Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit

Maybe some server in between is recoding it.
Are
they not sent with git send-email?
They are send with git send-email and msmtp.

Santi

Re: [PATCHv2 4/4] Rename push.default to push.mode

From: Michael J Gruber <hidden>
Date: 2016-06-15 22:46:31

Santi Béjar venit, vidit, dixit 30.03.2009 14:37:
2009/3/30 Michael J Gruber [off-list ref]:
quoted
Santi Béjar venit, vidit, dixit 30.03.2009 12:11:
quoted
push.default was too generic, and also didn't specify if it was about
remote, refspec, branches, behaviour...
I guess we go for US spelling here, so it's "behavior" ;)
Ok.
quoted
quoted
diff --git a/Documentation/config.txt b/Documentation/config.txt
index 38ab785..80bb3a6 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -480,7 +480,7 @@ branch.<name>.remote::
 branch.<name>.merge::
      It defines, together with branch.<name>.remote, the upstream branch
      for the given branch. It tells 'git-fetch'/'git-pull' which
-     branch to merge and can also afect 'git-push' (see push.default).
+     branch to merge and can also afect 'git-push' (see push.mode).
s/afect/affect/
OK
quoted
Your patches contain quoted-printable characters all over the place.
I don't see the quoted-printable characters, I see them in utf-8 and 8bit.

Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit

Maybe some server in between is recoding it.
quoted
Are
they not sent with git send-email?
They are send with git send-email and msmtp.

Santi
That's weird. I read through gmane/nntp, but others' posts are fine.
Yours have

Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: QUOTED-PRINTABLE

But as long as Junio gets them unmangled I don't mind.

OK, I checked the raw mail at marc. It's fine. So I guess it's a gmane
thing (or tb)... Sorry I bothered you.

Michael

Re: [PATCHv2 4/4] Rename push.default to push.mode

From: Jeff King <hidden>
Date: 2016-06-15 22:46:31

On Mon, Mar 30, 2009 at 03:06:00PM +0200, Michael J Gruber wrote:
quoted
I don't see the quoted-printable characters, I see them in utf-8 and 8bit.

Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit

Maybe some server in between is recoding it.
That's weird. I read through gmane/nntp, but others' posts are fine.
Yours have

Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: QUOTED-PRINTABLE
If a subscriber's mailserver does not support the 8BITMIME SMTP
extension, then vger will (correctly) encode an 8bit message as QP.
Gmane's mailservers do not seem to support 8BITMIME.

You see it only with Santi's message because most messages are already
7bit clean; however, the accent in his name requires git to mark it as
8-bit.

-Peff

Re: [PATCHv2 4/4] Rename push.default to push.mode

From: Michael J Gruber <hidden>
Date: 2016-06-15 22:46:31

Jeff King venit, vidit, dixit 30.03.2009 15:45:
On Mon, Mar 30, 2009 at 03:06:00PM +0200, Michael J Gruber wrote:
quoted
quoted
I don't see the quoted-printable characters, I see them in utf-8 and 8bit.

Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit

Maybe some server in between is recoding it.
That's weird. I read through gmane/nntp, but others' posts are fine.
Yours have

Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: QUOTED-PRINTABLE
If a subscriber's mailserver does not support the 8BITMIME SMTP
extension, then vger will (correctly) encode an 8bit message as QP.
Gmane's mailservers do not seem to support 8BITMIME.

You see it only with Santi's message because most messages are already
7bit clean; however, the accent in his name requires git to mark it as
8-bit.
Thanks for the explanation! I rechecked, and for sure it also happened
with patches from Tor Arne Vestbø and Nguyễn Thái Ngọc Duy.
Again I feel blessed by my umlautlessness... and challenged by gmane.
About time to ditch it for reading patches also, or at least to be aware
of it when saving patches.

Michael

Re: [PATCHv2 4/4] Rename push.default to push.mode

From: Jeff King <hidden>
Date: 2016-06-15 22:46:31

On Mon, Mar 30, 2009 at 04:47:20PM +0200, Michael J Gruber wrote:
Thanks for the explanation! I rechecked, and for sure it also happened
with patches from Tor Arne Vestbø and Nguyễn Thái Ngọc Duy.
Again I feel blessed by my umlautlessness... and challenged by gmane.
About time to ditch it for reading patches also, or at least to be aware
of it when saving patches.
The message gmane passes out has the content-transfer-encoding set
properly. Your newsreader should properly un-QP it, or if it has an
option to save it directly (encoding and all), then "git am" will un-QP
it. If you were to "git apply" it directly, that would break, though
(and it is user error). If your newsreader saves the QP text without the
matching header, then that would also break (and your newsreader is
broken).

Just curious how you are seeing the breakage (because I want to make
sure there is no git bug).

-Peff

Re: [PATCHv2 4/4] Rename push.default to push.mode

From: Michael J Gruber <hidden>
Date: 2016-06-15 22:46:32

Jeff King venit, vidit, dixit 30.03.2009 20:02:
On Mon, Mar 30, 2009 at 04:47:20PM +0200, Michael J Gruber wrote:
quoted
Thanks for the explanation! I rechecked, and for sure it also happened
with patches from Tor Arne Vestbø and Nguyễn Thái Ngọc Duy.
Again I feel blessed by my umlautlessness... and challenged by gmane.
About time to ditch it for reading patches also, or at least to be aware
of it when saving patches.
The message gmane passes out has the content-transfer-encoding set
properly. Your newsreader should properly un-QP it, or if it has an
option to save it directly (encoding and all), then "git am" will un-QP
it. If you were to "git apply" it directly, that would break, though
(and it is user error). If your newsreader saves the QP text without the
matching header, then that would also break (and your newsreader is
broken).

Just curious how you are seeing the breakage (because I want to make
sure there is no git bug).

-Peff
I haven't seen any breakage. I just noticed a different font being used
for Santi's posts (due to different character encoding, with a different
font preset in TB) and looked at the message source, where I saw =20 and
such all over the place (message display is fine). When saving from TB
the QP is undone. It just made me feel uneasy because of our recent
discussion regarding format-flowed and patch submission. I know ff \ne
qp, but still I thought git-{send-email,apply} would prefer straight ascii.

Michael

Re: [PATCHv2 4/4] Rename push.default to push.mode

From: Jeff King <hidden>
Date: 2016-06-15 22:46:32

On Tue, Mar 31, 2009 at 02:55:12PM +0200, Michael J Gruber wrote:
I haven't seen any breakage. I just noticed a different font being used
for Santi's posts (due to different character encoding, with a different
font preset in TB) and looked at the message source, where I saw =20 and
such all over the place (message display is fine). When saving from TB
the QP is undone. It just made me feel uneasy because of our recent
discussion regarding format-flowed and patch submission. I know ff \ne
qp, but still I thought git-{send-email,apply} would prefer straight ascii.
Ah, OK. I think everything is working as expected, then. Thanks for the
clarification.

-Peff
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help