return (leading_matches(), rest())
+def merge_dict(*xs):
+ result = {}
+ for x in xs:
+ result.update(x)
+ return result
+
+
def lines_until_sentinel(f, sentinel, ex_type):
# sentinel must end with \n and must contain only one \n
while True:
global _username
if not _username:
uid = os.getuid()
- _username = pwd_from_uid(uid)[0] or 'user%d' % uid
+ _username = pwd_from_uid(uid).pw_name or b'user%d' % uid
return _username
uid = os.getuid()
entry = pwd_from_uid(uid)
if entry:
- _userfullname = entry[4].split(',')[0] or entry[0]
+ _userfullname = entry.pw_gecos.split(b',')[0] or entry.pw_name
if not _userfullname:
- _userfullname = 'user%d' % uid
+ _userfullname = b'user%d' % uid
return _userfullname
return x
-_some_invalid_save_parts_rx = re.compile(r'[[ ~^:?*\\]|\.\.|//|@{')
+_some_invalid_save_parts_rx = re.compile(r'[\[ ~^:?*\\]|\.\.|//|@{')
def valid_save_name(name):
# Enforce a superset of the restrictions in git-check-ref-format(1)