diff options
author | Guido Günther <agx@sigxcpu.org> | 2017-02-06 08:52:24 +0100 |
---|---|---|
committer | Guido Günther <agx@sigxcpu.org> | 2017-02-06 19:25:03 +0100 |
commit | 03bb8ef8e442c356b55d19e5f2422aa0b62d3a75 (patch) | |
tree | 95cec9ce381643ff54c46602eac01bca5c4568ba /tests/28_test_gbp_git_repository_commit_dir.py | |
parent | d31fb0b47bb0fc6c25f159caa4c3e2068d9ccbd5 (diff) |
GitRepository: shorten reflog message
Closes: #854333
Thanks: Chris Lamb for the report
Diffstat (limited to 'tests/28_test_gbp_git_repository_commit_dir.py')
-rw-r--r-- | tests/28_test_gbp_git_repository_commit_dir.py | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/tests/28_test_gbp_git_repository_commit_dir.py b/tests/28_test_gbp_git_repository_commit_dir.py new file mode 100644 index 00000000..67d47500 --- /dev/null +++ b/tests/28_test_gbp_git_repository_commit_dir.py @@ -0,0 +1,42 @@ +# vim: set fileencoding=utf-8 : + +import os + +from . testutils import DebianGitTestRepo +from gbp.git.repository import GitRepositoryError + + +class TestGitRepositoryCommitDir(DebianGitTestRepo): + def setUp(self): + DebianGitTestRepo.setUp(self) + self.content = os.path.join(str(self.tmpdir), 'new') + os.mkdir(self.content) + with open(os.path.join(self.content, 'file1'), 'w') as f: + f.write('content1') + + def test_simple(self): + self.repo.commit_dir(self.content, + 'new content', + 'master', + create_missing_branch=True) + self.assertEquals(self.repo.show('master:file1'), 'content1') + + def test_long_reflog(self): + """Make sure we fail on onverly long msg resulting in an + overly long reflog enry""" + with self.assertRaises(GitRepositoryError): + self.repo.commit_dir(self.content, + 'foo' * 100000, + 'master', + create_missing_branch=True) + + def test_long_msg_854333(self): + """Make sure we shorten the reflog entry properly""" + self.repo.commit_dir(self.content, + 'foo\n' * 100000, + 'master', + create_missing_branch=True) + self.assertEquals(self.repo.show('master:file1'), 'content1') + out, dummy, ret = self.repo._git_inout('reflog', []) + self.assertEquals(ret, 0) + self.assertIn('HEAD@{0}: gbp: foo\n', out) |