Come configurare e accedere il mio repository subversion dopo l'installazione di Subversion sul mio GoDaddy CentOS server dedicato
-
26-10-2019 - |
Domanda
I installato con successo la sovversione sul mio server. Quando faccio funzionare il comando:
which svn
ottengo la risposta:
/usr/bin/svn
I creare un repository all'interno del mio directory principale che è il mio httpdocs cartella con il seguente comando:
svnadmin create ~/svn
ho creato con successo i seguenti file e cartelle e configurato e vedo i seguenti file e directory all'interno della directory svn:
conf db format hooks locks README.txt
Ma non riesco a creare tronco, ramo, e le directory di tag. In realtà non riesco a creare periodo di directory. Ecco il comando che ho usato:
svn mkdir file:///httpdocs/svn/site
Quando faccio questo comando il messaggio che ottengo è il seguente:
svn: Could not use external editor to fetch log message; consider setting the
$SVN_EDITOR environment variable or using the --message (-m) or --file (-F) options
svn: None of the environment variables SVN_EDITOR, VISUAL or EDITOR are set, and no
'editor-cmd' run-time configuration option was found
Anche Quando digito in url:
http://mydomain.com/svn
ottengo il messaggio follwoing:
404 - Not Found
Che cosa devo fare per configurare il mio repository, controllare per vedere se il mio repository è in realtà di lavoro. Oh, e ho fatto eseguire il seguente comando:
svnserve -d
Soluzione
I creare un repository all'interno del mio directory principale che è il mio httpdocs cartella con il seguente comando ...
Non è così che si arriva al lavoro Subversion con Apache httpd se è questo che stai cercando di fare. È necessario il mod_dav e moduli mod_dav_svn per Apache. Potrebbe essere necessario ricompilare Apache per ottenere questi.
Una volta che si ottiene mod_dav e mod_dav_svn installato, è necessario configurare il file httpd.conf (o mettere un file di configurazione sotto la vostra di httpd conf.d
a seconda di come è configurato il vostro sistema) per farlo funzionare.
Alla fine, non è poi così difficile. installazioni più Apache hanno mod_dav e mod_dav_svn aggiunti, e si può vedere se il file http.conf sia configurato correttamente. Il manuale Subversion on line avrà è necessario per farlo funzionare.
svn: Impossibile utilizzare un editor esterno per recuperare messaggio di log; prendere in considerazione l'impostazione della $ Variabile d'ambiente SVN_EDITOR o utilizzando il --message (-m) o --file (-F) opzioni svn: Nessuna delle variabili d'ambiente SVN_EDITOR, VISUAL o EDITOR sono impostati, e non 'Redattore cmd' in fase di esecuzione è stato trovato opzione di configurazione
Leggere il messaggio. Si dice non poteva usare un editor esterno perché non ha specificato uno. Ancora una volta il Subversion sul manuale di linea spiega in dettaglio .
In sostanza, quando si commit di una modifica in Subversion, è necessario creare un messaggio di commit. Questo può essere fatto in due modi:
- È possibile utilizzare l'opzione
-m
comesvn commit -m "This is my commit message"
. - impostare le variabili
SVN_EDITOR
,VISUAL
oEDITOR
al nome del programma che si desidera utilizzare. Ad esempio, in Windows, si direbbeC:> set EDITOR=notepad.exe
. Su Unix, che avresti detto qualcosa di simile$ export EDITOR=vi
. Subversion prima controlla il valore della variabileSVN_EDITOR
, quindiVISUAL
, poiEDITOR
. Se nessuno di loro sono impostati, ti dà l'errore che avete visto.
Perché l'hai presa sul comando svn mkdir
?
Perché si utilizza il modulo URL del comando, farà la directory, quindi il commit della modifica, così la necessità di un messaggio di commit. Questo dovrebbe funzionare:
svn mkdir -m"Adding the site directory to my repository" file:///httpdocs/svn/site
Ora, è necessario spostare il repository dalla vostra directory httpdocs. Questa è una cosa molto male avere perché fa male il vostro server web.
Se non si desidera utilizzare il protocollo file://
, è possibile utilizzare svnserve
. Questo è un server repository integrato Subversion e utilizza il protocollo svn://
. Osservare:
$ svnadmin create my_repos #Creates the repository
$ vi my_repos/conf/svnserve.conf #See footnote 1 below
$ vi my_repos/conf/passwd #See footnote 1 below
$ svnserve -r my_repos -d
$ svn mkdir -m "Making basic directory layout svn://localhost/trunk \
> svn://localhost/tags svn://localhost/branches
$ export SVN_EDITOR="vi"
Il repository diventa anche accessibile a tutte le macchine della rete troppo. Utilizzando svnserve è molto più semplice di Apache httpd, ma ci sono alcuni problemi:
- Non è possibile eseguire più istanze di
svnserve
dal momento che vuole utilizzare la porta 3690 e non fa piace condividere. Con Apache httpd, è possibile avere più repository. - configurazione di sicurezza con svnserve è limitata. Con Apache, posso utilizzare Windows Active Directory o LDAP o posso configurarlo manualmente.
- Alcuni browser repository web-based sovversione non piace svnserve.
A proposito, se non avete, passare attraverso il Subversion sul manuale pubblicitario . E 'uno dei migliori manuali che ho visto per qualsiasi progetto open source.
1 Quando si imposta il repository utilizzando svnserve
, è necessario modificare il file svnserve.conf
attivando l'password-db = passed
linea che è circa la linea # 20 nel file. Poi è necessario modificare il file passed
(che si trova nella stessa directory) per configurare gli utenti e le loro password. Entrambi sono molto semplice, ma facile da forgiat, e se non lo fai, non si può commettere qualsiasi cosa nella vostra repository.
Altri suggerimenti
quando è necessario rami tronco e tag di quello che hai bisogno del import_dirs.copy
scaricare
che dopo oltre cd /location/import_dirs.copy
che correre di comando
cd /data/svn/import_dirs.copy/
svn import file:///location of repos/reposname/ -m "inital message"
questo è l'esempio di esso .....
cd /home/raj/import_dirs.copy/
svn import file:///srv/svn/nmg/ -m "inital message"
di rami tronco e tag sono stati fatti