{"thread":{"id":"33813","subject":"[PATCH v3 00/10] remote-hg: fixes and cleanups","startedAt":"2013-05-13T23:11:50Z","lastAt":"2013-05-15T19:45:30Z","messageCount":41,"participants":["Felipe Contreras","Junio C Hamano"],"isPatch":true,"patchVersion":3,"patchTotal":10},"messages":[{"id":"217246","messageId":"1368486720-2716-1-git-send-email-felipe.contreras@gmail.com","threadId":"33813","inReplyTo":null,"subject":"[PATCH v3 00/10] remote-hg: fixes and cleanups","fromName":"Felipe Contreras","fromEmail":"felipe.contreras@gmail.com","sentAt":"2013-05-13T23:11:50Z","receivedAt":"2013-05-13T23:11:50Z","isPatch":true,"sender":{"key":"felipe.contreras@gmail.com","avatar":"https://avatars.githubusercontent.com/u/8358?v=4"},"body":"Hi,\n\nSince the last series is not merged to master yet, I decided to add more cleanups.\n\nFelipe Contreras (10):\n  remote-hg: trivial cleanups\n  remote-hg: get rid of unused exception checks\n  remote-hg: enable track-branches in hg-git mode\n  remote-hg: add new get_config_bool() helper\n  remote-hg: fix new branch creation\n  remote-hg: disable forced push by default\n  remote-hg: don't push fake 'master' bookmark\n  remote-hg: update bookmarks when pulling\n  remote-hg: test: be a little more quiet\n  remote-hg: trivial reorganization\n\n contrib/remote-helpers/git-remote-hg     | 47 ++++++++++++++++----------------\n contrib/remote-helpers/test-hg-hg-git.sh |  3 +-\n contrib/remote-helpers/test-hg.sh        |  4 +--\n 3 files changed, 26 insertions(+), 28 deletions(-)\n\n-- \n1.8.3.rc1.579.g184e698\n"},{"id":"217247","messageId":"1368486720-2716-2-git-send-email-felipe.contreras@gmail.com","threadId":"33813","inReplyTo":"1368486720-2716-1-git-send-email-felipe.contreras@gmail.com","subject":"[PATCH v3 01/10] remote-hg: trivial cleanups","fromName":"Felipe Contreras","fromEmail":"felipe.contreras@gmail.com","sentAt":"2013-05-13T23:11:51Z","receivedAt":"2013-05-13T23:11:51Z","isPatch":true,"sender":{"key":"felipe.contreras@gmail.com","avatar":"https://avatars.githubusercontent.com/u/8358?v=4"},"body":"Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>\n---\n contrib/remote-helpers/git-remote-hg     | 2 +-\n contrib/remote-helpers/test-hg-hg-git.sh | 2 --\n 2 files changed, 1 insertion(+), 3 deletions(-)\n\ndiff --git a/contrib/remote-helpers/git-remote-hg b/contrib/remote-helpers/git-remote-hg\nindex 96ad30d..d33c7ba 100755\n--- a/contrib/remote-helpers/git-remote-hg\n+++ b/contrib/remote-helpers/git-remote-hg\n@@ -538,7 +538,7 @@ def list_head(repo, cur):\n     g_head = (head, node)\n \n def do_list(parser):\n-    global branches, bmarks, mode, track_branches\n+    global branches, bmarks, track_branches\n \n     repo = parser.repo\n     for bmark, node in bookmarks.listbookmarks(repo).iteritems():\ndiff --git a/contrib/remote-helpers/test-hg-hg-git.sh b/contrib/remote-helpers/test-hg-hg-git.sh\nindex 8440341..0c36573 100755\n--- a/contrib/remote-helpers/test-hg-hg-git.sh\n+++ b/contrib/remote-helpers/test-hg-hg-git.sh\n@@ -455,8 +455,6 @@ test_expect_success 'hg author' '\n \t\tgit_log gitrepo-$x > git-log-$x\n \tdone &&\n \n-\ttest_cmp git-log-hg git-log-git &&\n-\n \ttest_cmp hg-log-hg hg-log-git &&\n \ttest_cmp git-log-hg git-log-git\n '\n-- \n1.8.3.rc1.579.g184e698\n"},{"id":"217248","messageId":"1368486720-2716-3-git-send-email-felipe.contreras@gmail.com","threadId":"33813","inReplyTo":"1368486720-2716-1-git-send-email-felipe.contreras@gmail.com","subject":"[PATCH v3 02/10] remote-hg: get rid of unused exception checks","fromName":"Felipe Contreras","fromEmail":"felipe.contreras@gmail.com","sentAt":"2013-05-13T23:11:52Z","receivedAt":"2013-05-13T23:11:52Z","isPatch":true,"sender":{"key":"felipe.contreras@gmail.com","avatar":"https://avatars.githubusercontent.com/u/8358?v=4"},"body":"We are not calling check_output() anymore.\n\nSigned-off-by: Felipe Contreras <felipe.contreras@gmail.com>\n---\n contrib/remote-helpers/git-remote-hg | 24 +++++++++---------------\n 1 file changed, 9 insertions(+), 15 deletions(-)\n\ndiff --git a/contrib/remote-helpers/git-remote-hg b/contrib/remote-helpers/git-remote-hg\nindex d33c7ba..9d6940b 100755\n--- a/contrib/remote-helpers/git-remote-hg\n+++ b/contrib/remote-helpers/git-remote-hg\n@@ -327,11 +327,8 @@ def get_repo(url, alias):\n     myui.setconfig('ui', 'interactive', 'off')\n     myui.fout = sys.stderr\n \n-    try:\n-        if get_config('remote-hg.insecure') == 'true\\n':\n-            myui.setconfig('web', 'cacerts', '')\n-    except subprocess.CalledProcessError:\n-        pass\n+    if get_config('remote-hg.insecure') == 'true\\n':\n+        myui.setconfig('web', 'cacerts', '')\n \n     try:\n         mod = extensions.load(myui, 'hgext.schemes', None)\n@@ -910,16 +907,13 @@ def main(args):\n     track_branches = True\n     force_push = True\n \n-    try:\n-        if get_config('remote-hg.hg-git-compat') == 'true\\n':\n-            hg_git_compat = True\n-            track_branches = False\n-        if get_config('remote-hg.track-branches') == 'false\\n':\n-            track_branches = False\n-        if get_config('remote-hg.force-push') == 'false\\n':\n-            force_push = False\n-    except subprocess.CalledProcessError:\n-        pass\n+    if get_config('remote-hg.hg-git-compat') == 'true\\n':\n+        hg_git_compat = True\n+        track_branches = False\n+    if get_config('remote-hg.track-branches') == 'false\\n':\n+        track_branches = False\n+    if get_config('remote-hg.force-push') == 'false\\n':\n+        force_push = False\n \n     if hg_git_compat:\n         mode = 'hg'\n-- \n1.8.3.rc1.579.g184e698\n"},{"id":"217249","messageId":"1368486720-2716-4-git-send-email-felipe.contreras@gmail.com","threadId":"33813","inReplyTo":"1368486720-2716-1-git-send-email-felipe.contreras@gmail.com","subject":"[PATCH v3 03/10] remote-hg: enable track-branches in hg-git mode","fromName":"Felipe Contreras","fromEmail":"felipe.contreras@gmail.com","sentAt":"2013-05-13T23:11:53Z","receivedAt":"2013-05-13T23:11:53Z","isPatch":true,"sender":{"key":"felipe.contreras@gmail.com","avatar":"https://avatars.githubusercontent.com/u/8358?v=4"},"body":"The user can turn this off.\n\nSigned-off-by: Felipe Contreras <felipe.contreras@gmail.com>\n---\n contrib/remote-helpers/git-remote-hg     | 1 -\n contrib/remote-helpers/test-hg-hg-git.sh | 1 +\n 2 files changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/contrib/remote-helpers/git-remote-hg b/contrib/remote-helpers/git-remote-hg\nindex 9d6940b..de3a96e 100755\n--- a/contrib/remote-helpers/git-remote-hg\n+++ b/contrib/remote-helpers/git-remote-hg\n@@ -909,7 +909,6 @@ def main(args):\n \n     if get_config('remote-hg.hg-git-compat') == 'true\\n':\n         hg_git_compat = True\n-        track_branches = False\n     if get_config('remote-hg.track-branches') == 'false\\n':\n         track_branches = False\n     if get_config('remote-hg.force-push') == 'false\\n':\ndiff --git a/contrib/remote-helpers/test-hg-hg-git.sh b/contrib/remote-helpers/test-hg-hg-git.sh\nindex 0c36573..7f579c8 100755\n--- a/contrib/remote-helpers/test-hg-hg-git.sh\n+++ b/contrib/remote-helpers/test-hg-hg-git.sh\n@@ -102,6 +102,7 @@ setup () {\n \t) >> \"$HOME\"/.hgrc &&\n \tgit config --global receive.denycurrentbranch warn\n \tgit config --global remote-hg.hg-git-compat true\n+\tgit config --global remote-hg.track-branches false\n \n \tHGEDITOR=/usr/bin/true\n \n-- \n1.8.3.rc1.579.g184e698\n"},{"id":"217250","messageId":"1368486720-2716-5-git-send-email-felipe.contreras@gmail.com","threadId":"33813","inReplyTo":"1368486720-2716-1-git-send-email-felipe.contreras@gmail.com","subject":"[PATCH v3 04/10] remote-hg: add new get_config_bool() helper","fromName":"Felipe Contreras","fromEmail":"felipe.contreras@gmail.com","sentAt":"2013-05-13T23:11:54Z","receivedAt":"2013-05-13T23:11:54Z","isPatch":true,"sender":{"key":"felipe.contreras@gmail.com","avatar":"https://avatars.githubusercontent.com/u/8358?v=4"},"body":"No functional changes.\n\nSigned-off-by: Felipe Contreras <felipe.contreras@gmail.com>\n---\n contrib/remote-helpers/git-remote-hg | 24 +++++++++++++-----------\n 1 file changed, 13 insertions(+), 11 deletions(-)\n\ndiff --git a/contrib/remote-helpers/git-remote-hg b/contrib/remote-helpers/git-remote-hg\nindex de3a96e..4a5c72f 100755\n--- a/contrib/remote-helpers/git-remote-hg\n+++ b/contrib/remote-helpers/git-remote-hg\n@@ -87,6 +87,15 @@ def get_config(config):\n     output, _ = process.communicate()\n     return output\n \n+def get_config_bool(config, default=False):\n+    value = get_config(config).rstrip('\\n')\n+    if value == \"true\":\n+        return True\n+    elif value == \"false\":\n+        return False\n+    else:\n+        return default\n+\n class Marks:\n \n     def __init__(self, path):\n@@ -327,7 +336,7 @@ def get_repo(url, alias):\n     myui.setconfig('ui', 'interactive', 'off')\n     myui.fout = sys.stderr\n \n-    if get_config('remote-hg.insecure') == 'true\\n':\n+    if get_config_bool('remote-hg.insecure'):\n         myui.setconfig('web', 'cacerts', '')\n \n     try:\n@@ -903,16 +912,9 @@ def main(args):\n     url = args[2]\n     peer = None\n \n-    hg_git_compat = False\n-    track_branches = True\n-    force_push = True\n-\n-    if get_config('remote-hg.hg-git-compat') == 'true\\n':\n-        hg_git_compat = True\n-    if get_config('remote-hg.track-branches') == 'false\\n':\n-        track_branches = False\n-    if get_config('remote-hg.force-push') == 'false\\n':\n-        force_push = False\n+    hg_git_compat = get_config_bool('remote-hg.hg-git-compat')\n+    track_branches = get_config_bool('remote-hg.track-branches', True)\n+    force_push = get_config_bool('remote-hg.force-push', True)\n \n     if hg_git_compat:\n         mode = 'hg'\n-- \n1.8.3.rc1.579.g184e698\n"},{"id":"217251","messageId":"1368486720-2716-6-git-send-email-felipe.contreras@gmail.com","threadId":"33813","inReplyTo":"1368486720-2716-1-git-send-email-felipe.contreras@gmail.com","subject":"[PATCH v3 05/10] remote-hg: fix new branch creation","fromName":"Felipe Contreras","fromEmail":"felipe.contreras@gmail.com","sentAt":"2013-05-13T23:11:55Z","receivedAt":"2013-05-13T23:11:55Z","isPatch":true,"sender":{"key":"felipe.contreras@gmail.com","avatar":"https://avatars.githubusercontent.com/u/8358?v=4"},"body":"When force_push is disabled, we need to turn the argument to True.\n\nSigned-off-by: Felipe Contreras <felipe.contreras@gmail.com>\n---\n contrib/remote-helpers/git-remote-hg | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/contrib/remote-helpers/git-remote-hg b/contrib/remote-helpers/git-remote-hg\nindex 4a5c72f..3cf9b4c 100755\n--- a/contrib/remote-helpers/git-remote-hg\n+++ b/contrib/remote-helpers/git-remote-hg\n@@ -856,7 +856,7 @@ def do_export(parser):\n             continue\n \n     if peer:\n-        parser.repo.push(peer, force=force_push)\n+        parser.repo.push(peer, force=force_push, newbranch=True)\n \n     # handle bookmarks\n     for bmark, node in p_bmarks:\n-- \n1.8.3.rc1.579.g184e698\n"},{"id":"217252","messageId":"1368486720-2716-7-git-send-email-felipe.contreras@gmail.com","threadId":"33813","inReplyTo":"1368486720-2716-1-git-send-email-felipe.contreras@gmail.com","subject":"[PATCH v3 06/10] remote-hg: disable forced push by default","fromName":"Felipe Contreras","fromEmail":"felipe.contreras@gmail.com","sentAt":"2013-05-13T23:11:56Z","receivedAt":"2013-05-13T23:11:56Z","isPatch":true,"sender":{"key":"felipe.contreras@gmail.com","avatar":"https://avatars.githubusercontent.com/u/8358?v=4"},"body":"In certain situations we might end up pushing garbage revisions (e.g. in\na rebase), and the patches to deal with that haven't been merged yet.\n\nSo let's disable forced pushes by default.\n\nSigned-off-by: Felipe Contreras <felipe.contreras@gmail.com>\n---\n contrib/remote-helpers/git-remote-hg | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/contrib/remote-helpers/git-remote-hg b/contrib/remote-helpers/git-remote-hg\nindex 3cf9b4c..53412dd 100755\n--- a/contrib/remote-helpers/git-remote-hg\n+++ b/contrib/remote-helpers/git-remote-hg\n@@ -914,7 +914,7 @@ def main(args):\n \n     hg_git_compat = get_config_bool('remote-hg.hg-git-compat')\n     track_branches = get_config_bool('remote-hg.track-branches', True)\n-    force_push = get_config_bool('remote-hg.force-push', True)\n+    force_push = get_config_bool('remote-hg.force-push')\n \n     if hg_git_compat:\n         mode = 'hg'\n-- \n1.8.3.rc1.579.g184e698\n"},{"id":"217253","messageId":"1368486720-2716-8-git-send-email-felipe.contreras@gmail.com","threadId":"33813","inReplyTo":"1368486720-2716-1-git-send-email-felipe.contreras@gmail.com","subject":"[PATCH v3 07/10] remote-hg: don't push fake 'master' bookmark","fromName":"Felipe Contreras","fromEmail":"felipe.contreras@gmail.com","sentAt":"2013-05-13T23:11:57Z","receivedAt":"2013-05-13T23:11:57Z","isPatch":true,"sender":{"key":"felipe.contreras@gmail.com","avatar":"https://avatars.githubusercontent.com/u/8358?v=4"},"body":"We skip it locally, but not for the remote, so let's do so.\n\nSigned-off-by: Felipe Contreras <felipe.contreras@gmail.com>\n---\n contrib/remote-helpers/git-remote-hg | 3 ++-\n 1 file changed, 2 insertions(+), 1 deletion(-)\n\ndiff --git a/contrib/remote-helpers/git-remote-hg b/contrib/remote-helpers/git-remote-hg\nindex 53412dd..beb864b 100755\n--- a/contrib/remote-helpers/git-remote-hg\n+++ b/contrib/remote-helpers/git-remote-hg\n@@ -873,7 +873,8 @@ def do_export(parser):\n \n         if bmark == 'master' and 'master' not in parser.repo._bookmarks:\n             # fake bookmark\n-            pass\n+            print \"ok %s\" % ref\n+            continue\n         elif bookmarks.pushbookmark(parser.repo, bmark, old, new):\n             # updated locally\n             pass\n-- \n1.8.3.rc1.579.g184e698\n"},{"id":"217254","messageId":"1368486720-2716-9-git-send-email-felipe.contreras@gmail.com","threadId":"33813","inReplyTo":"1368486720-2716-1-git-send-email-felipe.contreras@gmail.com","subject":"[PATCH v3 08/10] remote-hg: update bookmarks when pulling","fromName":"Felipe Contreras","fromEmail":"felipe.contreras@gmail.com","sentAt":"2013-05-13T23:11:58Z","receivedAt":"2013-05-13T23:11:58Z","isPatch":true,"sender":{"key":"felipe.contreras@gmail.com","avatar":"https://avatars.githubusercontent.com/u/8358?v=4"},"body":"Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>\n---\n contrib/remote-helpers/git-remote-hg | 3 +++\n 1 file changed, 3 insertions(+)\n\ndiff --git a/contrib/remote-helpers/git-remote-hg b/contrib/remote-helpers/git-remote-hg\nindex beb864b..dc276af 100755\n--- a/contrib/remote-helpers/git-remote-hg\n+++ b/contrib/remote-helpers/git-remote-hg\n@@ -363,6 +363,9 @@ def get_repo(url, alias):\n                 die('Repository error')\n             repo.pull(peer, heads=None, force=True)\n \n+        rb = peer.listkeys('bookmarks')\n+        bookmarks.updatefromremote(myui, repo, rb, url)\n+\n     return repo\n \n def rev_to_mark(rev):\n-- \n1.8.3.rc1.579.g184e698\n"},{"id":"217255","messageId":"1368486720-2716-10-git-send-email-felipe.contreras@gmail.com","threadId":"33813","inReplyTo":"1368486720-2716-1-git-send-email-felipe.contreras@gmail.com","subject":"[PATCH v3 09/10] remote-hg: test: be a little more quiet","fromName":"Felipe Contreras","fromEmail":"felipe.contreras@gmail.com","sentAt":"2013-05-13T23:11:59Z","receivedAt":"2013-05-13T23:11:59Z","isPatch":true,"sender":{"key":"felipe.contreras@gmail.com","avatar":"https://avatars.githubusercontent.com/u/8358?v=4"},"body":"Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>\n---\n contrib/remote-helpers/test-hg.sh | 4 ++--\n 1 file changed, 2 insertions(+), 2 deletions(-)\n\ndiff --git a/contrib/remote-helpers/test-hg.sh b/contrib/remote-helpers/test-hg.sh\nindex 8de2aa7..f8d1f9e 100755\n--- a/contrib/remote-helpers/test-hg.sh\n+++ b/contrib/remote-helpers/test-hg.sh\n@@ -109,10 +109,10 @@ test_expect_success 'update bookmark' '\n   (\n   git clone \"hg::$PWD/hgrepo\" gitrepo &&\n   cd gitrepo &&\n-  git checkout devel &&\n+  git checkout --quiet devel &&\n   echo devel > content &&\n   git commit -a -m devel &&\n-  git push\n+  git push --quiet\n   ) &&\n \n   hg -R hgrepo bookmarks | egrep \"devel[\t ]+3:\"\n-- \n1.8.3.rc1.579.g184e698\n"},{"id":"217256","messageId":"1368486720-2716-11-git-send-email-felipe.contreras@gmail.com","threadId":"33813","inReplyTo":"1368486720-2716-1-git-send-email-felipe.contreras@gmail.com","subject":"[PATCH v3 10/10] remote-hg: trivial reorganization","fromName":"Felipe Contreras","fromEmail":"felipe.contreras@gmail.com","sentAt":"2013-05-13T23:12:00Z","receivedAt":"2013-05-13T23:12:00Z","isPatch":true,"sender":{"key":"felipe.contreras@gmail.com","avatar":"https://avatars.githubusercontent.com/u/8358?v=4"},"body":"We only need to get the remote dict once.\n\nSigned-off-by: Felipe Contreras <felipe.contreras@gmail.com>\n---\n contrib/remote-helpers/git-remote-hg | 4 ++--\n 1 file changed, 2 insertions(+), 2 deletions(-)\n\ndiff --git a/contrib/remote-helpers/git-remote-hg b/contrib/remote-helpers/git-remote-hg\nindex dc276af..96bed8d 100755\n--- a/contrib/remote-helpers/git-remote-hg\n+++ b/contrib/remote-helpers/git-remote-hg\n@@ -860,6 +860,7 @@ def do_export(parser):\n \n     if peer:\n         parser.repo.push(peer, force=force_push, newbranch=True)\n+        remote_bmarks = peer.listkeys('bookmarks')\n \n     # handle bookmarks\n     for bmark, node in p_bmarks:\n@@ -886,8 +887,7 @@ def do_export(parser):\n             continue\n \n         if peer:\n-            rb = peer.listkeys('bookmarks')\n-            old = rb.get(bmark, '')\n+            old = remote_bmarks.get(bmark, '')\n             if not peer.pushkey('bookmarks', bmark, old, new):\n                 print \"error %s\" % ref\n                 continue\n-- \n1.8.3.rc1.579.g184e698\n"},{"id":"217259","messageId":"7vfvxql66j.fsf@alter.siamese.dyndns.org","threadId":"33813","inReplyTo":"1368486720-2716-1-git-send-email-felipe.contreras@gmail.com","subject":"Re: [PATCH v3 00/10] remote-hg: fixes and cleanups","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2013-05-14T01:08:04Z","receivedAt":"2013-05-14T01:08:04Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Felipe Contreras <felipe.contreras@gmail.com> writes:\n\n> Since the last series is not merged to master yet, I decided to add more cleanups.\n\nBecause nothing new will go to 'master' past -rc1 by default, unless\nyou are working on fixing or finding 1.8.3 regressions, this is a\ngood time to polish things that are meant for the next cycle.\n\nFolks interested in working remote-hg, please try it out, so that we\ncan have a polished one soon after 1.8.3 ships (I am not saying this\nround is not polished---I haven't even looked at the patches).\n\nAnd others, please spend time on testing the 1.8.3-rc2 to make sure\nwhat we are going to ship is free of embarrassing regressions.\n\nThanks.\n\n>\n> Felipe Contreras (10):\n>   remote-hg: trivial cleanups\n>   remote-hg: get rid of unused exception checks\n>   remote-hg: enable track-branches in hg-git mode\n>   remote-hg: add new get_config_bool() helper\n>   remote-hg: fix new branch creation\n>   remote-hg: disable forced push by default\n>   remote-hg: don't push fake 'master' bookmark\n>   remote-hg: update bookmarks when pulling\n>   remote-hg: test: be a little more quiet\n>   remote-hg: trivial reorganization\n>\n>  contrib/remote-helpers/git-remote-hg     | 47 ++++++++++++++++----------------\n>  contrib/remote-helpers/test-hg-hg-git.sh |  3 +-\n>  contrib/remote-helpers/test-hg.sh        |  4 +--\n>  3 files changed, 26 insertions(+), 28 deletions(-)\n"},{"id":"217261","messageId":"CAMP44s134n9az4anLAnNH6DLT92kAJjW3_rYUx1hGZJ6ECWAYA@mail.gmail.com","threadId":"33813","inReplyTo":"7vfvxql66j.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH v3 00/10] remote-hg: fixes and cleanups","fromName":"Felipe Contreras","fromEmail":"felipe.contreras@gmail.com","sentAt":"2013-05-14T03:34:18Z","receivedAt":"2013-05-14T03:34:18Z","isPatch":true,"sender":{"key":"felipe.contreras@gmail.com","avatar":"https://avatars.githubusercontent.com/u/8358?v=4"},"body":"On Mon, May 13, 2013 at 8:08 PM, Junio C Hamano <gitster@pobox.com> wrote:\n> Felipe Contreras <felipe.contreras@gmail.com> writes:\n>\n>> Since the last series is not merged to master yet, I decided to add more cleanups.\n>\n> Because nothing new will go to 'master' past -rc1 by default, unless\n> you are working on fixing or finding 1.8.3 regressions, this is a\n> good time to polish things that are meant for the next cycle.\n\nI know, I've been polishing a bunch of patches for the next cycle for\na long time.\n\n> Folks interested in working remote-hg, please try it out, so that we\n> can have a polished one soon after 1.8.3 ships (I am not saying this\n> round is not polished---I haven't even looked at the patches).\n>\n> And others, please spend time on testing the 1.8.3-rc2 to make sure\n> what we are going to ship is free of embarrassing regressions.\n\nThe whole purpose of this series is to avoid regressions, that's why I\nsent them for 1.8.3. I thought I made it clear[1] that we would want\nthese patches in, to avoid regressions, unless it's desirable that we\nend up pushing garbage to a remote repository.\n\nCheers.\n\n[1] http://article.gmane.org/gmane.comp.version-control.git/224224\n\n-- \nFelipe Contreras\n"},{"id":"217311","messageId":"CAMP44s3D1qTaSWVgNWEDUp7FKK91RxhJozr1LKV6VK95rAQmzA@mail.gmail.com","threadId":"33813","inReplyTo":"7vfvxql66j.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH v3 00/10] remote-hg: fixes and cleanups","fromName":"Felipe Contreras","fromEmail":"felipe.contreras@gmail.com","sentAt":"2013-05-14T04:47:31Z","receivedAt":"2013-05-14T04:47:31Z","isPatch":true,"sender":{"key":"felipe.contreras@gmail.com","avatar":"https://avatars.githubusercontent.com/u/8358?v=4"},"body":"On Mon, May 13, 2013 at 8:08 PM, Junio C Hamano <gitster@pobox.com> wrote:\n\n> Folks interested in working remote-hg, please try it out, so that we\n> can have a polished one soon after 1.8.3 ships (I am not saying this\n> round is not polished---I haven't even looked at the patches).\n>\n> And others, please spend time on testing the 1.8.3-rc2 to make sure\n> what we are going to ship is free of embarrassing regressions.\n\nIf we want folks to test something, it should be the patches I\nprepared for 'next' which I just sent.\n\nCheers.\n\n-- \nFelipe Contreras\n"},{"id":"217338","messageId":"7vhai5juc9.fsf@alter.siamese.dyndns.org","threadId":"33813","inReplyTo":"CAMP44s134n9az4anLAnNH6DLT92kAJjW3_rYUx1hGZJ6ECWAYA@mail.gmail.com","subject":"Re: [PATCH v3 00/10] remote-hg: fixes and cleanups","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2013-05-14T18:21:26Z","receivedAt":"2013-05-14T18:21:26Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Felipe Contreras <felipe.contreras@gmail.com> writes:\n\n> On Mon, May 13, 2013 at 8:08 PM, Junio C Hamano <gitster@pobox.com> wrote:\n>> And others, please spend time on testing the 1.8.3-rc2 to make sure\n>> what we are going to ship is free of embarrassing regressions.\n>\n> The whole purpose of this series is to avoid regressions, that's why I\n> sent them for 1.8.3.\n\nWe agreed to make an exception to let remote-bzr updates go in even\nafter v1.8.3-rc1, because it is too young and you can afford to\ncheck that the updated code will give only gains to its userbase\nthat matters without hurting them by checking with Emacs and other\nprojects.\n\nI do not recall us doing a similar exception for remote-hg.  Did we?\n\nIf we didn't, then a 10-patch series at this point in the cycle is\nway too late for me to be comfortable taking.\n\nWe merged the 21-patch remote-hg series from you on Apr 21st, a week\nbefore -rc0, and it has been 3 weeks.  Back then you thought it made\nthings better without regression, and I expected that loose ends\ncould be fixed by -rc1 with enough time to cook them in 'next'\n(meaning tying such loose ends would be just the matter of a couple\nof trivial patches at most).  But now you are saying they regress\nthings and need 6 (in 'next') + 10 + 47 patches to fix on top, in\norder not to hurt existing users?\n\nWhat is going on?\n\nPeople make mistakes and the initial submission being buggy is *not*\na problem per-se, but what quality assurance do the 10-patch and/or\nthe follow up 47-patch series have over these 21 patches to assure\nus that they do not introduce more problems, when we are this close\nto the final, way less than the 3 weeks we had?\n\nThe best we could do to avoid regressions (if there are reported\nones) is to revert specific changes that cause the regression that\nare already in v1.8.3-rc2.  Which one(s) should we be reverting, and\ndo you have a regression report that says the commit(s) in question\nbreaks things for a specific project, and reverting it(them) makes\nthings work again?\n"},{"id":"217340","messageId":"7vd2stjt9v.fsf@alter.siamese.dyndns.org","threadId":"33813","inReplyTo":"7vhai5juc9.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH v3 00/10] remote-hg: fixes and cleanups","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2013-05-14T18:44:28Z","receivedAt":"2013-05-14T18:44:28Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Junio C Hamano <gitster@pobox.com> writes:\n\n> ...  But now you are saying they regress\n> things and need 6 (in 'next') + 10 + 47 patches to fix on top, in\n> order not to hurt existing users?\n>\n> What is going on?\n\nAhh, OK, I miscounted.  The 10 were supposed to replace 6 and then 47\nin turn are supposed to replace the whole thing, while these are\nstill *not* in 'next'.\n\nOK, will replace fc/remote-hg that is currently on 'pu' with the\nlatest (v4 */47).\n"},{"id":"217345","messageId":"7vzjvxie12.fsf@alter.siamese.dyndns.org","threadId":"33813","inReplyTo":"CAMP44s3D1qTaSWVgNWEDUp7FKK91RxhJozr1LKV6VK95rAQmzA@mail.gmail.com","subject":"Re: [PATCH v3 00/10] remote-hg: fixes and cleanups","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2013-05-14T18:59:05Z","receivedAt":"2013-05-14T18:59:05Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Felipe Contreras <felipe.contreras@gmail.com> writes:\n\n> On Mon, May 13, 2013 at 8:08 PM, Junio C Hamano <gitster@pobox.com> wrote:\n>\n>> Folks interested in working remote-hg, please try it out, so that we\n>> can have a polished one soon after 1.8.3 ships (I am not saying this\n>> round is not polished---I haven't even looked at the patches).\n>>\n>> And others, please spend time on testing the 1.8.3-rc2 to make sure\n>> what we are going to ship is free of embarrassing regressions.\n>\n> If we want folks to test something, it should be the patches I\n> prepared for 'next' which I just sent.\n\nYeah, but that is for the release _after_ 1.8.3; I'd rather see\nfolks help to make sure we have a solid 1.8.3 relaese.\n"},{"id":"217357","messageId":"CAMP44s2cOg5xs1ZSmyL+0GDmuWTyn6CRtgsV0q4w=-CCfoYAYQ@mail.gmail.com","threadId":"33813","inReplyTo":"7vhai5juc9.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH v3 00/10] remote-hg: fixes and cleanups","fromName":"Felipe Contreras","fromEmail":"felipe.contreras@gmail.com","sentAt":"2013-05-14T20:02:26Z","receivedAt":"2013-05-14T20:02:26Z","isPatch":true,"sender":{"key":"felipe.contreras@gmail.com","avatar":"https://avatars.githubusercontent.com/u/8358?v=4"},"body":"On Tue, May 14, 2013 at 1:21 PM, Junio C Hamano <gitster@pobox.com> wrote:\n> Felipe Contreras <felipe.contreras@gmail.com> writes:\n>\n>> On Mon, May 13, 2013 at 8:08 PM, Junio C Hamano <gitster@pobox.com> wrote:\n>>> And others, please spend time on testing the 1.8.3-rc2 to make sure\n>>> what we are going to ship is free of embarrassing regressions.\n>>\n>> The whole purpose of this series is to avoid regressions, that's why I\n>> sent them for 1.8.3.\n>\n> We agreed to make an exception to let remote-bzr updates go in even\n> after v1.8.3-rc1, because it is too young and you can afford to\n> check that the updated code will give only gains to its userbase\n> that matters without hurting them by checking with Emacs and other\n> projects.\n>\n> I do not recall us doing a similar exception for remote-hg.  Did we?\n\nThe exception was for massive changes, theses are not massive changes,\nthey are no-brainer fixes that would possibly fix regressions.\n\n> If we didn't, then a 10-patch series at this point in the cycle is\n> way too late for me to be comfortable taking.\n\nWell, don't blame me if users hit regressions then.\n\n> We merged the 21-patch remote-hg series from you on Apr 21st, a week\n> before -rc0, and it has been 3 weeks.  Back then you thought it made\n> things better without regression, and I expected that loose ends\n> could be fixed by -rc1 with enough time to cook them in 'next'\n> (meaning tying such loose ends would be just the matter of a couple\n> of trivial patches at most).  But now you are saying they regress\n> things and need 6 (in 'next') + 10 + 47 patches to fix on top, in\n> order not to hurt existing users?\n>\n> What is going on?\n\nNo, I sent *four* patches for 'master', which I eventually increased\nto ten, because the increased ones are all simple cleanups.\n\nAnd the fixes are obvious and can't possibly introduce regressions,\nspecially since the important change re-introduces the same behavior\nwe had in v1.8.2.\n\nThe 47 patches I sent are for 'next', and are clearly marked as so. I\nincluded the same 10 fixes I sent for 'master', because they never\nlanded on master.\n\n> People make mistakes and the initial submission being buggy is *not*\n> a problem per-se, but what quality assurance do the 10-patch and/or\n> the follow up 47-patch series have over these 21 patches to assure\n> us that they do not introduce more problems, when we are this close\n> to the final, way less than the 3 weeks we had?\n\nRead the patches and you would see.\n\n> The best we could do to avoid regressions (if there are reported\n> ones) is to revert specific changes that cause the regression that\n> are already in v1.8.3-rc2.  Which one(s) should we be reverting, and\n> do you have a regression report that says the commit(s) in question\n> breaks things for a specific project, and reverting it(them) makes\n> things work again?\n\nI am going to go one by one to show you the patches make sense for 'master'.\n\n-- \nFelipe Contreras\n"},{"id":"217360","messageId":"CAMP44s3TUNp-rzBVs=xqWyYj2kNSeHMZmaYpOgx0uott3pw8BQ@mail.gmail.com","threadId":"33813","inReplyTo":"7vzjvxie12.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH v3 00/10] remote-hg: fixes and cleanups","fromName":"Felipe Contreras","fromEmail":"felipe.contreras@gmail.com","sentAt":"2013-05-14T20:08:48Z","receivedAt":"2013-05-14T20:08:48Z","isPatch":true,"sender":{"key":"felipe.contreras@gmail.com","avatar":"https://avatars.githubusercontent.com/u/8358?v=4"},"body":"On Tue, May 14, 2013 at 1:59 PM, Junio C Hamano <gitster@pobox.com> wrote:\n> Felipe Contreras <felipe.contreras@gmail.com> writes:\n>\n>> On Mon, May 13, 2013 at 8:08 PM, Junio C Hamano <gitster@pobox.com> wrote:\n>>\n>>> Folks interested in working remote-hg, please try it out, so that we\n>>> can have a polished one soon after 1.8.3 ships (I am not saying this\n>>> round is not polished---I haven't even looked at the patches).\n>>>\n>>> And others, please spend time on testing the 1.8.3-rc2 to make sure\n>>> what we are going to ship is free of embarrassing regressions.\n>>\n>> If we want folks to test something, it should be the patches I\n>> prepared for 'next' which I just sent.\n>\n> Yeah, but that is for the release _after_ 1.8.3; I'd rather see\n> folks help to make sure we have a solid 1.8.3 relaese.\n\nThat's the intention of the ten patches I sent for 1.8.3. But you said\nyou are not going to put them in 'master', but in 'next', so I sent\nthe ones I think should go into next.\n\nSo now you have the patches that I think should go into 'master' (10),\nand the ones for 'next' (47, including the previous unmerged 10).\n\n-- \nFelipe Contreras\n"},{"id":"217361","messageId":"51929aca93f20_13a8f89e181462@nysa.mail","threadId":"33813","inReplyTo":"1368486720-2716-2-git-send-email-felipe.contreras@gmail.com","subject":"RE: [PATCH v3 01/10] remote-hg: trivial cleanups","fromName":"Felipe Contreras","fromEmail":"felipe.contreras@gmail.com","sentAt":"2013-05-14T20:12:58Z","receivedAt":"2013-05-14T20:12:58Z","isPatch":true,"sender":{"key":"felipe.contreras@gmail.com","avatar":"https://avatars.githubusercontent.com/u/8358?v=4"},"body":"This is a trivial cleanup, cannot cause regressions.\n\nFelipe Contreras wrote:\n> Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>\n> ---\n>  contrib/remote-helpers/git-remote-hg     | 2 +-\n>  contrib/remote-helpers/test-hg-hg-git.sh | 2 --\n>  2 files changed, 1 insertion(+), 3 deletions(-)\n> \n> diff --git a/contrib/remote-helpers/git-remote-hg b/contrib/remote-helpers/git-remote-hg\n> index 96ad30d..d33c7ba 100755\n> --- a/contrib/remote-helpers/git-remote-hg\n> +++ b/contrib/remote-helpers/git-remote-hg\n> @@ -538,7 +538,7 @@ def list_head(repo, cur):\n>      g_head = (head, node)\n>  \n>  def do_list(parser):\n> -    global branches, bmarks, mode, track_branches\n> +    global branches, bmarks, track_branches\n>  \n>      repo = parser.repo\n>      for bmark, node in bookmarks.listbookmarks(repo).iteritems():\n> diff --git a/contrib/remote-helpers/test-hg-hg-git.sh b/contrib/remote-helpers/test-hg-hg-git.sh\n> index 8440341..0c36573 100755\n> --- a/contrib/remote-helpers/test-hg-hg-git.sh\n> +++ b/contrib/remote-helpers/test-hg-hg-git.sh\n> @@ -455,8 +455,6 @@ test_expect_success 'hg author' '\n>  \t\tgit_log gitrepo-$x > git-log-$x\n>  \tdone &&\n>  \n> -\ttest_cmp git-log-hg git-log-git &&\n> -\n>  \ttest_cmp hg-log-hg hg-log-git &&\n>  \ttest_cmp git-log-hg git-log-git\n>  '\n> -- \n> 1.8.3.rc1.579.g184e698\n\n\n\n-- \nFelipe Contreras\n"},{"id":"217362","messageId":"51929b8fc1e2_13a8f89e1815dd@nysa.mail","threadId":"33813","inReplyTo":"1368486720-2716-3-git-send-email-felipe.contreras@gmail.com","subject":"RE: [PATCH v3 02/10] remote-hg: get rid of unused exception checks","fromName":"Felipe Contreras","fromEmail":"felipe.contreras@gmail.com","sentAt":"2013-05-14T20:16:15Z","receivedAt":"2013-05-14T20:16:15Z","isPatch":true,"sender":{"key":"felipe.contreras@gmail.com","avatar":"https://avatars.githubusercontent.com/u/8358?v=4"},"body":"This is removing an exception check and since that exception is thrown by\ncheck_output() but not Popen(), this doesn't change anything.\n\nFelipe Contreras wrote:\n> We are not calling check_output() anymore.\n> \n> Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>\n> ---\n>  contrib/remote-helpers/git-remote-hg | 24 +++++++++---------------\n>  1 file changed, 9 insertions(+), 15 deletions(-)\n> \n> diff --git a/contrib/remote-helpers/git-remote-hg b/contrib/remote-helpers/git-remote-hg\n> index d33c7ba..9d6940b 100755\n> --- a/contrib/remote-helpers/git-remote-hg\n> +++ b/contrib/remote-helpers/git-remote-hg\n> @@ -327,11 +327,8 @@ def get_repo(url, alias):\n>      myui.setconfig('ui', 'interactive', 'off')\n>      myui.fout = sys.stderr\n>  \n> -    try:\n> -        if get_config('remote-hg.insecure') == 'true\\n':\n> -            myui.setconfig('web', 'cacerts', '')\n> -    except subprocess.CalledProcessError:\n> -        pass\n> +    if get_config('remote-hg.insecure') == 'true\\n':\n> +        myui.setconfig('web', 'cacerts', '')\n>  \n>      try:\n>          mod = extensions.load(myui, 'hgext.schemes', None)\n> @@ -910,16 +907,13 @@ def main(args):\n>      track_branches = True\n>      force_push = True\n>  \n> -    try:\n> -        if get_config('remote-hg.hg-git-compat') == 'true\\n':\n> -            hg_git_compat = True\n> -            track_branches = False\n> -        if get_config('remote-hg.track-branches') == 'false\\n':\n> -            track_branches = False\n> -        if get_config('remote-hg.force-push') == 'false\\n':\n> -            force_push = False\n> -    except subprocess.CalledProcessError:\n> -        pass\n> +    if get_config('remote-hg.hg-git-compat') == 'true\\n':\n> +        hg_git_compat = True\n> +        track_branches = False\n> +    if get_config('remote-hg.track-branches') == 'false\\n':\n> +        track_branches = False\n> +    if get_config('remote-hg.force-push') == 'false\\n':\n> +        force_push = False\n>  \n>      if hg_git_compat:\n>          mode = 'hg'\n> -- \n> 1.8.3.rc1.579.g184e698\n\n-- \nFelipe Contreras\n"},{"id":"217363","messageId":"51929be4bdd7c_13a8f89e1816ed@nysa.mail","threadId":"33813","inReplyTo":"1368486720-2716-4-git-send-email-felipe.contreras@gmail.com","subject":"RE: [PATCH v3 03/10] remote-hg: enable track-branches in hg-git mode","fromName":"Felipe Contreras","fromEmail":"felipe.contreras@gmail.com","sentAt":"2013-05-14T20:17:40Z","receivedAt":"2013-05-14T20:17:40Z","isPatch":true,"sender":{"key":"felipe.contreras@gmail.com","avatar":"https://avatars.githubusercontent.com/u/8358?v=4"},"body":"No regression here either, we simply give more power to the user.\n\nFelipe Contreras wrote:\n> The user can turn this off.\n> \n> Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>\n> ---\n>  contrib/remote-helpers/git-remote-hg     | 1 -\n>  contrib/remote-helpers/test-hg-hg-git.sh | 1 +\n>  2 files changed, 1 insertion(+), 1 deletion(-)\n> \n> diff --git a/contrib/remote-helpers/git-remote-hg b/contrib/remote-helpers/git-remote-hg\n> index 9d6940b..de3a96e 100755\n> --- a/contrib/remote-helpers/git-remote-hg\n> +++ b/contrib/remote-helpers/git-remote-hg\n> @@ -909,7 +909,6 @@ def main(args):\n>  \n>      if get_config('remote-hg.hg-git-compat') == 'true\\n':\n>          hg_git_compat = True\n> -        track_branches = False\n>      if get_config('remote-hg.track-branches') == 'false\\n':\n>          track_branches = False\n>      if get_config('remote-hg.force-push') == 'false\\n':\n> diff --git a/contrib/remote-helpers/test-hg-hg-git.sh b/contrib/remote-helpers/test-hg-hg-git.sh\n> index 0c36573..7f579c8 100755\n> --- a/contrib/remote-helpers/test-hg-hg-git.sh\n> +++ b/contrib/remote-helpers/test-hg-hg-git.sh\n> @@ -102,6 +102,7 @@ setup () {\n>  \t) >> \"$HOME\"/.hgrc &&\n>  \tgit config --global receive.denycurrentbranch warn\n>  \tgit config --global remote-hg.hg-git-compat true\n> +\tgit config --global remote-hg.track-branches false\n>  \n>  \tHGEDITOR=/usr/bin/true\n>  \n> -- \n> 1.8.3.rc1.579.g184e698\n\n-- \nFelipe Contreras\n"},{"id":"217364","messageId":"51929c2c85701_13a8f89e181716@nysa.mail","threadId":"33813","inReplyTo":"1368486720-2716-5-git-send-email-felipe.contreras@gmail.com","subject":"RE: [PATCH v3 04/10] remote-hg: add new get_config_bool() helper","fromName":"Felipe Contreras","fromEmail":"felipe.contreras@gmail.com","sentAt":"2013-05-14T20:18:52Z","receivedAt":"2013-05-14T20:18:52Z","isPatch":true,"sender":{"key":"felipe.contreras@gmail.com","avatar":"https://avatars.githubusercontent.com/u/8358?v=4"},"body":"This is simply refactoring code, functionally they are the same.\n\nFelipe Contreras wrote:\n> No functional changes.\n> \n> Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>\n> ---\n>  contrib/remote-helpers/git-remote-hg | 24 +++++++++++++-----------\n>  1 file changed, 13 insertions(+), 11 deletions(-)\n> \n> diff --git a/contrib/remote-helpers/git-remote-hg b/contrib/remote-helpers/git-remote-hg\n> index de3a96e..4a5c72f 100755\n> --- a/contrib/remote-helpers/git-remote-hg\n> +++ b/contrib/remote-helpers/git-remote-hg\n> @@ -87,6 +87,15 @@ def get_config(config):\n>      output, _ = process.communicate()\n>      return output\n>  \n> +def get_config_bool(config, default=False):\n> +    value = get_config(config).rstrip('\\n')\n> +    if value == \"true\":\n> +        return True\n> +    elif value == \"false\":\n> +        return False\n> +    else:\n> +        return default\n> +\n>  class Marks:\n>  \n>      def __init__(self, path):\n> @@ -327,7 +336,7 @@ def get_repo(url, alias):\n>      myui.setconfig('ui', 'interactive', 'off')\n>      myui.fout = sys.stderr\n>  \n> -    if get_config('remote-hg.insecure') == 'true\\n':\n> +    if get_config_bool('remote-hg.insecure'):\n>          myui.setconfig('web', 'cacerts', '')\n>  \n>      try:\n> @@ -903,16 +912,9 @@ def main(args):\n>      url = args[2]\n>      peer = None\n>  \n> -    hg_git_compat = False\n> -    track_branches = True\n> -    force_push = True\n> -\n> -    if get_config('remote-hg.hg-git-compat') == 'true\\n':\n> -        hg_git_compat = True\n> -    if get_config('remote-hg.track-branches') == 'false\\n':\n> -        track_branches = False\n> -    if get_config('remote-hg.force-push') == 'false\\n':\n> -        force_push = False\n> +    hg_git_compat = get_config_bool('remote-hg.hg-git-compat')\n> +    track_branches = get_config_bool('remote-hg.track-branches', True)\n> +    force_push = get_config_bool('remote-hg.force-push', True)\n>  \n>      if hg_git_compat:\n>          mode = 'hg'\n> -- \n> 1.8.3.rc1.579.g184e698\n\n\n\n-- \nFelipe Contreras\n"},{"id":"217365","messageId":"51929c576d949_13a8f89e18183b@nysa.mail","threadId":"33813","inReplyTo":"1368486720-2716-6-git-send-email-felipe.contreras@gmail.com","subject":"RE: [PATCH v3 05/10] remote-hg: fix new branch creation","fromName":"Felipe Contreras","fromEmail":"felipe.contreras@gmail.com","sentAt":"2013-05-14T20:19:35Z","receivedAt":"2013-05-14T20:19:35Z","isPatch":true,"sender":{"key":"felipe.contreras@gmail.com","avatar":"https://avatars.githubusercontent.com/u/8358?v=4"},"body":"This is the first fix, but it's obvious this is what we want: if a user creates\na new branch with git:\n\n % git checkout -b branches/devel\n\nAnd then pushes this branch\n\n % git push origin branches/devel\n\n(which is the way to push new mercurial branches)\n\nWe obviously want to create a branch, but the command would fail, and the fix\nis simple: tell the push that we might create new branches.\n\nThis only matters when foce_push=False.\n\nCan't possibly introduce regressions, unless you think of the ability to push\nnew branches as a regression.\n\nFelipe Contreras wrote:\n> When force_push is disabled, we need to turn the argument to True.\n> \n> Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>\n> ---\n>  contrib/remote-helpers/git-remote-hg | 2 +-\n>  1 file changed, 1 insertion(+), 1 deletion(-)\n> \n> diff --git a/contrib/remote-helpers/git-remote-hg b/contrib/remote-helpers/git-remote-hg\n> index 4a5c72f..3cf9b4c 100755\n> --- a/contrib/remote-helpers/git-remote-hg\n> +++ b/contrib/remote-helpers/git-remote-hg\n> @@ -856,7 +856,7 @@ def do_export(parser):\n>              continue\n>  \n>      if peer:\n> -        parser.repo.push(peer, force=force_push)\n> +        parser.repo.push(peer, force=force_push, newbranch=True)\n>  \n>      # handle bookmarks\n>      for bmark, node in p_bmarks:\n> -- \n> 1.8.3.rc1.579.g184e698\n\n\n\n-- \nFelipe Contreras\n"},{"id":"217366","messageId":"51929d2c37125_13a8f89e181936@nysa.mail","threadId":"33813","inReplyTo":"1368486720-2716-7-git-send-email-felipe.contreras@gmail.com","subject":"RE: [PATCH v3 06/10] remote-hg: disable forced push by default","fromName":"Felipe Contreras","fromEmail":"felipe.contreras@gmail.com","sentAt":"2013-05-14T20:23:08Z","receivedAt":"2013-05-14T20:23:08Z","isPatch":true,"sender":{"key":"felipe.contreras@gmail.com","avatar":"https://avatars.githubusercontent.com/u/8358?v=4"},"body":"And here is the important fix. We are essentially reverting back to the old\nv1.8.2 behavior, to minimize the possibility of regressions, but in a way the\nuser can configure.\n\nThe cleanups before made it so this patch eas easy and simple.\n\nAnd the fix before this makes it so the new default force_push=False still is\nable to push new branches, so we don't disable other v1.8.3 features.\n\nFelipe Contreras wrote:\n> In certain situations we might end up pushing garbage revisions (e.g. in\n> a rebase), and the patches to deal with that haven't been merged yet.\n> \n> So let's disable forced pushes by default.\n> \n> Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>\n> ---\n>  contrib/remote-helpers/git-remote-hg | 2 +-\n>  1 file changed, 1 insertion(+), 1 deletion(-)\n> \n> diff --git a/contrib/remote-helpers/git-remote-hg b/contrib/remote-helpers/git-remote-hg\n> index 3cf9b4c..53412dd 100755\n> --- a/contrib/remote-helpers/git-remote-hg\n> +++ b/contrib/remote-helpers/git-remote-hg\n> @@ -914,7 +914,7 @@ def main(args):\n>  \n>      hg_git_compat = get_config_bool('remote-hg.hg-git-compat')\n>      track_branches = get_config_bool('remote-hg.track-branches', True)\n> -    force_push = get_config_bool('remote-hg.force-push', True)\n> +    force_push = get_config_bool('remote-hg.force-push')\n>  \n>      if hg_git_compat:\n>          mode = 'hg'\n> -- \n> 1.8.3.rc1.579.g184e698\n\n\n\n-- \nFelipe Contreras\n"},{"id":"217367","messageId":"51929dbfeab24_13a8f89e18207f@nysa.mail","threadId":"33813","inReplyTo":"1368486720-2716-8-git-send-email-felipe.contreras@gmail.com","subject":"RE: [PATCH v3 07/10] remote-hg: don't push fake 'master' bookmark","fromName":"Felipe Contreras","fromEmail":"felipe.contreras@gmail.com","sentAt":"2013-05-14T20:25:35Z","receivedAt":"2013-05-14T20:25:35Z","isPatch":true,"sender":{"key":"felipe.contreras@gmail.com","avatar":"https://avatars.githubusercontent.com/u/8358?v=4"},"body":"We obviously don't want to push our fake 'master' bookmark to the remote. This\nis an obvious good change.\n\nFelipe Contreras wrote:\n> We skip it locally, but not for the remote, so let's do so.\n> \n> Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>\n> ---\n>  contrib/remote-helpers/git-remote-hg | 3 ++-\n>  1 file changed, 2 insertions(+), 1 deletion(-)\n> \n> diff --git a/contrib/remote-helpers/git-remote-hg b/contrib/remote-helpers/git-remote-hg\n> index 53412dd..beb864b 100755\n> --- a/contrib/remote-helpers/git-remote-hg\n> +++ b/contrib/remote-helpers/git-remote-hg\n> @@ -873,7 +873,8 @@ def do_export(parser):\n>  \n>          if bmark == 'master' and 'master' not in parser.repo._bookmarks:\n>              # fake bookmark\n> -            pass\n> +            print \"ok %s\" % ref\n> +            continue\n>          elif bookmarks.pushbookmark(parser.repo, bmark, old, new):\n>              # updated locally\n>              pass\n> -- \n> 1.8.3.rc1.579.g184e698\n\n-- \nFelipe Contreras\n"},{"id":"217368","messageId":"51929dfa8122e_13a8f89e182115@nysa.mail","threadId":"33813","inReplyTo":"1368486720-2716-9-git-send-email-felipe.contreras@gmail.com","subject":"RE: [PATCH v3 08/10] remote-hg: update bookmarks when pulling","fromName":"Felipe Contreras","fromEmail":"felipe.contreras@gmail.com","sentAt":"2013-05-14T20:26:34Z","receivedAt":"2013-05-14T20:26:34Z","isPatch":true,"sender":{"key":"felipe.contreras@gmail.com","avatar":"https://avatars.githubusercontent.com/u/8358?v=4"},"body":"Without this fix, the user would never ever see new bookmarks, only the ones\nthat (s)he initially cloned.\n\nFelipe Contreras wrote:\n> Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>\n> ---\n>  contrib/remote-helpers/git-remote-hg | 3 +++\n>  1 file changed, 3 insertions(+)\n> \n> diff --git a/contrib/remote-helpers/git-remote-hg b/contrib/remote-helpers/git-remote-hg\n> index beb864b..dc276af 100755\n> --- a/contrib/remote-helpers/git-remote-hg\n> +++ b/contrib/remote-helpers/git-remote-hg\n> @@ -363,6 +363,9 @@ def get_repo(url, alias):\n>                  die('Repository error')\n>              repo.pull(peer, heads=None, force=True)\n>  \n> +        rb = peer.listkeys('bookmarks')\n> +        bookmarks.updatefromremote(myui, repo, rb, url)\n> +\n>      return repo\n>  \n>  def rev_to_mark(rev):\n> -- \n> 1.8.3.rc1.579.g184e698\n\n\n\n-- \nFelipe Contreras\n"},{"id":"217369","messageId":"51929e298955c_13a8f89e18228b@nysa.mail","threadId":"33813","inReplyTo":"1368486720-2716-10-git-send-email-felipe.contreras@gmail.com","subject":"RE: [PATCH v3 09/10] remote-hg: test: be a little more quiet","fromName":"Felipe Contreras","fromEmail":"felipe.contreras@gmail.com","sentAt":"2013-05-14T20:27:21Z","receivedAt":"2013-05-14T20:27:21Z","isPatch":true,"sender":{"key":"felipe.contreras@gmail.com","avatar":"https://avatars.githubusercontent.com/u/8358?v=4"},"body":"No-brainer; improve one test.\n\nFelipe Contreras wrote:\n> Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>\n> ---\n>  contrib/remote-helpers/test-hg.sh | 4 ++--\n>  1 file changed, 2 insertions(+), 2 deletions(-)\n> \n> diff --git a/contrib/remote-helpers/test-hg.sh b/contrib/remote-helpers/test-hg.sh\n> index 8de2aa7..f8d1f9e 100755\n> --- a/contrib/remote-helpers/test-hg.sh\n> +++ b/contrib/remote-helpers/test-hg.sh\n> @@ -109,10 +109,10 @@ test_expect_success 'update bookmark' '\n>    (\n>    git clone \"hg::$PWD/hgrepo\" gitrepo &&\n>    cd gitrepo &&\n> -  git checkout devel &&\n> +  git checkout --quiet devel &&\n>    echo devel > content &&\n>    git commit -a -m devel &&\n> -  git push\n> +  git push --quiet\n>    ) &&\n>  \n>    hg -R hgrepo bookmarks | egrep \"devel[\t ]+3:\"\n> -- \n> 1.8.3.rc1.579.g184e698\n\n\n\n-- \nFelipe Contreras\n"},{"id":"217370","messageId":"51929e47f4e8_13a8f89e1823ba@nysa.mail","threadId":"33813","inReplyTo":"1368486720-2716-11-git-send-email-felipe.contreras@gmail.com","subject":"RE: [PATCH v3 10/10] remote-hg: trivial reorganization","fromName":"Felipe Contreras","fromEmail":"felipe.contreras@gmail.com","sentAt":"2013-05-14T20:27:51Z","receivedAt":"2013-05-14T20:27:51Z","isPatch":true,"sender":{"key":"felipe.contreras@gmail.com","avatar":"https://avatars.githubusercontent.com/u/8358?v=4"},"body":"Another no-brainer; simply shuffling some code.\n\nFelipe Contreras wrote:\n> We only need to get the remote dict once.\n> \n> Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>\n> ---\n>  contrib/remote-helpers/git-remote-hg | 4 ++--\n>  1 file changed, 2 insertions(+), 2 deletions(-)\n> \n> diff --git a/contrib/remote-helpers/git-remote-hg b/contrib/remote-helpers/git-remote-hg\n> index dc276af..96bed8d 100755\n> --- a/contrib/remote-helpers/git-remote-hg\n> +++ b/contrib/remote-helpers/git-remote-hg\n> @@ -860,6 +860,7 @@ def do_export(parser):\n>  \n>      if peer:\n>          parser.repo.push(peer, force=force_push, newbranch=True)\n> +        remote_bmarks = peer.listkeys('bookmarks')\n>  \n>      # handle bookmarks\n>      for bmark, node in p_bmarks:\n> @@ -886,8 +887,7 @@ def do_export(parser):\n>              continue\n>  \n>          if peer:\n> -            rb = peer.listkeys('bookmarks')\n> -            old = rb.get(bmark, '')\n> +            old = remote_bmarks.get(bmark, '')\n>              if not peer.pushkey('bookmarks', bmark, old, new):\n>                  print \"error %s\" % ref\n>                  continue\n> -- \n> 1.8.3.rc1.579.g184e698\n\n-- \nFelipe Contreras\n"},{"id":"217379","messageId":"7vbo8dgryy.fsf@alter.siamese.dyndns.org","threadId":"33813","inReplyTo":"51929e298955c_13a8f89e18228b@nysa.mail","subject":"Re: [PATCH v3 09/10] remote-hg: test: be a little more quiet","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2013-05-14T21:40:53Z","receivedAt":"2013-05-14T21:40:53Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Felipe Contreras <felipe.contreras@gmail.com> writes:\n\n> No-brainer; improve one test.\n\nIn general, unless we are taking the output from commands to a file\nand grepping in it, we prefer not to have --quiet (unless you are\ntesting the --quiet feature of the command, of course).  Running the\ntests without \"-v\" option will not show them and when running with\n\"-v\" to debug the tests, the extra output will help to figure out\nwhich step failed.\n\n> Felipe Contreras wrote:\n>> Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>\n>> ---\n>>  contrib/remote-helpers/test-hg.sh | 4 ++--\n>>  1 file changed, 2 insertions(+), 2 deletions(-)\n>> \n>> diff --git a/contrib/remote-helpers/test-hg.sh b/contrib/remote-helpers/test-hg.sh\n>> index 8de2aa7..f8d1f9e 100755\n>> --- a/contrib/remote-helpers/test-hg.sh\n>> +++ b/contrib/remote-helpers/test-hg.sh\n>> @@ -109,10 +109,10 @@ test_expect_success 'update bookmark' '\n>>    (\n>>    git clone \"hg::$PWD/hgrepo\" gitrepo &&\n>>    cd gitrepo &&\n>> -  git checkout devel &&\n>> +  git checkout --quiet devel &&\n>>    echo devel > content &&\n>>    git commit -a -m devel &&\n>> -  git push\n>> +  git push --quiet\n>>    ) &&\n>>  \n>>    hg -R hgrepo bookmarks | egrep \"devel[\t ]+3:\"\n>> -- \n>> 1.8.3.rc1.579.g184e698\n"},{"id":"217380","messageId":"CAMP44s1CYvfNw2uQrUj9DTayJc-Z9L9LLB2_4Y4KOnMBhUHxOg@mail.gmail.com","threadId":"33813","inReplyTo":"7vbo8dgryy.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH v3 09/10] remote-hg: test: be a little more quiet","fromName":"Felipe Contreras","fromEmail":"felipe.contreras@gmail.com","sentAt":"2013-05-14T21:52:01Z","receivedAt":"2013-05-14T21:52:01Z","isPatch":true,"sender":{"key":"felipe.contreras@gmail.com","avatar":"https://avatars.githubusercontent.com/u/8358?v=4"},"body":"On Tue, May 14, 2013 at 4:40 PM, Junio C Hamano <gitster@pobox.com> wrote:\n> Felipe Contreras <felipe.contreras@gmail.com> writes:\n>\n>> No-brainer; improve one test.\n>\n> In general, unless we are taking the output from commands to a file\n> and grepping in it, we prefer not to have --quiet (unless you are\n> testing the --quiet feature of the command, of course).  Running the\n> tests without \"-v\" option will not show them and when running with\n> \"-v\" to debug the tests, the extra output will help to figure out\n> which step failed.\n\nYeah, but I spent a long time looking at the output of these tests and\ngrew tired of all the irrelevant noise. In fact, I'm even tempted to\nset push.default because of that annoying message all over them. Maybe\nthe --quiet for the push shouldn't be there, but the --quiet for\ncheckout definitely. Either way, I don't see much value in changing\nthis patch at this point.\n\n-- \nFelipe Contreras\n"},{"id":"217381","messageId":"7vzjvxfck2.fsf@alter.siamese.dyndns.org","threadId":"33813","inReplyTo":"51929dfa8122e_13a8f89e182115@nysa.mail","subject":"Re: [PATCH v3 08/10] remote-hg: update bookmarks when pulling","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2013-05-14T21:59:09Z","receivedAt":"2013-05-14T21:59:09Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Felipe Contreras <felipe.contreras@gmail.com> writes:\n\n> Without this fix, the user would never ever see new bookmarks, only the ones\n> that (s)he initially cloned.\n\nNow, think again and realize how long it took you (the original\nauthor) to discover issues and come up with these fixes and\nexplanation since the series was merged before -rc0.\n\nAre we giving the users enough time to discover and complain issues\nthat these 10 patches may introduce before the final release?  \"You\ncan see these patches are so trivially correct\" is not a valid\nargument. The original patches would also have been looked correct\nwhen they were sent to the list. Things take time and actual use by\nthe users to mature.\n\nHaving said that, the impression I am getting is that whatever we\npushed out in 1.8.2 and 1.8.3-rc0 was far from ready for real use,\nand with your explanations (by the way, I found that many of them\ndeserve to be in the log message), the end result of applying these\npatches, up to 8/10, will still not be as it is very likely that you\nand users will discover issues at a similar rate, but at least it\nwill be much closer to be ready than they currently are.\n\nIn other words, it still seems to be in \"something is better than\nnothing, newer is better than older\" stage before stabilization.\n\nAnd that is to be expected for a contrib/ material; nothing for us\nto be ashamed of.  So I changed my mind.  As long as it is clearly\nmarked as \"still experimental, possibly with rough edges\", I think\nit is better to ship 1.8.3 with these 8 patches than without.\n\nI am unhappy with 3/10, though.  It is spreading existing mistake by\nadding another configuration variable with dash in its name, which\ngoes against the recommended practice, and making it more cumbersome\nto eventually fix them, because we would need to break end user's\nconfiguration.\n\nThings like 1/10 and 2/10 that can be characterized as:\n\n> This is a trivial cleanup, cannot cause regressions.\n\nmay probably be a good clean-up to build the next development cycle\non top, but are not at all urgent for it to deserve to be included\nin the upcoming release.  But it seems that 3-8 textually depend on\nat least 2, so I'll queue the first eight for 1.8.3 and exclude the\nrest for now.  If these are identical to the early part of the\n47-patch series (I didn't check; they are for the next cycle), it\nwould make the next cycle shorter by 8 patches.\n"},{"id":"217385","messageId":"CAMP44s0Wd4VEc_mwr=xguVAnXvn+YVz24u8eS4Nyy0HCjwJ+dw@mail.gmail.com","threadId":"33813","inReplyTo":"7vzjvxfck2.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH v3 08/10] remote-hg: update bookmarks when pulling","fromName":"Felipe Contreras","fromEmail":"felipe.contreras@gmail.com","sentAt":"2013-05-14T22:14:48Z","receivedAt":"2013-05-14T22:14:48Z","isPatch":true,"sender":{"key":"felipe.contreras@gmail.com","avatar":"https://avatars.githubusercontent.com/u/8358?v=4"},"body":"On Tue, May 14, 2013 at 4:59 PM, Junio C Hamano <gitster@pobox.com> wrote:\n> Felipe Contreras <felipe.contreras@gmail.com> writes:\n>\n>> Without this fix, the user would never ever see new bookmarks, only the ones\n>> that (s)he initially cloned.\n>\n> Now, think again and realize how long it took you (the original\n> author) to discover issues and come up with these fixes and\n> explanation since the series was merged before -rc0.\n\nThis issue has *always* been there, it's not a regression.\n\n> Are we giving the users enough time to discover and complain issues\n> that these 10 patches may introduce before the final release?\n\nYes, because the time needed is *zero*.\n\n> \"You\n> can see these patches are so trivially correct\" is not a valid\n> argument. The original patches would also have been looked correct\n> when they were sent to the list. Things take time and actual use by\n> the users to mature.\n\nThere was no original patches that introduced this regression, because\nit's not a regression.\n\nWhen I say these are trivially correct, I mean it; the regressions you\ntalk about were on patches that were marked as *not* trivially\ncorrect, and potentially dangerous.\n\n> Having said that, the impression I am getting is that whatever we\n> pushed out in 1.8.2 and 1.8.3-rc0 was far from ready for real use,\n> and with your explanations (by the way, I found that many of them\n> deserve to be in the log message), the end result of applying these\n> patches, up to 8/10, will still not be as it is very likely that you\n> and users will discover issues at a similar rate, but at least it\n> will be much closer to be ready than they currently are.\n\nDefine \"ready\". It's probably more \"ready\" than any other bridge tool out there.\n\n> In other words, it still seems to be in \"something is better than\n> nothing, newer is better than older\" stage before stabilization.\n\nremote-hg is already stable, this patch has nothing to do with\nstabilization, neither do any of the 47 patches I sent to the list.\n\n> And that is to be expected for a contrib/ material; nothing for us\n> to be ashamed of.  So I changed my mind.  As long as it is clearly\n> marked as \"still experimental, possibly with rough edges\", I think\n> it is better to ship 1.8.3 with these 8 patches than without.\n>\n> I am unhappy with 3/10, though.  It is spreading existing mistake by\n> adding another configuration variable with dash in its name, which\n> goes against the recommended practice, and making it more cumbersome\n> to eventually fix them, because we would need to break end user's\n> configuration.\n\nIt's not adding any configuration; remote-hg.track-branches is already\npresent, even in v1.8.2.\n\n> Things like 1/10 and 2/10 that can be characterized as:\n>\n>> This is a trivial cleanup, cannot cause regressions.\n>\n> may probably be a good clean-up to build the next development cycle\n> on top, but are not at all urgent for it to deserve to be included\n> in the upcoming release.  But it seems that 3-8 textually depend on\n> at least 2, so I'll queue the first eight for 1.8.3 and exclude the\n> rest for now.  If these are identical to the early part of the\n> 47-patch series (I didn't check; they are for the next cycle), it\n> would make the next cycle shorter by 8 patches.\n\nIndeed, they are exactly the same as the first 10 patches of the\n47-patch series.\n\nI think this makes sense.\n\n-- \nFelipe Contreras\n"},{"id":"217389","messageId":"7vbo8dfbbr.fsf@alter.siamese.dyndns.org","threadId":"33813","inReplyTo":"CAMP44s0Wd4VEc_mwr=xguVAnXvn+YVz24u8eS4Nyy0HCjwJ+dw@mail.gmail.com","subject":"Re: [PATCH v3 08/10] remote-hg: update bookmarks when pulling","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2013-05-14T22:25:44Z","receivedAt":"2013-05-14T22:25:44Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Felipe Contreras <felipe.contreras@gmail.com> writes:\n\n> On Tue, May 14, 2013 at 4:59 PM, Junio C Hamano <gitster@pobox.com> wrote:\n>> Felipe Contreras <felipe.contreras@gmail.com> writes:\n>>\n>>> Without this fix, the user would never ever see new bookmarks, only the ones\n>>> that (s)he initially cloned.\n>>\n>> Now, think again and realize how long it took you (the original\n>> author) to discover issues and come up with these fixes and\n>> explanation since the series was merged before -rc0.\n>\n> This issue has *always* been there, it's not a regression.\n\nThen why are you rushing it?  -rc is a \"regression-fix-only\" period.\n\n> Define \"ready\". It's probably more \"ready\" than any other bridge\n> tool out there.\n\nAnything that needs \"oh, we need to push these ten patches to avoid\nregressions at the last minute\" is not mature enough to be relied\nupon by end users for everyday use.  That is what I meant.\n\nBut now you are saying these are not regression fixes, in which case\nthey have to wait because the users have known about the limitations\nthat existed for a long time and learned to live with them.  That is\na sign of mature (not \"not ready\") software.\n\nYou cannot be both.  Which is it?\n"},{"id":"217391","messageId":"CAMP44s0u0WPNneM-GoiqCkWTC-CT_Xa2z3on=smRiFJdd9ffeQ@mail.gmail.com","threadId":"33813","inReplyTo":"7vbo8dfbbr.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH v3 08/10] remote-hg: update bookmarks when pulling","fromName":"Felipe Contreras","fromEmail":"felipe.contreras@gmail.com","sentAt":"2013-05-14T22:39:02Z","receivedAt":"2013-05-14T22:39:02Z","isPatch":true,"sender":{"key":"felipe.contreras@gmail.com","avatar":"https://avatars.githubusercontent.com/u/8358?v=4"},"body":"On Tue, May 14, 2013 at 5:25 PM, Junio C Hamano <gitster@pobox.com> wrote:\n> Felipe Contreras <felipe.contreras@gmail.com> writes:\n>\n>> On Tue, May 14, 2013 at 4:59 PM, Junio C Hamano <gitster@pobox.com> wrote:\n>>> Felipe Contreras <felipe.contreras@gmail.com> writes:\n>>>\n>>>> Without this fix, the user would never ever see new bookmarks, only the ones\n>>>> that (s)he initially cloned.\n>>>\n>>> Now, think again and realize how long it took you (the original\n>>> author) to discover issues and come up with these fixes and\n>>> explanation since the series was merged before -rc0.\n>>\n>> This issue has *always* been there, it's not a regression.\n>\n> Then why are you rushing it?  -rc is a \"regression-fix-only\" period.\n\nI'm not rushing this patch, I'm rushing the regression fix. I added\nthe cleanup patches because they help the fix, and I added this patch\nbecause it's obviously good.\n\n>> Define \"ready\". It's probably more \"ready\" than any other bridge\n>> tool out there.\n>\n> Anything that needs \"oh, we need to push these ten patches to avoid\n> regressions at the last minute\" is not mature enough to be relied\n> upon by end users for everyday use.  That is what I meant.\n\nOnly a single patch is needed to fix the regression and I sent that\npatch standalone in v2 of this series, but you didn't pick it, so I\nsent the cleanups as well.\n\n> But now you are saying these are not regression fixes, in which case\n> they have to wait because the users have known about the limitations\n> that existed for a long time and learned to live with them.  That is\n> a sign of mature (not \"not ready\") software.\n\nNo, they don't have to wait. And we don't have to mindlessly apply\nguidelines as dogma.\n\nThe reason for the \"only regression\" period is to avoid more\nregressions. If you show me how any of the fixes I sent in this series\ncould potentially cause a regression, I would agree with you, even if\nremote, the possibility would be there, therefore the patch wouldn't\nbe material for 1.8.3.\n\nBut the fact of the matter is that the possibility is not there, we\nare not decreasing the possibility of regressions, we are simply\nremoving a feature users could enjoy for no gain at all.\n\n> You cannot be both.  Which is it?\n\nI marked the patch that fix a regression as such, I marked the patches\nthat are obvious fixes with no possibility of regressions as such, and\nI marked the trivial cleanups with no possibility of regressions as\nsuch.\n\n-- \nFelipe Contreras\n"},{"id":"217394","messageId":"7v38tpfa7u.fsf@alter.siamese.dyndns.org","threadId":"33813","inReplyTo":"CAMP44s0u0WPNneM-GoiqCkWTC-CT_Xa2z3on=smRiFJdd9ffeQ@mail.gmail.com","subject":"Re: [PATCH v3 08/10] remote-hg: update bookmarks when pulling","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2013-05-14T22:49:41Z","receivedAt":"2013-05-14T22:49:41Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Felipe Contreras <felipe.contreras@gmail.com> writes:\n\n> The reason for the \"only regression\" period is to avoid more\n> regressions. If you show me how any of the fixes I sent in this series\n> could potentially cause a regression,\n\nI already said that \"You can see these patches are so trivially\ncorrect\" is not a valid argument. The original patches would also\nhave been looked correct when they were sent to the list. Things\ntake time and actual use by the users to mature.\n\n>> You cannot be both.  Which is it?\n>\n> I marked the patch that fix a regression as such, I marked the patches\n> that are obvious fixes with no possibility of regressions as such, and\n> I marked the trivial cleanups with no possibility of regressions as\n> such.\n\nI think you mean 6/10 by \"the patch that fix a regression\", but if\nthat is the case, please send only the regression fix that cleanly\napply to the tip of 'master', without any other dependencies, with a\nproper description of what breaks and how it fixes.\n\nWe know you can do better than \"certain\" and \"might\".\n\n> In certain situations we might end up pushing garbage revisions (e.g. in\n> a rebase), and the patches to deal with that haven't been merged yet.\n> \n> So let's disable forced pushes by default.\n\nThanks.\n"},{"id":"217395","messageId":"CAMP44s32KkJY3OxifDEmqp0ZkhQiRQCVwxYvSNGgqTnwC3DLEw@mail.gmail.com","threadId":"33813","inReplyTo":"7v38tpfa7u.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH v3 08/10] remote-hg: update bookmarks when pulling","fromName":"Felipe Contreras","fromEmail":"felipe.contreras@gmail.com","sentAt":"2013-05-14T23:11:51Z","receivedAt":"2013-05-14T23:11:51Z","isPatch":true,"sender":{"key":"felipe.contreras@gmail.com","avatar":"https://avatars.githubusercontent.com/u/8358?v=4"},"body":"On Tue, May 14, 2013 at 5:49 PM, Junio C Hamano <gitster@pobox.com> wrote:\n> Felipe Contreras <felipe.contreras@gmail.com> writes:\n>\n>> The reason for the \"only regression\" period is to avoid more\n>> regressions. If you show me how any of the fixes I sent in this series\n>> could potentially cause a regression,\n>\n> I already said that \"You can see these patches are so trivially\n> correct\" is not a valid argument.\n\nYou can say so, it doesn't make it so.\n\n> The original patches would also\n> have been looked correct when they were sent to the list.\n\nNo, they didn't look correct, and I made it clear when I sent the\npatches to be *tested*.\n\n> Things\n> take time and actual use by the users to mature.\n\nSome things, not all things. That's a hasty generalization fallacy.\n\n>>> You cannot be both.  Which is it?\n>>\n>> I marked the patch that fix a regression as such, I marked the patches\n>> that are obvious fixes with no possibility of regressions as such, and\n>> I marked the trivial cleanups with no possibility of regressions as\n>> such.\n>\n> I think you mean 6/10 by \"the patch that fix a regression\", but if\n> that is the case, please send only the regression fix that cleanly\n> apply to the tip of 'master', without any other dependencies, with a\n> proper description of what breaks and how it fixes.\n\nI did that for v2, but you didn't merge that.\n\n> We know you can do better than \"certain\" and \"might\".\n>\n>> In certain situations we might end up pushing garbage revisions (e.g. in\n>> a rebase), and the patches to deal with that haven't been merged yet.\n>>\n>> So let's disable forced pushes by default.\n\nI have done more than enough. I'm not going to write tests for this,\nand I'm not going to find out for sure. There is a *potential* that\nthere's a regression, and that's reason enough to apply this patch as\nit is.\n\nI have done way more than my fair share already. I'm 98% certain that\nthis patch series as it is would not introduce a regression for\nv1.8.3, and that's good enough for me. If anybody has any problem with\nthat, they can pick this series and do whatever they want with them.\n\nIf I'm supposed to be the owner of contrib/remote-helpers, it\ncertainly doesn't feel that way. If I am the owner, but you are\nworried, why don't you let me make the decision, and if something\nblows in v1.8.3, you can tell me; \"see? you are not ready to have the\nfull maintainership of this\". After all, this is in the contrib area,\nso if there's a time for a possible future maintainer of a core part\nof git to make mistakes, it would be now. But of course, this would\n*not* happen, because the patches are obviously correct and I stand by\nthat claim.\n\nAs things currently stand, v1.8.3 *might* introduce a regression.\n\n-- \nFelipe Contreras\n"},{"id":"217399","messageId":"7vmwrxdtoh.fsf@alter.siamese.dyndns.org","threadId":"33813","inReplyTo":"CAMP44s32KkJY3OxifDEmqp0ZkhQiRQCVwxYvSNGgqTnwC3DLEw@mail.gmail.com","subject":"Re: [PATCH v3 08/10] remote-hg: update bookmarks when pulling","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2013-05-14T23:32:14Z","receivedAt":"2013-05-14T23:32:14Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Felipe Contreras <felipe.contreras@gmail.com> writes:\n\n> ... After all, this is in the contrib area,\n> so if there's a time for a possible future maintainer of a core part\n> of git to make mistakes, it would be now.\n\nThat sounds reasonable.\n\nIncidentally, before I had to stop working in order to respond to\nyour endless arguments, I already queued the 8 patches to 'master'\n(also remote-bzr one is in below that).\n\nI had no time checking other topics in flight nor merging the result\nup to 'next' and 'pu' yet, and it will take a while for the result\nto be published, but we'll see these in 1.8.3.\n"},{"id":"217401","messageId":"CAMP44s1MZPJ3ei0YmDLosqKam4De+ofefaaf6R_4PSzVBrg1Yg@mail.gmail.com","threadId":"33813","inReplyTo":"7vmwrxdtoh.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH v3 08/10] remote-hg: update bookmarks when pulling","fromName":"Felipe Contreras","fromEmail":"felipe.contreras@gmail.com","sentAt":"2013-05-14T23:37:01Z","receivedAt":"2013-05-14T23:37:01Z","isPatch":true,"sender":{"key":"felipe.contreras@gmail.com","avatar":"https://avatars.githubusercontent.com/u/8358?v=4"},"body":"On Tue, May 14, 2013 at 6:32 PM, Junio C Hamano <gitster@pobox.com> wrote:\n> Felipe Contreras <felipe.contreras@gmail.com> writes:\n>\n>> ... After all, this is in the contrib area,\n>> so if there's a time for a possible future maintainer of a core part\n>> of git to make mistakes, it would be now.\n>\n> That sounds reasonable.\n>\n> Incidentally, before I had to stop working in order to respond to\n> your endless arguments, I already queued the 8 patches to 'master'\n> (also remote-bzr one is in below that).\n\nCool. But FTR, the \"endless arguments\" come from both sides.\n\n> I had no time checking other topics in flight nor merging the result\n> up to 'next' and 'pu' yet, and it will take a while for the result\n> to be published, but we'll see these in 1.8.3.\n\nWell, the priority is 1.8.3.\n\nCheers.\n\n-- \nFelipe Contreras\n"},{"id":"217470","messageId":"7v8v3gav6v.fsf@alter.siamese.dyndns.org","threadId":"33813","inReplyTo":"51929c576d949_13a8f89e18183b@nysa.mail","subject":"Re: [PATCH v3 05/10] remote-hg: fix new branch creation","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2013-05-15T19:40:08Z","receivedAt":"2013-05-15T19:40:08Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Felipe Contreras <felipe.contreras@gmail.com> writes:\n\n> Felipe Contreras wrote:\n>> When force_push is disabled, we need to turn the argument to True.\n\nWith your follow-up clarification, here is what ended up in the log\nmessage:\n\n    remote-hg: fix new branch creation\n\n    When a user creates a new branch with git:\n\n      $ git checkout -b branches/devel\n\n    and then pushes this branch\n\n      $ git push origin branches/devel\n\n    which is the way to push new mercurial branches, we do want to\n    create a branch, but the command would fail without newbranch=True.\n\n    This only matters when force_push=False, but setting newbranch=True\n    unconditionally does not hurt.\n\nThe only part that I came up with on my own is \"but ... does not\nhurt\" at the end.  If that is incorrect, please supply an update.\n\nThanks.\n\n>> Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>\n>> ---\n>>  contrib/remote-helpers/git-remote-hg | 2 +-\n>>  1 file changed, 1 insertion(+), 1 deletion(-)\n>> \n>> diff --git a/contrib/remote-helpers/git-remote-hg b/contrib/remote-helpers/git-remote-hg\n>> index 4a5c72f..3cf9b4c 100755\n>> --- a/contrib/remote-helpers/git-remote-hg\n>> +++ b/contrib/remote-helpers/git-remote-hg\n>> @@ -856,7 +856,7 @@ def do_export(parser):\n>>              continue\n>>  \n>>      if peer:\n>> -        parser.repo.push(peer, force=force_push)\n>> +        parser.repo.push(peer, force=force_push, newbranch=True)\n>>  \n>>      # handle bookmarks\n>>      for bmark, node in p_bmarks:\n>> -- \n>> 1.8.3.rc1.579.g184e698\n"},{"id":"217472","messageId":"CAMP44s3hfQD7JLgDebH4RM4tJspMQvw2ojeFTpa6hXJmTjJVHA@mail.gmail.com","threadId":"33813","inReplyTo":"7v8v3gav6v.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH v3 05/10] remote-hg: fix new branch creation","fromName":"Felipe Contreras","fromEmail":"felipe.contreras@gmail.com","sentAt":"2013-05-15T19:45:30Z","receivedAt":"2013-05-15T19:45:30Z","isPatch":true,"sender":{"key":"felipe.contreras@gmail.com","avatar":"https://avatars.githubusercontent.com/u/8358?v=4"},"body":"On Wed, May 15, 2013 at 2:40 PM, Junio C Hamano <gitster@pobox.com> wrote:\n> Felipe Contreras <felipe.contreras@gmail.com> writes:\n>\n>> Felipe Contreras wrote:\n>>> When force_push is disabled, we need to turn the argument to True.\n>\n> With your follow-up clarification, here is what ended up in the log\n> message:\n>\n>     remote-hg: fix new branch creation\n>\n>     When a user creates a new branch with git:\n>\n>       $ git checkout -b branches/devel\n>\n>     and then pushes this branch\n>\n>       $ git push origin branches/devel\n>\n>     which is the way to push new mercurial branches,\n\nI don't like this part. This is not documentation, this is a commit\nmessage. You don't explain how git works in every commit message. It's\nnot relevant how to create Mercurial branches, it could be done\nthrough a totally different way and it wouldn't affect this patch. The\nonly thing that is relevant is that a new Mercurial branch is created\nsomehow.\n\nBut since you never, *ever*, agree that a piece of information in the\ncommit message is not useful, I realize this is wasted breath.\n\n>     we do want to\n>     create a branch, but the command would fail without newbranch=True.\n>\n>     This only matters when force_push=False, but setting newbranch=True\n>     unconditionally does not hurt.\n>\n> The only part that I came up with on my own is \"but ... does not\n> hurt\" at the end.  If that is incorrect, please supply an update.\n\nIt's correct.\n\n-- \nFelipe Contreras\n"}]}