Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitea1a03a

Browse files
authored
Merge pull request#1314 from eric-wieser/patch-1
Do not call get_user_id if it is not needed
2 parents8e226ed +ec04ea0 commitea1a03a

File tree

2 files changed

+35
-13
lines changed

2 files changed

+35
-13
lines changed

‎git/util.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -705,7 +705,11 @@ def default_name() -> str:
705705
setattr(actor,attr,val)
706706
exceptKeyError:
707707
ifconfig_readerisnotNone:
708-
setattr(actor,attr,config_reader.get_value('user',cvar,default()))
708+
try:
709+
val=config_reader.get('user',cvar)
710+
exceptException:
711+
val=default()
712+
setattr(actor,attr,val)
709713
# END config-reader handling
710714
ifnotgetattr(actor,attr):
711715
setattr(actor,attr,default())

‎test/test_util.py

Lines changed: 30 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,10 @@
2222
parse_date,
2323
tzoffset,
2424
from_timestamp)
25-
fromtest.libimportTestBase
25+
fromtest.libimport (
26+
TestBase,
27+
with_rw_repo,
28+
)
2629
fromgit.utilimport (
2730
LockFile,
2831
BlockingLockFile,
@@ -217,16 +220,31 @@ def test_actor(self):
217220
self.assertIsInstance(Actor.author(cr),Actor)
218221
# END assure config reader is handled
219222

223+
@with_rw_repo('HEAD')
220224
@mock.patch("getpass.getuser")
221-
deftest_actor_get_uid_laziness_not_called(self,mock_get_uid):
225+
deftest_actor_get_uid_laziness_not_called(self,rwrepo,mock_get_uid):
226+
withrwrepo.config_writer()ascw:
227+
cw.set_value("user","name","John Config Doe")
228+
cw.set_value("user","email","jcdoe@example.com")
229+
230+
cr=rwrepo.config_reader()
231+
committer=Actor.committer(cr)
232+
author=Actor.author(cr)
233+
234+
self.assertEqual(committer.name,'John Config Doe')
235+
self.assertEqual(committer.email,'jcdoe@example.com')
236+
self.assertEqual(author.name,'John Config Doe')
237+
self.assertEqual(author.email,'jcdoe@example.com')
238+
self.assertFalse(mock_get_uid.called)
239+
222240
env= {
223241
"GIT_AUTHOR_NAME":"John Doe",
224242
"GIT_AUTHOR_EMAIL":"jdoe@example.com",
225243
"GIT_COMMITTER_NAME":"Jane Doe",
226244
"GIT_COMMITTER_EMAIL":"jane@example.com",
227245
}
228246
os.environ.update(env)
229-
forcrin (None,self.rorepo.config_reader()):
247+
forcrin (None,rwrepo.config_reader()):
230248
committer=Actor.committer(cr)
231249
author=Actor.author(cr)
232250
self.assertEqual(committer.name,'Jane Doe')
@@ -238,16 +256,16 @@ def test_actor_get_uid_laziness_not_called(self, mock_get_uid):
238256
@mock.patch("getpass.getuser")
239257
deftest_actor_get_uid_laziness_called(self,mock_get_uid):
240258
mock_get_uid.return_value="user"
241-
forcrin (None,self.rorepo.config_reader()):
242-
committer=Actor.committer(cr)
243-
author=Actor.author(cr)
244-
ifcrisNone:# otherwise, use value from config_reader
245-
self.assertEqual(committer.name,'user')
246-
self.assertTrue(committer.email.startswith('user@'))
247-
self.assertEqual(author.name,'user')
248-
self.assertTrue(committer.email.startswith('user@'))
259+
committer=Actor.committer(None)
260+
author=Actor.author(None)
261+
# We can't test with `self.rorepo.config_reader()` here, as the uuid laziness
262+
# depends on whether the user running the test has their global user.name config set.
263+
self.assertEqual(committer.name,'user')
264+
self.assertTrue(committer.email.startswith('user@'))
265+
self.assertEqual(author.name,'user')
266+
self.assertTrue(committer.email.startswith('user@'))
249267
self.assertTrue(mock_get_uid.called)
250-
self.assertEqual(mock_get_uid.call_count,4)
268+
self.assertEqual(mock_get_uid.call_count,2)
251269

252270
deftest_actor_from_string(self):
253271
self.assertEqual(Actor._from_string("name"),Actor("name",None))

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp