From 602293722a247f5becd4a79e95df1df352e3502f Mon Sep 17 00:00:00 2001 From: Enrico204 Date: Fri, 22 Jul 2016 09:35:28 +0200 Subject: [PATCH] Fixed shell_escaping on single-quote; skipping gitweb.description assignment when description is None --- github-backup.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/github-backup.py b/github-backup.py index a92b49f..1bb18ee 100755 --- a/github-backup.py +++ b/github-backup.py @@ -105,7 +105,8 @@ def update_repo(repo, dir, args): # Fetch description and owner (useful for gitweb, cgit etc.) # TODO: can we combine that in a single call to 'git config' - os.system("git config --local gitweb.description %s"%(shell_escape(repo.description),)) + if repo.description is not None: + os.system("git config --local gitweb.description %s"%(shell_escape(repo.description),)) if repo.user.name is not None and repo.user.email is not None: os.system("git config --local gitweb.owner %s"%(shell_escape("%s <%s>"%(repo.user.name, repo.user.email.encode("utf-8"))),)) @@ -117,7 +118,7 @@ def update_repo(repo, dir, args): def shell_escape(str): if str: - return "'" + unicode(str.replace("'", "\\'")).encode("utf-8") + "'" + return "'" + unicode(str.replace("'", "'\\''")).encode("utf-8") + "'" if __name__ == "__main__": main()