Domanda

Al momento sto lavorando con il partner su un progetto PHP.

Entrambi abbiamo modificare direttamente a un server locale (tutti i file vengono memorizzati sul server, che è in corso anche una pila WAMP). Sto cercando un client SVN che controllerà e salvare tutte le modifiche alla cartella htdocs, e aggiornerà un repository SVN a distanza, attraverso il web.

Sarebbe un grande bonus se potessi manipolare il client SVN attraverso un'interfaccia web.

Per esempio, dico risparmio file1.php al server. Sarebbe aggiornare file1.php sul sito svn. Se avessi improvvisamente scopro che le mie ultime revisioni al file sono male, ho potuto al server testa oltre (o usare qualche interfaccia web dal mio computer), e sostituire file1.php con una revisione più vecchia.

Non voglio installare solo un server SVN sulla nostra macchina locale, perché vorrei sempre avere una copia salvata in remoto con le ultime modifiche.

Tutti i consigli?

È stato utile?

Soluzione

Non so di alcun software per fare questo. Non sarebbe probabilmente difficile da questo script utilizzando il client svn riga di comando standard. Cioè avere uno script batch / shell che passa regolarmente e controlla in tutto ciò che è cambiato.

Detto questo, vorrei molto forte sconsigliano di fare questo!

Il modello di lavoro normale di controllo del codice sorgente è che ognuno ha una copia locale di lavorare in poi, i controlli nelle loro modifiche a un repository centrale.

Il check-manuale esplicito fa in modo di controllare solo roba che funziona (in genere) e consente di dare commenti checkin preziosi.

Quindi il server può essere aggiornato con una buona versione conosciuta dal repository controllo del codice sorgente.

Sembra che si sta lavorando su un sistema di produzione. Mi piacerebbe consigliare vivamente considerare l'uso di un ambiente dev (s) e l'approccio di cui sopra.

Altri suggerimenti

Se sto ottenendo questo diritto la vostra intenzione è quella di utilizzare SVN come un sistema di backup automatico di versione. Se questo è il caso, la cosa più semplice sarebbe quella di utilizzare uno strumento di monitoraggio di file quindi chiamare il client svn-riga di comando per i file modificati a loro impegnarsi a SVN.

Non ho ancora provato, ma SVN-Monitor potrebbe essere utile. Avrete bisogno di client ToirtoiseSVN di cui sopra per lavorare con esso.

Non ho trovato alcuna (Ho anche avuto lo stesso problema).

Lo facciamo in 2 fasi.

Quando devo sviluppare una parte di software - I ramo del tronco e modificarlo quando gli altri fanno lo stesso per completare i loro compiti. Poi uniamo i rami e testarli. Dopo aver testato il tronco viene aggiornato da quella patch unito.

E infine cronjob (o manualmente) viene eseguito lo script che imposta risorsa modalità di manutenzione, elimina htdocs ed esportazioni là nuovo tronco e poi chown / chmod tutto come necessario.

Questo script che può essere eseguito in qualsiasi momento da admin-pannello, l'impostazione di revisione neccesary se abbiamo bisogno di annullare le modifiche buggy in fretta ...

Si potrebbe prendere in considerazione una distribuzione di controllo del codice sorgente soluzione (Bazaar, Git, Mercurial) per lo scenario si propone, in cui si dispone di due committer lavorano contro due basi di codice. Si potrebbe quindi avere commit locali e spingere e tirare le modifiche alle due destinazioni a seconda dei casi.

Ma andando al vostro problema immediato potrebbe essere necessario un qualche tipo di programma di utilità che monitora i cambiamenti dei file su entrambe le estremità e poi invoca il comando client svn a seconda dei casi, non appena rileva modifiche

Non credo che sia possibile o così facile.

Quando si inserisce una cartella sotto SVN sul client di una struttura specifica cartella viene creata per tenere traccia di quali file sono bloccati, cambiati e così via. Cercando di aggiornare una cartella del server SVN senza prima ritiro dei file o la modifica dei file senza check-out (come si vuole fare) è una cattiva idea.

Un lavoro pianificato che raccolgono la cartella htdocs in un file zip, versione tramite il nome del file e poi caricarlo in una certa storage remoto potrebbe essere un modo più semplice e veloce per gestire questo.

Non so se magari l'svn post-commit hook potrebbe essere di qualche utilità, dato il copione giusto? Si potrebbe distribuire automaticamente le modifiche rispetto alla revisione corrente (cioè la revisione appena creato prima di chiamare il gancio) per il sistema di produzione. Penso che questo è il genere di cosa che si sta chiedendo?

Devo dire che sono d'accordo con alcune delle altre commenti qui circa il sconsigliabile-ness di quello che lei propone. Mi consiglia una soluzione in cui si avvia manualmente il processo di distribuzione e la fonte è poi tirato dal repository.

Mi scuso se ho capito male.

Modifica dopo aver riletto la questione, penso che siete alla ricerca di automatizzato impegna nel repository, non distribuzioni automatiche fuori di esso. Poiché questo è il caso, la soluzione script programmato proposto da altri è l'approccio migliore che posso pensare anche. +1 a chi ha suggerito che.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top