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

[PATCH] builtin-remote: resurrect forced updates to tracked branches

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Apr 22, 2008, 13:26 UTC
Message-ID
<alpine.DEB.1.00.0804221425310.4460@eeepc-johanness>
In-Reply-To
<20080422130918.GB27878@sigill.intra.peff.net>

During the rewrite of git-remote as a builtin, the ability to force updating the tracked branches (i.e. forcing non-fast-forwards) was lost.

This patch fixes that.
Noticed by Mike Galbraith, analyzed by Jeff King.
Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
---
	On Tue, 22 Apr 2008, Jeff King wrote:
	> On Tue, Apr 22, 2008 at 02:03:43PM +0100, Johannes Schindelin wrote:
	> 
	> > Oh, that's right: only "git remote prune" will delete stale refs only.
	> > 
	> > But my other point about possibly interfering with local 
	> > branches still holds true.
	> 
	> In that case, I think that the '+' should come only without 
	> --mirror, and my complaint is then that "--mirror" is a horrible name 
	> for that option. Though when I saw it, I really expected it to do 
	> something about the _push_ line, since that is the only other place we 
	> have a --mirror option. It would make sense to me for it to set up 
	> remote.$x.mirror (which is newly added in next). But then, git-remote 
	> doesn't seem to be geared towards pushing at all.
	I still think that the --mirror option has merit, but I missed 
	that your patch did fix the behviour _without_ --mirror.
	This is my attempt.
 builtin-remote.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/builtin-remote.c b/builtin-remote.c
index d4f2132..117ff60 100644
--- a/builtin-remote.c
+++ b/builtin-remote.c
@@ -114,7 +114,7 @@ static int add(int argc, const char **argv)
 			strbuf_addf(&buf2, "refs/%s:refs/%s",
 					item->path, item->path);
 		else
-			strbuf_addf(&buf2, "refs/heads/%s:refs/remotes/%s/%s",
+			strbuf_addf(&buf2, "+refs/heads/%s:refs/remotes/%s/%s",
 					item->path, name, item->path);
 		if (git_config_set_multivar(buf.buf, buf2.buf, "^$", 0))
 			return 1;
Previous: Jeff KingNext: Junio C Hamano
Message 9 of 28 in “git remote update -> rejected”
  1. Mike GalbraithApr 22, 2008
  2. Jeff KingApr 22, 2008
  3. Mike GalbraithApr 22, 2008
  4. Jeff KingApr 22, 2008
  5. Johannes SchindelinApr 22, 2008
  6. Jeff KingApr 22, 2008
  7. Johannes SchindelinApr 22, 2008
  8. Jeff KingApr 22, 2008
  9. builtin-remote: resurrect forced updates to tracked branchesJohannes Schindelin, Apr 22, 2008
  10. Junio C HamanoApr 22, 2008
  11. Teemu LikonenApr 22, 2008
  12. Johannes SchindelinApr 22, 2008
  13. Jeff KingApr 22, 2008
  14. Johannes SchindelinApr 22, 2008
  15. Paolo BonziniApr 22, 2008
  16. Teemu LikonenApr 22, 2008
  17. Johannes SchindelinApr 22, 2008
  18. Teemu LikonenApr 22, 2008
  19. Paolo BonziniApr 22, 2008
  20. Johannes SchindelinApr 22, 2008
  21. Paolo BonziniApr 22, 2008
  22. Paolo BonziniApr 22, 2008
  23. Johannes SchindelinApr 22, 2008
  24. Junio C HamanoApr 22, 2008
  25. remote add: disallow --master and --mirror with non-bare repositoriesJohannes Schindelin, Apr 22, 2008
  26. Paolo BonziniApr 22, 2008
  27. Paolo BonziniApr 22, 2008
  28. Johannes SchindelinApr 22, 2008

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.