@@ -718,24 +718,33 @@ - (GTSubmodule *)submoduleWithName:(NSString *)name error:(NSError **)error {
718718
719719#pragma mark User
720720
721+ + (NSString *)defaultUserName {
722+ NSString *name = NSFullUserName ();
723+ if (name.length == 0 ) name = NSUserName ();
724+ if (name.length == 0 ) name = @" nobody" ;
725+ return name;
726+ }
727+
728+ + (NSString *)defaultEmail {
729+ NSString *username = NSUserName ();
730+ if (username.length == 0 ) username = @" nobody" ;
731+ NSString *domain = NSProcessInfo .processInfo .hostName ?: @" nowhere.local" ;
732+ return [NSString stringWithFormat: @" %@ @%@ " , username, domain];
733+ }
734+
721735- (GTSignature *)userSignatureForNow {
722736 GTConfiguration *configuration = [self configurationWithError: NULL ];
723737 NSString *name = [configuration stringForKey: @" user.name" ];
724- if (name.length == 0 ) {
725- name = NSFullUserName ();
726- if (name.length == 0 ) name = NSUserName ();
727- if (name.length == 0 ) name = @" nobody" ;
728- }
738+ if (name.length == 0 ) name = self.class .defaultUserName ;
729739
730740 NSString *email = [configuration stringForKey: @" user.email" ];
731- if (email == nil ) {
732- NSString *username = NSUserName ();
733- if (username.length == 0 ) username = @" nobody" ;
734- NSString *domain = NSProcessInfo .processInfo .hostName ?: @" nowhere.local" ;
735- email = [NSString stringWithFormat: @" %@ @%@ " , username, domain];
736- }
741+ if (email == nil ) email = self.class .defaultEmail ;
742+
743+ NSDate *now = [NSDate date ];
744+ GTSignature *signature = [[GTSignature alloc ] initWithName: name email: email time: now];
745+ if (signature != nil ) return signature;
737746
738- return [[GTSignature alloc ] initWithName: name email: email time: [ NSDate date ] ];
747+ return [[GTSignature alloc ] initWithName: self .class.defaultUserName email: self .class.defaultEmail time: now ];
739748}
740749
741750#pragma mark Tagging
0 commit comments