D6835: phabricator: don't abort if property writing fails during amending

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

D6835: phabricator: don't abort if property writing fails during amending

martinvonz (Martin von Zweigbergk)
Kwan created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  Currently if one of the writediffproperty calls fails due to network issues
  during the amending of commit messages to include the Diff. Rev. line, the
  transaction is aborted and rolled back.  This means that the associations
  between the commits and the DREVs are lost for any already amended commits
  because the removal of the local tags isn't covered by the rollback.

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D6835

AFFECTED FILES
  hgext/phabricator.py

CHANGE DETAILS

diff --git a/hgext/phabricator.py b/hgext/phabricator.py
--- a/hgext/phabricator.py
+++ b/hgext/phabricator.py
@@ -659,7 +659,12 @@
 
                     mapping[old.node()] = [newnode]
                     # Update diff property
-                    writediffproperties(unfi[newnode], diffmap[old.node()])
+                    # If it fails just warn and keep going, otherwise the DREV
+                    # associations will be lost
+                    try:
+                        writediffproperties(unfi[newnode], diffmap[old.node()])
+                    except util.urlerr.urlerror:
+                        ui.warn(b'Failed to update metadata for D%s\n' % drevid)
                 # Remove local tags since it's no longer necessary
                 tagname = b'D%d' % drevid
                 if tagname in repo.tags():



To: Kwan, #hg-reviewers
Cc: mercurial-devel
_______________________________________________
Mercurial-devel mailing list
[hidden email]
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel
Reply | Threaded
Open this post in threaded view
|

D6835: phabricator: don't abort if property writing fails during amending

martinvonz (Martin von Zweigbergk)
Closed by commit rHG0a7e60f50dd4: phabricator: don't abort if property writing fails during amending (authored by Kwan).
This revision was automatically updated to reflect the committed changes.
This revision was not accepted when it landed; it landed in state "Needs Review".

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D6835?vs=16472&id=16473

CHANGES SINCE LAST ACTION
  https://phab.mercurial-scm.org/D6835/new/

REVISION DETAIL
  https://phab.mercurial-scm.org/D6835

AFFECTED FILES
  hgext/phabricator.py

CHANGE DETAILS

diff --git a/hgext/phabricator.py b/hgext/phabricator.py
--- a/hgext/phabricator.py
+++ b/hgext/phabricator.py
@@ -659,7 +659,12 @@
 
                     mapping[old.node()] = [newnode]
                     # Update diff property
-                    writediffproperties(unfi[newnode], diffmap[old.node()])
+                    # If it fails just warn and keep going, otherwise the DREV
+                    # associations will be lost
+                    try:
+                        writediffproperties(unfi[newnode], diffmap[old.node()])
+                    except util.urlerr.urlerror:
+                        ui.warn(b'Failed to update metadata for D%s\n' % drevid)
                 # Remove local tags since it's no longer necessary
                 tagname = b'D%d' % drevid
                 if tagname in repo.tags():



To: Kwan, #hg-reviewers
Cc: mercurial-devel
_______________________________________________
Mercurial-devel mailing list
[hidden email]
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel