Sto provando fossili come mio nuovo VCS, dato che sono uno sviluppatore solitario che lavora su piccoli progetti. Ho iniziato a testare fossili ma ho riscontrato un problema (probabilmente di maggiore interesse). Come si spinge o si tira su un'altra directory (che è facile su Hg). I comandi pull o push di Fossil prevedono un URL e non una directory. Quando avvio un server in una directory e provo a inviare da un'altra directory, ricevo il messaggio di errore "loop server". Qualche idea?Come posso utilizzare fossili (DVCS) in un ambiente domestico?
risposta
Secondo this fossil ticket, la clonazione, la spinta e la trazione richiedono l'esecuzione di un server fossile. Non puoi semplicemente usare il repository, dovrai avviare un server, quindi fare riferimento a http://localhost/whatever e dovresti essere d'oro.
- Run
fossil server
nel repository originale - Vai alla directory di destinazione e corro
fossil clone http://localhost
:8080 <repository name>
(o spingere o tirare)
Grazie per la risposta. Ho provato e ho ancora la seguente risposta: "2fossil: server dice: loop server". Qualche idea? – Mosh
Evviva! Funziona. Nel caso in cui qualcun altro inciampi sullo stesso problema. Apri "server fossile" nella directory originale. Vai alla directory di destinazione e clone fossile (o push o pull) http: // localhost: 8080
Si noti che nel commento precedente Stackoverflow ha preso letteralmente l'indirizzo http. Qualcuno con i privilegi di modifica può risolvere questo problema? – Mosh
Quando ho provato questo, clonare e tirare lavorato proprio come previsto SENZA gestire un server fossile.
Creare un repository maestro
>mkdir master
>cd master
>fossil new master_repos.fsl
project-id: dbcb1863865d7d3ed74f873df6daf07c5853df5e
server-id: ea7a2e2496cc9c958cb7cc50bf48c0810b25a0a0
admin-user: james (initial password is "89ef88")
>fossil open master_repos.fsl
>echo "hello world" > a.a
>fossil add a.a
ADDED a.a
>fossil ci -m "add a.a"
New_Version: 80b67a84ff276e559328f373008ff3014a869170
Clone il repository principale
>cd ..
>mkdir trial
>cd trial
>fossil clone ../master/master_repos.fsl trail_repos.fsl
Repository cloned into trail_repos.fsl
Rebuilding repository meta-data...
3 (100%)...
project-id: dbcb1863865d7d3ed74f873df6daf07c5853df5e
server-id: 24da0b614d1a1d6cd8ac5a86200390b47b87ee27
admin-user: james (password is "89ef88")
>fossil open trail_repos.fsl
a.a
project-name: <unnamed>
repository: C:/Documents and Settings/james/My Documents/code/test/trial/trail
_repos.fsl
local-root: C:/Documents and Settings/james/My Documents/code/test/trial/
project-code: dbcb1863865d7d3ed74f873df6daf07c5853df5e
server-code: 24da0b614d1a1d6cd8ac5a86200390b47b87ee27
checkout: 80b67a84ff276e559328f373008ff3014a869170 2009-11-12 15:19:51 UTC
parent: b04cc7533753a8a8a1f8a92b1be8b73cbc368660 2009-11-12 15:18:11 UTC
tags: trunk
>type a.a
"hello world"
Modificare il maestro
>cd ../master
>echo "hello #2" > b.b
>fossil add b.b
ADDED b.b
>fossil ci -m "add b.b"
New_Version: 863e2501037e9f215ff3ec08a1d7802315151e7b
Estrarre dal master modificato
>cd ../trial
>fossil pull ../master/master_repos.fsl
Bytes Cards Artifacts Deltas
Send: 130 1 0 0
Received: 230 6 0 0
Send: 224 2 0 0
Received: 590 8 2 0
Total network traffic: 649 bytes sent, 806 bytes received
>fossil update
Autosync: file://C:/Documents and Settings/james/My Documents/code/test/master/
master_repos.fsl
Bytes Cards Artifacts Deltas
Send: 130 1 0 0
Received: 230 6 0 0
Total network traffic: 295 bytes sent, 337 bytes received
ADD b.b
>type b.b
"hello #2"
Proverò questo metodo. Grazie. Dove eri due mesi fa? ;) – Mosh
+1 per aver dedicato del tempo a scrivere un esempio dettagliato! :) –
Se il contenuto è lo stesso, io uso lo stesso file fossile. (Non è necessario tirare/premere) es.
fossil new ~/fs/prj1.fossil
(mkdir prj1 ; fossil open ~/fs/prj1.fossil)
(mkdir prj1_feature1 ; fossil open ~/fs/prj1.fossil)
In alcuni casi (prj1 è piena, prj2 è sottoinsieme di prj1), io uso il metodo più sicuro 'ui fossili'. es.
fossil new ~/fs/prj1.fossil
(mkdir prj1 ; fossil open ~/fs/prj1.fossil; fossil ui &)
mkdir prj1_subset
fossil clone http://localhost:8080 prj1_subset.fossil
fossil open prj1_subset.fossil
- 1. Modifica della variabile dell'ambiente domestico in eclissi
- 2. Come emulare 'git stash' in fossili, bzr?
- 3. Rinominare le directory con Fossil DVCS
- 4. Come utilizzare TDD in un ambiente non molto "Testy"
- 5. Come vengono utilizzati i DVCS in team di grandi dimensioni?
- 6. Come posso eseguire RavenDB in un ambiente di hosting condiviso?
- 7. È possibile utilizzare javax.interceptor in un ambiente Java SE?
- 8. Come posso utilizzare correttamente le variabili di ambiente codificate come Windows-1251 in Perl?
- 9. Come posso applicare un nome a un ambiente?
- 10. DVCS e perdita di dati?
- 11. È possibile utilizzare ELMAH in un ambiente SharePoint?
- 12. Utilizzare le variabili di ambiente in CMD
- 13. Devo utilizzare Google Maps in un ambiente di produzione
- 14. Devo utilizzare 'Integrated Security = True' in un ambiente di produzione?
- 15. Come usare Mahout in un ambiente Windows?
- 16. Combina DVCS con Visual Source Safe
- 17. Come creare un ambiente personalizzato in Grails?
- 18. Come posso chiamare bash da C con un ambiente pulito?
- 19. Come posso installare un ambiente conda quando offline?
- 20. Come utilizzare un PostBuildEvent localizzato in un ambiente con più collaboratori?
- 21. In librerie riutilizzabili per uso domestico - riutilizzare come dll o come progetti?
- 22. NuGet e controllo versione distribuita (DVCS)
- 23. Posso eseguire un ambiente cloud-init senza utilizzare openstack o EC2?
- 24. Come posso impostare una variabile di ambiente in modo multipiattaforma?
- 25. DVCS (Mercurial) non fa per me?
- 26. Come posso utilizzare un metodo generico in un tipo derivato
- 27. Come posso accedere a quale ambiente è impostato in CodeIgniter?
- 28. Elevator pitch per Git a/o DVCS
- 29. Come posso utilizzare le variabili di ambiente di sistema nel goniometro di Angularjs?
- 30. Reagire: utilizzare le variabili di ambiente
Ho dimenticato di dire che ho aggirato il problema dell'URL sul comando "clone" copiando il file del repository. – Mosh