* [PATCH] Fetch: get the remote branches to merge from the branch properties.
@ 2006-09-22 23:41 Santi Béjar
2006-09-23 0:45 ` Junio C Hamano
2006-09-23 0:47 ` Santi
0 siblings, 2 replies; 4+ messages in thread
From: Santi Béjar @ 2006-09-22 23:41 UTC (permalink / raw)
To: git
If in branch "foo" and this in config:
[branch "foo"]
merge=bar
"git fetch": fetch from the default repository and program the "bar"
branch to be merged with pull.
Signed-off-by: Santi Béjar <sbejar@gmail.com>
---
Documentation/config.txt | 4 ++++
git-parse-remote.sh | 13 ++++++++++---
2 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/Documentation/config.txt b/Documentation/config.txt
index fa20e28..b4de243 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -122,6 +122,10 @@ apply.whitespace::
branch.<name>.remote::
When in branch <name>, it tells `git pull` which remote to fetch.
+branch.<name>.merge::
+ When in branch <name>, it tells `git fetch` the remote branch to be
+ merged.
+
pager.color::
A boolean to enable/disable colored output when the pager is in
use (default is true).
diff --git a/git-parse-remote.sh b/git-parse-remote.sh
index 187f088..0b14606 100755
--- a/git-parse-remote.sh
+++ b/git-parse-remote.sh
@@ -86,9 +86,12 @@ get_remote_default_refs_for_push () {
# Subroutine to canonicalize remote:local notation.
canon_refs_list_for_fetch () {
- # Leave only the first one alone; add prefix . to the rest
+ # Leave the branches in branch.${curr_branch}.merge alone,
+ # or the first one; add prefix . to the rest
# to prevent the secondary branches to be merged by default.
- dot_prefix=
+ curr_branch=$(git-symbolic-ref HEAD | sed -e 's|^refs/heads/||')
+ merge_branches=$(git-repo-config --get-all "branch.${curr_branch}.merge")
+ [ -z "$merge_branches" ] && merge_branches=$1
for ref
do
force=
@@ -101,6 +104,11 @@ canon_refs_list_for_fetch () {
expr "z$ref" : 'z.*:' >/dev/null || ref="${ref}:"
remote=$(expr "z$ref" : 'z\([^:]*\):')
local=$(expr "z$ref" : 'z[^:]*:\(.*\)')
+ dot_prefix=.
+ for merge_branch in $merge_branches
+ do
+ [ "$remote" = "$merge_branch" ] && dot_prefix= && break
+ done
case "$remote" in
'') remote=HEAD ;;
refs/heads/* | refs/tags/* | refs/remotes/*) ;;
@@ -120,7 +128,6 @@ canon_refs_list_for_fetch () {
die "* refusing to create funny ref '$local_ref_name' locally"
fi
echo "${dot_prefix}${force}${remote}:${local}"
- dot_prefix=.
done
}
--
1.4.2.1.g4b5cd
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] Fetch: get the remote branches to merge from the branch properties.
2006-09-22 23:41 [PATCH] Fetch: get the remote branches to merge from the branch properties Santi Béjar
@ 2006-09-23 0:45 ` Junio C Hamano
2006-09-23 0:53 ` Santi
2006-09-23 0:47 ` Santi
1 sibling, 1 reply; 4+ messages in thread
From: Junio C Hamano @ 2006-09-23 0:45 UTC (permalink / raw)
To: Santi; +Cc: git
> If in branch "foo" and this in config:
>
> [branch "foo"]
> merge=3Dbar
>
> "git fetch": fetch from the default repository and program the "bar"
> branch to be merged with pull.
>
Your patch has a very strange whitespace damage in it, and I am
not talking about quoted-printable encoding.
> diff --git a/Documentation/config.txt b/Documentation/config.txt
> index fa20e28..b4de243 100644
> --- a/Documentation/config.txt
> +++ b/Documentation/config.txt
> @@ -122,6 +122,10 @@ apply.whitespace::
> branch.<name>.remote::
> When in branch <name>, it tells `git pull` which remote to fetc=
> h.
>
A tab in context before "When" is expanded into spaces, and the
empty line in the context does not have the leading SP.
> +branch.<name>.merge::
> + When in branch <name>, it tells `git fetch` the remote branch t=
> o be
> + merged.
> +
I suspect you wanted to start the new line with a leading tab
before "When" but it is expanded into spaces here.
However, the diff for the other file in the same patch does not
have this problem.
No need to resend, as I hand-applied it to a new topic, but I am
a bit curious why one diff is broken when the other one is not
in the same e-mail message.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] Fetch: get the remote branches to merge from the branch properties.
2006-09-22 23:41 [PATCH] Fetch: get the remote branches to merge from the branch properties Santi Béjar
2006-09-23 0:45 ` Junio C Hamano
@ 2006-09-23 0:47 ` Santi
1 sibling, 0 replies; 4+ messages in thread
From: Santi @ 2006-09-23 0:47 UTC (permalink / raw)
To: git
2006/9/23, Santi Béjar <sbejar@gmail.com>:
> If in branch "foo" and this in config:
>
> [branch "foo"]
> merge=bar
>
> "git fetch": fetch from the default repository and program the "bar"
> branch to be merged with pull.
>
> Signed-off-by: Santi Béjar <sbejar@gmail.com>
Just to comments (it's late here):
.- the branch.foo.merge must be the same as specified in the remotes/$remote.
.- I've already found a bug (it's late and I need to sleep, sorry).
This must only be done for the default repository (origin, or in
branch.foo.remote).
Santi
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] Fetch: get the remote branches to merge from the branch properties.
2006-09-23 0:45 ` Junio C Hamano
@ 2006-09-23 0:53 ` Santi
0 siblings, 0 replies; 4+ messages in thread
From: Santi @ 2006-09-23 0:53 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git
> Your patch has a very strange whitespace damage in it, and I am
> not talking about quoted-printable encoding.
Last minute hand-editing, sorry. Did I already say it is very late here? :(
Santi
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2006-09-23 0:53 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-09-22 23:41 [PATCH] Fetch: get the remote branches to merge from the branch properties Santi Béjar
2006-09-23 0:45 ` Junio C Hamano
2006-09-23 0:53 ` Santi
2006-09-23 0:47 ` Santi
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).