diff options
Diffstat (limited to 'main.py')
| -rwxr-xr-x | main.py | 48 |
1 files changed, 3 insertions, 45 deletions
| @@ -46,7 +46,7 @@ except ImportError: | |||
| 46 | from color import SetDefaultColoring | 46 | from color import SetDefaultColoring |
| 47 | import event_log | 47 | import event_log |
| 48 | from repo_trace import SetTrace | 48 | from repo_trace import SetTrace |
| 49 | from git_command import git, GitCommand | 49 | from git_command import git, GitCommand, RepoUserAgent |
| 50 | from git_config import init_ssh, close_ssh | 50 | from git_config import init_ssh, close_ssh |
| 51 | from command import InteractiveCommand | 51 | from command import InteractiveCommand |
| 52 | from command import MirrorSafeCommand | 52 | from command import MirrorSafeCommand |
| @@ -244,10 +244,6 @@ class _Repo(object): | |||
| 244 | return result | 244 | return result |
| 245 | 245 | ||
| 246 | 246 | ||
| 247 | def _MyRepoPath(): | ||
| 248 | return os.path.dirname(__file__) | ||
| 249 | |||
| 250 | |||
| 251 | def _CheckWrapperVersion(ver, repo_path): | 247 | def _CheckWrapperVersion(ver, repo_path): |
| 252 | if not repo_path: | 248 | if not repo_path: |
| 253 | repo_path = '~/bin/repo' | 249 | repo_path = '~/bin/repo' |
| @@ -299,51 +295,13 @@ def _PruneOptions(argv, opt): | |||
| 299 | continue | 295 | continue |
| 300 | i += 1 | 296 | i += 1 |
| 301 | 297 | ||
| 302 | _user_agent = None | ||
| 303 | |||
| 304 | def _UserAgent(): | ||
| 305 | global _user_agent | ||
| 306 | |||
| 307 | if _user_agent is None: | ||
| 308 | py_version = sys.version_info | ||
| 309 | |||
| 310 | os_name = sys.platform | ||
| 311 | if os_name == 'linux2': | ||
| 312 | os_name = 'Linux' | ||
| 313 | elif os_name == 'win32': | ||
| 314 | os_name = 'Win32' | ||
| 315 | elif os_name == 'cygwin': | ||
| 316 | os_name = 'Cygwin' | ||
| 317 | elif os_name == 'darwin': | ||
| 318 | os_name = 'Darwin' | ||
| 319 | |||
| 320 | p = GitCommand( | ||
| 321 | None, ['describe', 'HEAD'], | ||
| 322 | cwd = _MyRepoPath(), | ||
| 323 | capture_stdout = True) | ||
| 324 | if p.Wait() == 0: | ||
| 325 | repo_version = p.stdout | ||
| 326 | if len(repo_version) > 0 and repo_version[-1] == '\n': | ||
| 327 | repo_version = repo_version[0:-1] | ||
| 328 | if len(repo_version) > 0 and repo_version[0] == 'v': | ||
| 329 | repo_version = repo_version[1:] | ||
| 330 | else: | ||
| 331 | repo_version = 'unknown' | ||
| 332 | |||
| 333 | _user_agent = 'git-repo/%s (%s) git/%s Python/%d.%d.%d' % ( | ||
| 334 | repo_version, | ||
| 335 | os_name, | ||
| 336 | git.version_tuple().full, | ||
| 337 | py_version[0], py_version[1], py_version[2]) | ||
| 338 | return _user_agent | ||
| 339 | |||
| 340 | class _UserAgentHandler(urllib.request.BaseHandler): | 298 | class _UserAgentHandler(urllib.request.BaseHandler): |
| 341 | def http_request(self, req): | 299 | def http_request(self, req): |
| 342 | req.add_header('User-Agent', _UserAgent()) | 300 | req.add_header('User-Agent', RepoUserAgent()) |
| 343 | return req | 301 | return req |
| 344 | 302 | ||
| 345 | def https_request(self, req): | 303 | def https_request(self, req): |
| 346 | req.add_header('User-Agent', _UserAgent()) | 304 | req.add_header('User-Agent', RepoUserAgent()) |
| 347 | return req | 305 | return req |
| 348 | 306 | ||
| 349 | def _AddPasswordFromUserInput(handler, msg, req): | 307 | def _AddPasswordFromUserInput(handler, msg, req): |
