remotenames: check the remotepath with url containing user information too
Current logic to match a remotepatch to a user defined path first removes the
authentication information from the url and then tries to match it. However this
is not true every time. If we clone a repo using ssh, the default path contains
the user information too.
Differential Revision: https://phab.mercurial-scm.org/D3518
#!/usr/bin/env python
from __future__ import absolute_import, print_function
import sys
from mercurial import (
commands,
localrepo,
ui as uimod,
)
print_ = print
def print(*args, **kwargs):
"""print() wrapper that flushes stdout buffers to avoid py3 buffer issues
We could also just write directly to sys.stdout.buffer the way the
ui object will, but this was easier for porting the test.
"""
print_(*args, **kwargs)
sys.stdout.flush()
u = uimod.ui.load()
print('% creating repo')
repo = localrepo.localrepository(u, b'.', create=True)
f = open('test.py', 'w')
try:
f.write('foo\n')
finally:
f.close
print('% add and commit')
commands.add(u, repo, b'test.py')
commands.commit(u, repo, message=b'*')
commands.status(u, repo, clean=True)
print('% change')
f = open('test.py', 'w')
try:
f.write('bar\n')
finally:
f.close()
# this would return clean instead of changed before the fix
commands.status(u, repo, clean=True, modified=True)