tree 2cfb4182ad08064d001463aa5aa9079ab638f78a
parent 76abcc1d1ea2da6cf0ce381486e2f9bf4ca55c36
author Xiaodong Xu <stid.smth@gmail.com> 1327979409 +0800
committer Shawn O. Pearce <sop@google.com> 1331762494 -0700

Add support for Apache Digest authentication for repo init.

repo tool supports only Basic authentication for now. For those
who want to use this tool to manage their own projects, in case
the administrator has configured the Apache server with Digest
authentication method, users will fail to be authenticated when
they run the command 'repo init'.
Add the digest authentication password manager to the handler
list will fix this issue.

Since Git HTTP protocol will require the user be authenticated
for fetch operation first before pushing commits to the remote,
it is unlikely for the administrator to implement anonymous
read (aka pull) access and write access (aka push) for
authenticated user. Both read and write have to be authenticated.
Be aware that the user may have to add an extra line in his
~/.netrc file:
-------------------
account example.com
-------------------
where 'example.com' is the realm for Apache Digest authentication.

Change-Id: I76eb27b205554426d9ce1965deaaf727b87916cd
Signed-off-by: Xiaodong Xu <stid.smth@gmail.com>
