Fix findbugs NPE warning in CliGitAPIImpl
Test prune with pathologically named branches

If a branch is created and pushed to a remote repository (for example,
a branch named "branch1"), then that branch is deleted, and a new
branch is created and pushed which uses the first branch name as a
parent (for example, a branch named "branch1/a"), the fetch will fail
until a "git remote prune origin" has been performed to remove the
originally created remote branch name from the working repository.

Refer to https://issues.jenkins-ci.org/browse/JENKINS-19591 for a more
detailed description.

This is another case where the JGit implementation differs from the
command line git implementation.  The JGit implementation does not
seem to require the "git remote prune origin" command.  I assume it
performs that operation happens implicitly inside JGit.
Add more assertions to the prune test case
Confirm expected exception pruning without a remote
Test deprecated push(RemoteConfig, String) method

The test shows that there is a problem in the JGit revParse
implementation when used with multiple WorkingArea objects within the
same test.  The same problem does not afflict the CliGit
implementation.  The problem is noted with an "instanceof"
conditional, just as a few of the other differences between JGit and
CliGit are noted.
Use getHeadRev as an additional test of head() method

Still unclear what is wrong with the WorkingArea.head() method, since
it uses the same basic revParse mechanism as getHeadRev().
Upgrade to Apache HttpComponents 4.3.2
Commons HttpClient has reached end of life: http://hc.apache.org/httpclient-legacy/index.html
[maven-release-plugin] prepare release git-client-1.6.3
[maven-release-plugin] prepare for next development iteration
Switch to modern Apache HttpComponents API.
This was mostly an exercise in replacing org.apache.commons.httpclient.* with their equivalents in org.apache.http.*
Implement TODO to support self-signed certificates.
Configure NTCredentials for the NTLM authentication scheme.
The way Apache HttpComponents works with NTLM, it needs an NTCredentials instance if/when the server wants to perform NTLM challenge-response authentication.
tl;dr: s/UsernamePasswordCredentialsImpl/StandardUsernamePasswordCredentials/

NOTE: This is the same change that I had made previously in this pull request: https://github.com/jenkinsci/git-client-plugin/pull/32

I am not sure how or why my "merged" pull request does not appear in the commit history of the repo.

The original notes from PR#32 follow:

Weaken the type requirement on the instanceof used in the git-client plugin to only rely on the object being a StandardUsernamePasswordCredentials.

The interface is both necessary and sufficient for the APIs used.

This is morally equivalent to how the private key logic is already using the SSHUserPrivateKey interface vs. a specific implementation.
Merge pull request #115 from mattmoor/master

tl;dr: s/UsernamePasswordCredentialsImpl/StandardUsernamePasswordCredentials/
Merge pull request #112 from MarkEWaite/master-fix-findbugs-NPE-one-more

Fix findbugs NPE warning in CliGitAPIImpl
Merge pull request #113 from MarkEWaite/master-add-prune-test-case

Test pathologically named branches with fetch and prune
Merge pull request #114 from MarkEWaite/master-add-deprecated-push-test

add test of deprecated push(RemoteConfig, String) method
Test more variations of fetch()
Fix JDK 6 compile break from added fetch tests

The Java 6 compiler fails to compile the test because there is an
ambiguous method signature defined for two of the fetch methods.

The methods which are ambiguous are:

    fetch(String, RefSpec)

    fetch(String, RefSpec ...)

Java 7 seems to resolve a method reference fetch(String, RefSpec) to
call the fetch(String, RefSpec ...) method.
Check that fetching invalid remote name throws expected exception