git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 2/3] git-remote: add -b option to enable tracking remote branches

From
Paolo Bonzini <bonzini@gnu.org>
Date
Mar 5, 2007, 08:57 UTC
Message-ID
<esgm1q$33f$2@sea.gmane.org>

This commit adds an option to git-remote, providing a way to switch the default behavior of git-branch from --no-track to --track.

With `-b` option, local branches created off the remote repository will be set up to track the remote repository, so that `git pull` with no parameters does the right thing while you are on your local branch.

Signed-off-by: Paolo Bonzini  <bonzini@gnu.org>
---
 Documentation/git-remote.txt |    7 ++++++-
 git-remote.perl              |    9 ++++++++-
 2 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/Documentation/git-remote.txt b/Documentation/git-remote.txt
index a9fb6a9..516d890 100644
--- a/Documentation/git-remote.txt
+++ b/Documentation/git-remote.txt
@@ -10,7 +10,7 @@ SYNOPSIS
 --------
 [verse]
 'git-remote'
-'git-remote' add [-t <branch>] [-m <branch>] [-f] <name> <url>
+'git-remote' add [-t <branch>] [-m <branch>] [-f] [-b] <name> <url>
 'git-remote' show <name>
 'git-remote' prune <name>
 'git-remote' update [group]
@@ -45,6 +45,11 @@ multiple branche without grabbing all branches.
 With `-m <master>` option, `$GIT_DIR/remotes/<name>/HEAD` is set
 up to point at remote's `<master>` branch instead of whatever
 branch the `HEAD` at the remote repository actually points at.
++
+With `-b` option, local branches created off the remote repository
+will be set up to track the remote repository, so that `git pull`
+with no parameters does the right thing while you are on your local
+branch.
 
 'show'::
 
diff --git a/git-remote.perl b/git-remote.perl
index bd70bf1..0a736da 100755
--- a/git-remote.perl
+++ b/git-remote.perl
@@ -265,6 +265,9 @@ sub add_remote {
 		$git->command('config', '--add', "remote.$name.fetch",
 			      "+refs/heads/$_:refs/remotes/$name/$_");
 	}
+	if ($opts->{'track_branch'}) {
+		$git->command('config', "remote.$name.trackintolocalbranches", "true");
+	}
 	if ($opts->{'fetch'}) {
 		$git->command('fetch', $name);
 	}
@@ -300,7 +303,7 @@ sub update_remote {
 }
 
 sub add_usage {
-	print STDERR "Usage: git remote add [-f] [-t track]* [-m master] <name> <url>\n";
+	print STDERR "Usage: git remote add [-f] [-b] [-t track]* [-m master] <name> <url>\n";
 	exit(1);
 }
 
@@ -365,6 +368,10 @@ elsif ($ARGV[0] eq 'add') {
 			$opts{'fetch'} = 1;
 			next;
 		}
+		if ($opt eq '-b' || $opt eq '--track-into-branches') {
+			$opts{'track_branch'} = 1;
+			next;
+		}
 		if ($opt eq '-t' || $opt eq '--track') {
 			if (@ARGV < 1) {
 				add_usage();
-- 
1.4.4.2
Message 1 of 1 in “git-remote: add -b option to enable tracking remote branches”
  1. 2/3 git-remote: add -b option to enable tracking remote branchesPaolo Bonzini, Mar 5, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.