2015-08-26 41 views
10

Sto tentando di pubblicare il mio plug-in Wordpress nel repository svn che mi hanno assegnato. Io uso git (non svn) quindi sto cercando di usare git-svn per ma sto ottenendo il seguente errore quando provo a spingere il mio repo git locale utilizzando these instructions:svn: E000002: Commit non riuscito

$ git svn dcommit 
Committing to http://plugins.svn.wordpress.org/wp-github-pipeline/trunk ... 
    A .bowerrc 
    A composer.json 
    A composer.lock 
    ... 
    A vendor/guzzle/guzzle 
b3f5050cb6270c7a728a0b74ac2de50a262b3e02 doesn't exist in the repository at /usr/local/git/lib/perl5/site_perl/Git/SVN/Editor.pm line 401. 
Failed to read object b3f5050cb6270c7a728a0b74ac2de50a262b3e02 at /usr/local/git/libexec/git-core/git-svn line 1011. 

Ho fatto un molta ricerca (vedi "Altre risorse" sotto) e capisco che questo problema deriva comunemente dall'uso di sottomoduli in congiunzione con git svn. Ho avuto un sottomodulo a un certo punto, ma ho commesso i file e rimosso .gitmodules utilizzando git filter-branchdescribed here ma il problema persisteva. Così ho cercato di più e sembra che l'uso di composer e/o bower possa causare lo stesso problema.

Non ho provato a rimuovere vendor/ dal mio .gitignore e a commettere tutte le librerie di terze parti ... Ho una sensazione che potrebbe funzionare, ma anche se lo fa non è una soluzione sostenibile a lungo termine.

C'è un modo per dire a git-svn di ignorare il mio .gitignore e caricare tutto il vendor/ files?. O c'è un altro modo per evitare di impegnare TUTTE le mie dipendenze nel repository? O questo è un problema diverso da quello che penso? Grazie in anticipo!

UPDATE 1 ho rimosso dal mio vendor/**.gitignore e commesso le dipendenze nel mio repository locale (ma non ho spinto per origine). Ma ho ottenuto lo stesso identico errore!

UPDATE 2 Ho copiato tutti i file in una nuova directory e ho provato a eseguire un commit svn di base. Nessun sottomodulo. Tutti i fornitori/file inclusi. E ottengo un altro errore:

$ svn ci -m 'Adding version 1.0 files' 
Sending  trunk/.gitignore 
Adding   trunk/README.md 
... 
Adding   trunk/vendor/wp-cli/wp-cli/utils/wp-completion.bash 
Adding   trunk/wp-cli.yml 
Adding   trunk/wp-github-pipeline.php 
Transmitting file data .............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................svn: E000002: Commit failed (details follow): 
svn: E000002: Can't open file '/home/svn/repos/wp-plugins/db/transactions/1232700-rw56.txn/props': No such file or directory 

ho provato svn cleanup e la stessa cosa è accaduto.

UPDATE 3 Ho provato a ricominciare da zero e si verifica l'errore SAME. Ecco l'esatta sequenza di comandi:

$ mkdir pipeline_svn2 
$ svn co http://plugins.svn.wordpress.org/wp-github-pipeline pipeline_svn2 
$ cd pipeline_svn2 

[ copied all files into pipeline_svn2/ ] 

$ svn add trunk/* 
$ svn ci -m 'Adding v1.0 files' 

[ lots of these... ] 
Adding   trunk/wp-github-pipeline.php 
Transmitting file data ............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................svn: E000002: Commit failed (details follow): 
svn: E000002: Can't open file '/home/svn/repos/wp-plugins/db/transactions/1233755-rx30.txn/props': No such file or directory 

Mi fa pensare che qualcosa si sia incasinato sul server.

Altre risorse

+0

Partendo da zero, prima di tentare 'dcommit' può provi [** questo **] (http://blog.easy-designs.net/archives/subtree-merge -as-an-alternative-to-submodules-with-git-svn /) per "risolvere" il problema dei sotto-moduli git con svn? – TheCodeArtist

risposta

6

Ho finalmente raggiunto il fondo di questo ...

Dopo aver parlato con il team di plugin per Wordpress, hanno consigliato che cerco utilizzando il protocollo https: (invece di http:):

Instead of using http://plugins.svn.wordpress.org/wp-github-pipeline as your plugin SVN URL, try using https://plugins.svn.wordpress.org/wp-github-pipeline instead.

Sometimes, proxies and various routers and other types of traffic modifiers interfere with SVN traffic, for some people. Using https allows for end-to-end encryption, preventing most of these from altering the traffic and causing these sorts of problems.

ho fatto la modifica con svn relocate e ancora non ha funzionato, ma è ha dato un messaggio di errore più dettagliato. Così ho fatto qualche ricerca in più e ho trovato this post che suggerisce che il mio nuovo errore potrebbe essere correlato a permessi/autenticazione.

Quindi, su una sensazione istintiva, ho ri-autenticati dopo aver rimosso il file in ~/.subversion/auth/svn.simple e ha fatto un nuovo svn co e ha iniziato da zero, utilizzando https: e poi alla fine ha funzionato !

Non sono sicuro che il problema riguardasse il reindirizzamento http -> https o un problema con l'autenticazione (ho due account Wordpress.org).

+0

Completamente non capisco come l'accesso HTTPS vs HTTP possa risolvere questo problema. Qualche dettaglio dal team di plug-in di WordPress? – bahrep

+1

@bahrep Ho aggiunto la citazione diretta sopra. – emersonthis

0

Ho avuto lo stesso problema oggi. In un commit, ho accidentalmente sostituito un link simbolico da un sottomodulo. C'erano due problemi:

  1. cambiando il tipo di cosa non è possibile in un impegnarsi in SVN, ad esempio il file -> directory, directory -> file, File -> link simbolico ecc
  2. ovviamente, sottomoduli git è una caratteristica di Git e non può essere handlet da svn git

non ho investire più tempo a scoprire quale di questi due problemi veramente fermato git svn