Commettere una Directory in Subversion
Domanda
Una specie di domanda da principiante, ma sto riscontrando problemi con SNVKit.
Sto usando SVNKit in un'applicazione per eseguire il commit delle modifiche ai file. Ho aggiunto correttamente i file e le cartelle alla copia di lavoro, ma sto riscontrando problemi nel commit nel repository.
Il comando che sto cercando di eseguire è 'commit -m " Test Add " / svnroot / project1 / 'ma continuo a ricevere " svn:' / home / user 'non è una copia funzionante "
Ho una struttura simile a questa:
- / svnroot /
- / svnroot / project1 /
- / svnroot / project1 / grouping1 /
- / svnroot / project1 / grouping1 / myfilesarehere
Se provo a eseguire il commit del file, viene visualizzato il seguente messaggio: " '/ svnroot / project1 / grouping1' non è sotto il controllo della versione e non fa parte del commit, ma il suo figlio fa parte del commit. " ;
Cosa potrei fare di sbagliato?
EDIT: corrette le directory.
Soluzione 7
L'ho rintracciato in un possibile bug da qualche parte. Se non aggiungo un messaggio, funziona. È tempo di scavare di più. Grazie per i puntatori.
Altri suggerimenti
Se hai aggiunto sia una directory che il suo figlio, ma nessuno dei due non viene eseguito il commit, credo che ricevi questo messaggio se provi a eseguire il commit solo del bambino. Devi prima effettuare il commit della directory principale.
Ho ricevuto questo messaggio e ho notato che stavo facendo un commit mentre ero nella sottodirectory. Quando sono passato alla radice dell'albero, ha commesso senza problemi.
sposta il tuo -m " commento " all'estremità. Vorrei solo cambiare directory nella directory del progetto. Quindi digita svn commit -m " comment " e svn fa il resto.
Penso che il problema sia che stai apportando modifiche al repository SVN vero e proprio invece di fare un'importazione, estrarre una copia per te stesso, apportare modifiche e quindi fare un commit dalla tua copia di lavoro ritirata dopo aver aggiunto qualsiasi sottodirectory. Quindi: import
, checkout
, apporta modifiche e infine esegui un aggiungi
per ogni nuovo file o directory e commit -m " message "
costituisce il livello superiore.
Ulteriori informazioni in SVN online gratuito " turtle " libro .
Non è del tutto chiaro perché li hai sostituiti in modo incoerente, ma sembra che tu abbia confuso i percorsi / URL del repository con i percorsi di copia funzionanti. Se stai aggiungendo o eseguendo il commit di file, utilizza sempre i percorsi di copia di lavoro. Prova a giocare con la riga di comando svn prima di provare a usare SVNKit.
Se si desidera eseguire il commit di un'intera nuova directory, considerare l'utilizzo di svn import invece. Allo stato attuale, potrebbe essere necessario ripristinare o qualche altra azione per ripulire l'attuale pasticcio.
Alcune volte, l'utilizzo di alcuni software come eclipse o Versions.app produce questo errore. In questo caso, chiudere il client SVN e farlo sulla riga di comando.
Probabilmente hai eseguito alcuni refactoring e stai provando a eseguire il commit di 'some.package.YourClass.java', in tal caso prova a eseguire il commit della directory (pacchetto) 'some'.
Se vuoi salvarti da questo mal di testa in futuro, considera di passare a GIT invece di svn. Ricorda che svn mantiene le modifiche in un file .svn e cerca di trasferirle nel repository. Quando lo commetti, in base a questo file .svn spingerai 'le tue modifiche'. Ma cosa succede se i cambiamenti sono molto complessi? svn non può gestirlo.
GIT invece: recuperi tutti gli aggiornamenti in modo che il tuo progetto sia aggiornato. E quando lo commetti semplicemente sovrascrive il repository, poiché sa che il tuo è più recente e senza trambusto.