Mercurial > hgsubversion
diff push_cmd.py @ 206:c2e51d6a2d7b
push: Converted a magic number to an actual constant, and catch another apr_err that appears to also mean base text out of date.
author | Augie Fackler <durin42@gmail.com> |
---|---|
date | Tue, 03 Mar 2009 10:13:40 -0600 |
parents | 57355b0e7bd1 |
children | 06eb60f9a026 |
line wrap: on
line diff
--- a/push_cmd.py +++ b/push_cmd.py @@ -148,7 +148,7 @@ def _getdirchanges(svn, branchpath, pare changeddirs[d] = 1 if not changeddirs: return added, deleted - olddirs = getctxdirs(parentctx, changeddirs, + olddirs = getctxdirs(parentctx, changeddirs, [e[0] for e in extchanges if e[1]]) newdirs = getctxdirs(ctx, changeddirs, [e[0] for e in extchanges if e[2]]) @@ -181,7 +181,7 @@ def commit_from_rev(ui, repo, rev_ctx, h if parent_branch and parent_branch != 'default': branch_path = 'branches/%s' % parent_branch - extchanges = list(svnexternals.diff(_externals(parent), + extchanges = list(svnexternals.diff(_externals(parent), _externals(rev_ctx))) addeddirs, deleteddirs = _getdirchanges(svn, branch_path, parent, rev_ctx, rev_ctx.files(), extchanges) @@ -273,7 +273,8 @@ def commit_from_rev(ui, repo, rev_ctx, h base_revision, set(addeddirs), set(deleteddirs), props, newcopies) except core.SubversionException, e: - if hasattr(e, 'apr_err') and e.apr_err == 160028: + if hasattr(e, 'apr_err') and (e.apr_err == core.SVN_ERR_FS_TXN_OUT_OF_DATE + or e.apr_err == core.SVN_ERR_FS_CONFLICT): raise merc_util.Abort('Base text was out of date, maybe rebase?') else: raise