Errore di sovversione: (metodo 405 non consentito) in risposta a MKCOL


65

Ricevo il seguente errore mentre provo a eseguire il commit di una nuova aggiunta alla directory.

svn: Commit failed (details follow):
svn: Server sent unexpected return value (405 Method Not Allowed) in response to MKCOL request for '....

Non ho mai visto questo errore prima. Come posso risolvere questo problema?

Soluzione
Sono riuscito a risolvere il problema:

  • Elimina la directory principale della cartella che presenta il problema.
  • Esegui aggiornamento SVN.
  • Nel repository esisteva già una cartella con lo stesso nome di quella nuova.
  • Elimina questa cartella.
  • Commit SVN.
  • Copia la nuova cartella, pianifica l'aggiunta e il commit SVN.

Manca di informazioni, come la configurazione, il trasporto (HTTP / HTTPS), i messaggi sul registro degli errori del server (il più importante), se si esegue un servizio di cache web tra client e server, ecc ...
Juliano

7
Si prega di aggiungere soluzioni come risposte, piuttosto che aggiungere alla domanda
Sam Cogan

3
Odio svn dare errore e smettere. Sembra un bambino che sorride continuamente. Ho ripristinato, poi ho aggiunto e poi accettato il server impegnato e magicamente.

Per repository di codice Google Vedere - stackoverflow.com/a/32636072/1406510
Nanosoft

Risposte:


44

Questo errore di solito indicava che la cartella che si sta tentando di aggiungere esiste già nel repository: di recente hai effettuato un aggiornamento o hai fatto un checkout non ricorsivo?

In precedenza ho riscontrato questo errore: ho trovato un blog che mi ha spiegato quale fosse il problema. La soluzione era un po 'più complessa, rimuovi la directory in questione dalla mia copia di lavoro (copiandola da qualche altra parte), esegui un aggiornamento ricorsivo, quindi unisci le due directory insieme manualmente.

Modifica: Opps - già risposto nel corpo della domanda. E qui ero entusiasta di conoscere la risposta a una domanda senza risposta :)


@Andrew - beh, hai risposto correttamente alla domanda ... @Sergio avrebbe dovuto rispondere alla sua stessa domanda.
Josh,

8

Ho avuto un problema simile con MKACTIVITY su googlecode. Era perché avevo controllato il repository con http :, ma i check-in richiedevano https :.


Grande cattura - Stavo per scatenare la furia dell'impaziente programmatore sulla mia macchina. :) O è necessario ricontrollare la cartella con https: (o se si è sgattaiolando fuori la cartella ad eccezione di .svn, quindi modificare il contenuto di .svn / voci che ha l'URL da http => https. Ora il la schermata di commit mostrerebbe l'URL https.)
Gishu


5

Ho avuto lo stesso errore e sono riuscito a risolverlo:

  1. SVN Rinominare la directory problematica in "pippo" o qualsiasi altra cosa
  2. SVN Commit
  3. SVN Rinomina nuovamente con il nome che desideri
  4. SVN Commit

Non sono sicuro che funzioni in tutti i casi, ma è più semplice dell'eliminazione della directory principale.


Quella semplice soluzione ha risolto il mio problema. Molte grazie! :)
consuela

4

Il tuo repository svn consente il commit tramite HTTP? Alcuni repository, come SourceForge, consentono il checkout anonimo tramite HTTP, ma richiedono agli sviluppatori di effettuare il check-in tramite svn e SSH.


3

Nel mio caso, ho riscontrato problemi durante il check-in dei file all'interno di una cartella. Ho seguito i passaggi indicati da Sergio con alcune modifiche.

  1. Copia la directory principale del problema.
  2. File .svn eliminati nella directory copiata
  3. svn delete / parent_directory
  4. Commettere
  5. Crea una nuova directory in repository
  6. Commettere
  7. Sposta le sottodirectory dalla directory copiata al repository
  8. Commettere
  9. Copia singoli file
  10. Commettere

Ho avuto alcuni file con cui ho avuto delle difficoltà. Li ho lasciati fuori dal repository, ma li ho ricreati con un nuovo nome.


2

Ho avuto questo problema quando ho rimosso una directory da SVN e poi l'ho ricreata, quando ho eseguito il commit della nuova directory aggiunta, SVN ha prodotto questo errore. Ho risolto il problema eseguendo un SVN nella nuova directory aggiunta e quindi risolto i conflitti manualmente .


1

Usando Unfuddle, un servizio svn ospitato, vedo ripetutamente questo errore quando .svn viene calpestato dalla copia dei file nel Finder di OS X. L'incantesimo svn che ha funzionato per me:

  • ritornare
  • aggiornare
  • elimina la cartella utilizzando l'URL remoto
  • aggiungere e confermare la cartella

0

Nel mio caso, stavo aggiungendo una nuova directory che i miei metadati locali (client) presumevano essere già sul server e Cleanup non lo ha rettificato. Ho eseguito il backup di tutti i file nuovi e modificati, ho eliminato tutto (tranne la cartella root .svn), ho eseguito Update per ripristinare i file e copiato nella directory i file nuovi e modificati di cui avevo eseguito il backup. Ho aggiunto di nuovo i nuovi file e ho eseguito correttamente il commit.


0

In Eclipse è facile da risolvere.

Team> Passa a un altro tag / ramo

Selezionare, ricorsivo completo e selezionare Cambia copia di lavoro alla profondità specificata

premere OK

L'icona della cartella cambia. Fare clic con il tasto destro e (team>) Mark Risolto.

Ecco fatto, ora puoi impegnarti.


Ricorda che Eclipse è uno strumento di sviluppo e non è al centro dell'attenzione di ServerFault.
Andrew B,

0

Fai un backup della cartella.
Elimina la cartella nel repository (usando Repo-Browser).
Impegnati di nuovo.

Funziona bene per me.
Marcus


0

ho avuto un problema simile, ho eseguito il backup della directory (solo per sicurezza) rispetto all'aggiornamento della cartella svn. dopo ciò potrei impegnarmi di nuovo. (e non utilizzato il mio backup)


-1

Ho avuto un problema con e175002 200 OK. Ma ho letto che il percorso sul messaggio di errore parlava di un server sbagliato, quindi l'URL del mio trunk non era quello buono ( http: // localhost: 80 / path / to / my / trunk / ) ... aspetta! LOCALHOST?! ... E ora mi rendo conto che è perché al mio primo giro le mie impostazioni hanno inviato i miei file di progetto al mio repository localmente ... Quindi al tuo primo giro assicurati che le tue impostazioni per l'IP del tuo server non siano sbagliate perché dopo ... repository conterrà informazioni errate e dovrai trovare un modo per modificare quelle impostazioni errate su di esso o su tutti i client che desiderano utilizzare il repository per la prima volta.

La mia correzione era quella di controllare ogni cartella del mio progetto .... su ogni cartella c'è la cartella .svn che memorizza le informazioni, e su ogni cartella .svn un file chiamato "voci" ... In questo file c'è un percorso per il server, ho sostituito la linea errata con il buon IP in ogni voce memorizzata in ogni cartella .svn. E poi non più errori.

Spero che sia d'aiuto. :) scusa se è difficile capire il mio post ^^ 'Sono un tentativo più difficile.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.