Merge "Don't parse git log header for topic"
This commit is contained in:
commit
7ff674a3d0
@ -900,7 +900,14 @@ def get_topic(target_branch):
|
||||
"for the topic of the change submitted",
|
||||
"/".join(branch_parts[2:]))
|
||||
|
||||
log_output = run_command("git log HEAD^1..HEAD")
|
||||
preferred_log_format = "%B"
|
||||
log_output = run_command("git log --pretty='" + preferred_log_format +
|
||||
"' HEAD^1..HEAD")
|
||||
if log_output == preferred_log_format:
|
||||
# The %B format specifier is supported starting at Git v1.7.2. If it's
|
||||
# not supported, we'll just get back '%B', so we try something else.
|
||||
# The downside of %s is that it removes newlines in the subject.
|
||||
log_output = run_command("git log --pretty='%s%n%b' HEAD^1..HEAD")
|
||||
bug_re = r'''(?x) # verbose regexp
|
||||
\b([Bb]ug|[Ll][Pp]) # bug or lp
|
||||
[ \t\f\v]* # don't want to match newline
|
||||
|
@ -330,7 +330,7 @@ class GitReviewTestCase(tests.BaseGitReviewTestCase):
|
||||
|
||||
def test_bug_topic_newline(self):
|
||||
self._run_git_review('-s')
|
||||
self._simple_change('a change', 'new change not for bug\n123')
|
||||
self._simple_change('a change', 'new change not for bug\n\n123')
|
||||
self._assert_branch_would_be('master')
|
||||
|
||||
def test_bp_topic(self):
|
||||
@ -340,9 +340,73 @@ class GitReviewTestCase(tests.BaseGitReviewTestCase):
|
||||
|
||||
def test_bp_topic_newline(self):
|
||||
self._run_git_review('-s')
|
||||
self._simple_change('a change', 'new change not for bluepring\nasdf')
|
||||
self._simple_change('a change', 'new change not for blueprint\n\nasdf')
|
||||
self._assert_branch_would_be('master')
|
||||
|
||||
def test_author_name_topic_bp(self):
|
||||
old_author = None
|
||||
if 'GIT_AUTHOR_NAME' in os.environ:
|
||||
old_author = os.environ['GIT_AUTHOR_NAME']
|
||||
try:
|
||||
os.environ['GIT_AUTHOR_NAME'] = 'BPNAME'
|
||||
self._run_git_review('-s')
|
||||
self._simple_change('a change',
|
||||
'new change 1 with name but no topic')
|
||||
self._assert_branch_would_be('master')
|
||||
finally:
|
||||
if old_author:
|
||||
os.environ['GIT_AUTHOR_NAME'] = old_author
|
||||
else:
|
||||
del os.environ['GIT_AUTHOR_NAME']
|
||||
|
||||
def test_author_email_topic_bp(self):
|
||||
old_author = None
|
||||
if 'GIT_AUTHOR_EMAIL' in os.environ:
|
||||
old_author = os.environ['GIT_AUTHOR_EMAIL']
|
||||
try:
|
||||
os.environ['GIT_AUTHOR_EMAIL'] = 'bpemail@example.com'
|
||||
self._run_git_review('-s')
|
||||
self._simple_change('a change',
|
||||
'new change 1 with email but no topic')
|
||||
self._assert_branch_would_be('master')
|
||||
finally:
|
||||
if old_author:
|
||||
os.environ['GIT_AUTHOR_EMAIL'] = old_author
|
||||
else:
|
||||
del os.environ['GIT_AUTHOR_EMAIL']
|
||||
|
||||
def test_author_name_topic_bug(self):
|
||||
old_author = None
|
||||
if 'GIT_AUTHOR_NAME' in os.environ:
|
||||
old_author = os.environ['GIT_AUTHOR_NAME']
|
||||
try:
|
||||
os.environ['GIT_AUTHOR_NAME'] = 'Bug: #1234'
|
||||
self._run_git_review('-s')
|
||||
self._simple_change('a change',
|
||||
'new change 2 with name but no topic')
|
||||
self._assert_branch_would_be('master')
|
||||
finally:
|
||||
if old_author:
|
||||
os.environ['GIT_AUTHOR_NAME'] = old_author
|
||||
else:
|
||||
del os.environ['GIT_AUTHOR_NAME']
|
||||
|
||||
def test_author_email_topic_bug(self):
|
||||
old_author = None
|
||||
if 'GIT_AUTHOR_EMAIL' in os.environ:
|
||||
old_author = os.environ['GIT_AUTHOR_EMAIL']
|
||||
try:
|
||||
os.environ['GIT_AUTHOR_EMAIL'] = 'bug5678@example.com'
|
||||
self._run_git_review('-s')
|
||||
self._simple_change('a change',
|
||||
'new change 2 with email but no topic')
|
||||
self._assert_branch_would_be('master')
|
||||
finally:
|
||||
if old_author:
|
||||
os.environ['GIT_AUTHOR_EMAIL'] = old_author
|
||||
else:
|
||||
del os.environ['GIT_AUTHOR_EMAIL']
|
||||
|
||||
def test_git_review_T(self):
|
||||
self._run_git_review('-s')
|
||||
self._simple_change('test file modified', 'commit message for bug 456')
|
||||
|
Loading…
x
Reference in New Issue
Block a user