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

[PATCH 37/47] remote-hg: force remote bookmark push selectively

From
Felipe Contreras <felipe.contreras@gmail.com>
Date
May 14, 2013, 04:37 UTC
Message-ID
<1368506230-19614-38-git-send-email-felipe.contreras@gmail.com>
In-Reply-To
<1368506230-19614-1-git-send-email-felipe.contreras@gmail.com>

If we update the 'old' node, we might be updating the remote bookmark even when our 'new' node is not related at all to what the remote has, effectively forcing an update.

Let's do that only when forced push is configured.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
---
 contrib/remote-helpers/git-remote-hg | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/contrib/remote-helpers/git-remote-hg b/contrib/remote-helpers/git-remote-hg
index 14fadd1..0780679 100755
--- a/contrib/remote-helpers/git-remote-hg
+++ b/contrib/remote-helpers/git-remote-hg
@@ -906,7 +906,8 @@ def do_export(parser):
         # update remote bookmarks
         remote_bmarks = peer.listkeys('bookmarks')
         for ref, bmark, old, new in p_bmarks:
-            old = remote_bmarks.get(bmark, '')
+            if force_push:
+                old = remote_bmarks.get(bmark, '')
             if not peer.pushkey('bookmarks', bmark, old, new):
                 print "error %s" % ref
     else:
-- 
1.8.3.rc1.579.g184e698
Previous: Felipe ContrerasNext: Felipe Contreras
Message 40 of 50 in “remote-hg: fixes for next”
  1. 00/47 remote-hg: fixes for nextFelipe Contreras, May 14, 2013
  2. 01/47 remote-hg: trivial cleanupsFelipe Contreras, May 14, 2013
  3. 02/47 remote-hg: get rid of unused exception checksFelipe Contreras, May 14, 2013
  4. 03/47 remote-hg: enable track-branches in hg-git modeFelipe Contreras, May 14, 2013
  5. 04/47 remote-hg: add new get_config_bool() helperFelipe Contreras, May 14, 2013
  6. 05/47 remote-hg: fix new branch creationFelipe Contreras, May 14, 2013
  7. 06/47 remote-hg: disable forced push by defaultFelipe Contreras, May 14, 2013
  8. 07/47 remote-hg: don't push fake 'master' bookmarkFelipe Contreras, May 14, 2013
  9. 08/47 remote-hg: update bookmarks when pullingFelipe Contreras, May 14, 2013
  10. 09/47 remote-hg: test: be a little more quietFelipe Contreras, May 14, 2013
  11. 10/47 remote-hg: trivial reorganizationFelipe Contreras, May 14, 2013
  12. 11/47 remote-helpers: test: cleanup white-spacesFelipe Contreras, May 14, 2013
  13. 12/47 remote-helpers: test: cleanup styleFelipe Contreras, May 14, 2013
  14. 13/47 remote-helpers: tests: general improvementsFelipe Contreras, May 14, 2013
  15. 14/47 remote-helpers: test: simplify remote URLsFelipe Contreras, May 14, 2013
  16. 15/47 remote-hg: test: simplify previous branch checkoutFelipe Contreras, May 14, 2013
  17. 16/47 remote-hg: load all extensionsFelipe Contreras, May 14, 2013
  18. Eric SunshineMay 14, 2013
  19. 17/47 remote-hg: use a shared repository storeFelipe Contreras, May 14, 2013
  20. 18/47 remote-hg: shuffle some codeFelipe Contreras, May 14, 2013
  21. 19/47 remote-hg: improve node traversingFelipe Contreras, May 14, 2013
  22. 20/47 remote-hg: add version checks to the marksFelipe Contreras, May 14, 2013
  23. 21/47 remote-hg: switch from revisions to SHA-1 noteidsFelipe Contreras, May 14, 2013
  24. 22/47 remote-hg: upgrade version 1 marksFelipe Contreras, May 14, 2013
  25. 23/47 remote-hg: ensure remote rebasing worksFelipe Contreras, May 14, 2013
  26. 24/47 remote-hg: trivial cleanupsFelipe Contreras, May 14, 2013
  27. 25/47 remote-hg: improve progress calculationFelipe Contreras, May 14, 2013
  28. 26/47 remote-hg: always point HEAD to masterFelipe Contreras, May 14, 2013
  29. 27/47 remote-bzr: simplify test checksFelipe Contreras, May 14, 2013
  30. 28/47 remote-hg: add check_bookmark() test helperFelipe Contreras, May 14, 2013
  31. 29/47 remote-hg: add remote testsFelipe Contreras, May 14, 2013
  32. 30/47 remote-hg: add test to push new bookmarkFelipe Contreras, May 14, 2013
  33. 31/47 remote-hg: add test for diverged pushFelipe Contreras, May 14, 2013
  34. 32/47 remote-hg: add test for bookmark divergeFelipe Contreras, May 14, 2013
  35. 33/47 remote-hg: add test for new bookmark specialFelipe Contreras, May 14, 2013
  36. Eric SunshineMay 14, 2013
  37. 34/47 remote-hg: add test for big pushFelipe Contreras, May 14, 2013
  38. 35/47 remote-hg: add test for failed double pushFelipe Contreras, May 14, 2013
  39. 36/47 remote-hg: reorganize bookmark handlingFelipe Contreras, May 14, 2013
  40. 37/47 remote-hg: force remote bookmark push selectivelyFelipe Contreras, May 14, 2013
  41. 38/47 remote-hg: only update necessary revisionsFelipe Contreras, May 14, 2013
  42. 39/47 remote-hg: implement custom push()Felipe Contreras, May 14, 2013
  43. 40/47 remote-hg: implement custom checkheads()Felipe Contreras, May 14, 2013
  44. 41/47 remote-hg: pass around revision refsFelipe Contreras, May 14, 2013
  45. 42/47 remote-hg: check diverged bookmarksFelipe Contreras, May 14, 2013
  46. 43/47 remote-hg: simplify branch_tip()Felipe Contreras, May 14, 2013
  47. 44/47 remote-hg: improve branch listingFelipe Contreras, May 14, 2013
  48. 45/47 remote-hg: use remote 'default' not local oneFelipe Contreras, May 14, 2013
  49. 46/47 remote-hg: improve lightweight tag authorFelipe Contreras, May 14, 2013
  50. 47/47 remote-hg: remove files before modificationsFelipe Contreras, May 14, 2013

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.