Index: subversion/include/svn_client.h
===================================================================
--- subversion/include/svn_client.h	(revision 22006)
+++ subversion/include/svn_client.h	(working copy)
@@ -136,7 +136,7 @@
                                     apr_pool_t *pool);
 
 
-#if (defined(WIN32) && !defined(__MINGW32__)) || defined(DOXYGEN)
+#if defined(WIN32) || defined(DOXYGEN)
 /**
  * Create and return @a *provider, an authentication provider of type @c
  * svn_auth_cred_simple_t that gets/sets information from the user's
Index: subversion/include/svn_auth.h
===================================================================
--- subversion/include/svn_auth.h	(revision 22006)
+++ subversion/include/svn_auth.h	(working copy)
@@ -656,7 +656,7 @@
                                   apr_pool_t *pool);
 
 
-#if (defined(WIN32) && !defined(__MINGW32__)) || defined(DOXYGEN)
+#if defined(WIN32) || defined(DOXYGEN)
 /**
  * Create and return @a *provider, an authentication provider of type @c
  * svn_auth_cred_simple_t that gets/sets information from the user's
Index: subversion/libsvn_subr/cmdline.c
===================================================================
--- subversion/libsvn_subr/cmdline.c	(revision 22014)
+++ subversion/libsvn_subr/cmdline.c	(working copy)
@@ -354,7 +354,7 @@
 
   /* The main disk-caching auth providers, for both
      'username/password' creds and 'username' creds.  */
-#if defined(WIN32) && !defined(__MINGW32__)
+#if defined(WIN32)
   svn_auth_get_windows_simple_provider(&provider, pool);
   APR_ARRAY_PUSH(providers, svn_auth_provider_object_t *) = provider;
 #endif
Index: subversion/libsvn_subr/simple_providers.c
===================================================================
--- subversion/libsvn_subr/simple_providers.c	(revision 22006)
+++ subversion/libsvn_subr/simple_providers.c	(working copy)
@@ -535,7 +535,7 @@
 /* Windows simple provider, encrypts the password on Win2k and later.    */
 /*-----------------------------------------------------------------------*/
 
-#if defined(WIN32) && !defined(__MINGW32__)
+#if defined(WIN32)
 #include <wincrypt.h>
 #include <apr_base64.h>
 
@@ -571,6 +571,19 @@
   return FALSE;
 }
 
+/* MinGW doesn't have CRYPTPROTECT_PROMPTSTRUCT and CRYPTPROTECT_UI_FORBIDDEN,
+ * so we inline them here. */
+#ifdef __MINGW32__
+typedef struct _CRYPTPROTECT_PROMPTSTRUCT {
+   DWORD      cbSize;
+   DWORD      dwPromptFlags;
+   HWND      hwndApp;
+   LPCWSTR   szPrompt;
+} CRYPTPROTECT_PROMPTSTRUCT;
+
+static const int CRYPTPROTECT_UI_FORBIDDEN = 0x1;
+#endif /* __MINGW32__ */
+
 /* Implementation of password_set_t that encrypts the incoming
    password using the Windows CryptoAPI. */
 static svn_boolean_t
@@ -644,7 +657,7 @@
   LPWSTR descr;
   decrypt_fn_t decrypt;
   svn_boolean_t decrypted;
-  char *in;
+  const char *in;
 
   if (!simple_password_get(&in, creds, realmstring, username,
                            non_interactive, pool))
Index: subversion/libsvn_client/compat_providers.c
===================================================================
--- subversion/libsvn_client/compat_providers.c	(revision 22006)
+++ subversion/libsvn_client/compat_providers.c	(working copy)
@@ -57,7 +57,7 @@
   svn_auth_get_simple_provider(provider, pool);
 }
 
-#if defined(WIN32) && !defined(__MINGW32__)
+#if defined(WIN32)
 void
 svn_client_get_windows_simple_provider(svn_auth_provider_object_t **provider,
                                        apr_pool_t *pool)
