in utils/hub_sync.py [0:0]
def hub_config_repo(hub_data, local_dir):
# if we have the bot user email set, that means we have done this process already
# but some users don't have any `user.email` set, so recover gracefully if that's the case
try:
cmd = f"git config user.email"
email = run_cmd(cmd.split(), local_dir)
if len(email) > 0 and email == hub_data['email']:
return
except:
pass
print(f"* Detected a new clone. Setting it up for {hub_data['username']}")
# to work as another user we need
# 1. their user.email ( but also user.name is required but can be anything)
cmd = f"git config user.email {hub_data['email']}"
run_cmd(cmd.split(), local_dir)
cmd = f"git config user.name {hub_data['username']}"
run_cmd(cmd.split(), local_dir)
# 2. pre-auth the repo
# a. get url
cmd = "git remote get-url origin"
url = run_cmd(cmd.split(), local_dir)
# b. extract just the huggingface.co/app-test-user/test-tensorboard part
repo_part_url = re.sub(r'https.*(?=huggingface)', '', url, 0, re.M)
cmd = f"git remote set-url origin --push https://{hub_data['username']}:{hub_data['auth_token']}@{repo_part_url}"
run_cmd(cmd.split(), local_dir)