Issue #14053: Fix "make patchcheck" to work with MQ.

Patch by Francisco Martín Brugué
This commit is contained in:
Nadeem Vawda 2012-02-22 11:40:09 +02:00
parent 93291534b7
commit f00011aff4
3 changed files with 20 additions and 0 deletions

View File

@ -108,6 +108,7 @@ Jean Brouwers
Gary S. Brown Gary S. Brown
Oleg Broytmann Oleg Broytmann
Dave Brueck Dave Brueck
Francisco Martín Brugué
Stan Bubrouski Stan Bubrouski
Erik de Bueger Erik de Bueger
Dick Bulterman Dick Bulterman

View File

@ -531,6 +531,9 @@ Build
Tools/Demos Tools/Demos
----------- -----------
- Issue #14053: patchcheck.py ("make patchcheck") now works with MQ patches.
Patch by Francisco Martín Brugué.
- Issue #13930: 2to3 is now able to write its converted output files to another - Issue #13930: 2to3 is now able to write its converted output files to another
directory tree as well as copying unchanged files and altering the file directory tree as well as copying unchanged files and altering the file
suffix. See its new -o, -W and --add-suffix options. This makes it more suffix. See its new -o, -W and --add-suffix options. This makes it more

View File

@ -36,6 +36,20 @@ def status(message, modal=False, info=None):
return decorated_fxn return decorated_fxn
def mq_patches_applied():
"""Check if there are any applied MQ patches."""
cmd = 'hg qapplied'
st = subprocess.Popen(cmd.split(),
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
try:
bstdout, _ = st.communicate()
return st.returncode == 0 and bstdout
finally:
st.stdout.close()
st.stderr.close()
@status("Getting the list of files that have been added/changed", @status("Getting the list of files that have been added/changed",
info=lambda x: n_files_str(len(x))) info=lambda x: n_files_str(len(x)))
def changed_files(): def changed_files():
@ -43,6 +57,8 @@ def changed_files():
if os.path.isdir(os.path.join(SRCDIR, '.hg')): if os.path.isdir(os.path.join(SRCDIR, '.hg')):
vcs = 'hg' vcs = 'hg'
cmd = 'hg status --added --modified --no-status' cmd = 'hg status --added --modified --no-status'
if mq_patches_applied():
cmd += ' --rev qparent'
elif os.path.isdir('.svn'): elif os.path.isdir('.svn'):
vcs = 'svn' vcs = 'svn'
cmd = 'svn status --quiet --non-interactive --ignore-externals' cmd = 'svn status --quiet --non-interactive --ignore-externals'