L’authentification du contrôle de version svn échoue lorsqu’elle est exécutée depuis emacs

J’utilise sur mon bureau windows natif emacs 24.2 configuré pour utiliser cygwin bash .

Lorsque je lance SVN depuis cygwin bash, tout fonctionne bien. Il se souvient de mes informations d’identification et se connecte à un référentiel. Mais quand j’essaie d’exécuter une commande de contrôle de version depuis emacs, j’obtiens toujours le message suivant:

svn: E170001: Impossible de se connecter à un référentiel à l’URL ‘ https: //address.to.repo ‘ svn: E170001: OPTIONS de ‘ https: //address.to.repo ‘: autorisation échouée: impossible d’authentification auprès du serveur: Rejeté défi de base

J’ai aussi essayé de me connecter avec l’interface PSVN qui se retrouve également avec le même message d’erreur. Il est quelque peu étrange que cela ne fonctionne pas de la même manière à partir du terminal cygwin et d’emacs. Toute aide à ce sujet serait appréciée.

    Résolu maintenant. Le problème était qu’Emacs NT cygwin integrated utilisait toujours le chemin Windows HOME au lieu d’utiliser le répertoire HOME cygwinisé.

    Je pense que la réponse complète devrait être quelque chose comme ceci:

    1. SVN dépend du chemin HOME pour trouver ses parameters par utilisateur (comme la plupart des programmes Unix).
    2. Dans cygwin, cette variable a quelque chose comme “/ home / pablo”.
    3. “/ home / pablo” est vraiment traduit “lecteur: \ cygwin_dir \ home \ pablo”
    4. Emacs-nt attrape sa MAISON dans l’environnement Windows, c’est donc une MAISON différente de celle de cygwin
    5. emc vc-svn utilise le mauvais chemin pour rechercher ses parameters.

    Il y a donc deux solutions (peut-être plus):

    1. Faire emacs-nt utiliser le HOME de cygwin (donc c’est ce que la cygwinisation signifie !!: O), vous avez besoin de setup-cygwin pour cela, mais vous avez particulièrement besoin d’un script dépendant de cygwin-mount. Donc, emacs-nt peut comprendre le “style” du chemin de cygwin.
    2. (non recommandé) À l’inverse, ce que j’ai fait, faire en sorte que cygwin utilise le HOME de la fenêtre via un lien cygwin souple. ln -s /cygdrive/c/Users/pablo/Roaming/ /home/pablo
    3. Créez un lien ln -s /cygdrive/c/users/pablo/AppData/Roaming/.subversion /home/pablo/.subversion subversion du cygwin pointe vers celui de Windows ln -s /cygdrive/c/users/pablo/AppData/Roaming/.subversion /home/pablo/.subversion

    La seconde solution mènera à l’exécution de “.bashrc” de cygwin. Les variables d’environnement et les alias définis ne seront donc pas définis. Je pense toujours que cela peut être fait, mais je n’ai pas les connaissances cygwin nécessaires pour modifier cette solution. Alors maintenant j’utilise le numéro de solution 3.