[Python] [OT] Git: come gestite sviluppo e produzione
Scusate l'OT :) ma siccome date sempre buoni consigli... ho un software in produzione; devo sviluppare nuove funzionalita'; vorrei avere sulla stessa macchina sia la versione di sviluppo che quella in produzione. Come la gestisco con git? Gia' utilizzo git per sviluppare, ma finora ho sempre eseguito push su un server git remoto.. per estensione se mi configuro un server git "locale" non cambia niente, ma se c'e' una soluzione piu' veloce la preferirei. Grazie 1k PS: datemi una mano che gia' mi rode che devo scrivere in PHP.. vedo ovunque e gia' so che mi scordero' tutti i punti e virgola! :( ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] [OT] Git: come gestite sviluppo e produzione
ma siccome date sempre buoni consigli... Si sa che la gente da buoni consigli quando non puo' pu' dare il cattivo esempio (F. De Andre' - Bocca di rosa) ho un software in produzione; devo sviluppare nuove > funzionalita'; vorrei avere sulla stessa macchina sia > la versione di sviluppo che quella in produzione. > Come la gestisco con git? > Io uso di solito Bazar, ma alla fine e' slo stesso. Un trunk di sviluppo con un branch per la produzione e magari anche uno per il testing. Dipende molto da quante forze sono impegnate nel progetto. Se chi esegue i test e' (come dovrebbe) una persona (o piu' persone per progetti real humongous) differente da chi sviluppa, si rende indispensabile. Se il developer fa anche test ecco che non e' indispensabile (forse). > PS: datemi una mano che gia' mi rode che devo scrivere > in PHP.. vedo ovunque e gia' so che mi scordero' tutti > i punti e virgola! :( > Se i $ sono collegati al compenso dovresti essere felice. :P Carlos -- ..y sobre todo, sean siempre capaces de sentir en lo más hondo cualquier injusticia cometida contra cualquiera en cualquier parte del mundo. Es la cualidad más linda de un revolucionario." - Ernesto Guevara de la Serna Lynch ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] [OT] Git: come gestite sviluppo e produzione
http://nvie.com/posts/a-successful-git-branching-model/ Il giorno 15 maggio 2013 12:57, Carlos Catucci ha scritto: > ma siccome date sempre buoni consigli... > > Si sa che la gente da buoni consigli quando non puo' pu' dare il cattivo > esempio > (F. De Andre' - Bocca di rosa) > > ho un software in produzione; devo sviluppare nuove >> funzionalita'; vorrei avere sulla stessa macchina sia >> la versione di sviluppo che quella in produzione. >> Come la gestisco con git? >> > > Io uso di solito Bazar, ma alla fine e' slo stesso. Un trunk di sviluppo > con un branch per la produzione e magari anche uno per il testing. Dipende > molto da quante forze sono impegnate nel progetto. Se chi esegue i test e' > (come dovrebbe) una persona (o piu' persone per progetti real humongous) > differente da chi sviluppa, si rende indispensabile. Se il developer fa > anche test ecco che non e' indispensabile (forse). > > >> PS: datemi una mano che gia' mi rode che devo scrivere >> in PHP.. vedo ovunque e gia' so che mi scordero' tutti >> i punti e virgola! :( >> > > Se i $ sono collegati al compenso dovresti essere felice. :P > > Carlos > -- > ..y sobre todo, sean siempre capaces de sentir en lo más hondo cualquier > injusticia cometida contra cualquiera en cualquier parte del mundo. Es la > cualidad más linda de un revolucionario." - Ernesto Guevara de la Serna > Lynch > > ___ > Python mailing list > Python@lists.python.it > http://lists.python.it/mailman/listinfo/python > > ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] [OT] Git: come gestite sviluppo e produzione
Il 15/05/2013 12:57, Carlos Catucci ha scritto: ma siccome date sempre buoni consigli... Si sa che la gente da buoni consigli quando non puo' pu' dare il cattivo esempio (F. De Andre' - Bocca di rosa) no dai, e' vero.. sempre ottimi consigli! ho un software in produzione; devo sviluppare nuove funzionalita'; vorrei avere sulla stessa macchina sia la versione di sviluppo che quella in produzione. Come la gestisco con git? Io uso di solito Bazar, ma alla fine e' slo stesso. Un trunk di sviluppo con un branch per la produzione e magari anche uno per il testing. Dipende molto da quante forze sono impegnate nel progetto. Se chi esegue i test e' (come dovrebbe) una persona (o piu' persone per progetti real humongous) differente da chi sviluppa, si rende indispensabile. Se il developer fa anche test ecco che non e' indispensabile (forse). Mi sono spiegato male.. A parte la struttura dei rami, non ho capito come posso avere in locale l'equivalente del comando "git clone" senza mettere su un server; ho pensato una cosa brutta brutta :/ ma mesa' che.. je vado de cp! :D produzione/ .git root_software/ sviluppo/ .git root_software/ quando ho una versione stabile in "sviluppo" la copio in "produzione" e faccio il commit dei cambiamenti rendendo tutto disponibile agli utenti. Se i $ sono collegati al compenso dovresti essere felice. :P La speranza e' l'ultima a morire :D Grazie ciao diego ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] [OT] Git: come gestite sviluppo e produzione
On 2013-05-15 12:54, Diego Barrera wrote: Mi sono spiegato male.. A parte la struttura dei rami, non ho capito come posso avere in locale l'equivalente del comando "git clone" senza mettere su un server; Anche ora ti sei spiegato male. Ma comincio a sospettare che tu pensi che git abbia bisogno di un server, che non è vero. In produzione puoi fare "git clone" o "git pull" usando qualunque remote che puoi raggiungere via ssh. -- Daniele Varrazzo - Develer S.r.l. http://www.develer.com ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] [OT] Git: come gestite sviluppo e produzione
Il giorno mer, 15/05/2013 alle 13.13 +0100, Daniele Varrazzo ha scritto: > On 2013-05-15 12:54, Diego Barrera wrote: > > > Mi sono spiegato male.. > > A parte la struttura dei rami, non ho capito come posso avere in > > locale > > l'equivalente del comando "git clone" senza mettere su un server; > > Anche ora ti sei spiegato male. Ma comincio a sospettare che tu pensi > che git abbia bisogno di un server, che non è vero. In produzione puoi > fare "git clone" o "git pull" usando qualunque remote che puoi > raggiungere via ssh. > (o pure senza ssh, se si lavora su una sola macchina!) (non sto dicendo che è meglio, solo che forse tranquillizza ancora di più Diego) Pietro ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] [OT] Git: come gestite sviluppo e produzione
http://nvie.com/posts/a-successful-git-branching-model/ Toh, il Bacchide, come sempre di poche parole ma incisive ;) Carlos -- ..y sobre todo, sean siempre capaces de sentir en lo más hondo cualquier injusticia cometida contra cualquiera en cualquier parte del mundo. Es la cualidad más linda de un revolucionario." - Ernesto Guevara de la Serna Lynch ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] [OT] Git: come gestite sviluppo e produzione
Mi sono spiegato male.. > A parte la struttura dei rami, non ho capito come posso avere in locale > l'equivalente del comando "git clone" senza mettere su un server; > Sorry avevo capito male io. Ecco io uso Bazar proprio per la sua capacita' di gestire repository di vari livelli. http://doc.bazaar.canonical.com/beta/en/user-guide/using_gatekeepers.html Qui forse un esempio di quello che ti servirebbe Carlos -- ..y sobre todo, sean siempre capaces de sentir en lo más hondo cualquier injusticia cometida contra cualquiera en cualquier parte del mundo. Es la cualidad más linda de un revolucionario." - Ernesto Guevara de la Serna Lynch ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] [OT] Git: come gestite sviluppo e produzione
Il 15/05/2013 14:38, Pietro Battiston ha scritto: Anche ora ti sei spiegato male. Ma comincio a sospettare che tu pensi che git abbia bisogno di un server, che non è vero. Sospetti bene (o pure senza ssh, se si lavora su una sola macchina!) (non sto dicendo che è meglio, solo che forse tranquillizza ancora di più Diego) mi hai aperto la strada.. ho capito rileggendo (dopo parecchio tempo) questo: http://git-scm.com/book/it/Basi-di-Git-Ottenere-un-Repository-Git e poi questo http://git-scm.com/book/it/Git-sul-Server-Ottenere-Git-su-di-un-Server Quando tutto il resto non funziona, prova a leggere il manuale :) Ciao grazie ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] [OT] Git: come gestite sviluppo e produzione
Il 15/05/2013 14:55, Carlos Catucci ha scritto: Mi sono spiegato male.. A parte la struttura dei rami, non ho capito come posso avere in locale l'equivalente del comando "git clone" senza mettere su un server; Sorry avevo capito male io. Ecco io uso Bazar proprio per la sua capacita' di gestire repository di vari livelli. http://doc.bazaar.canonical.com/beta/en/user-guide/using_gatekeepers.html Qui forse un esempio di quello che ti servirebbe Interessante, grazie, ma lavoro solo al momento, pero' mi piace tenere traccia di quello che modifico ed essere ordinato. Con git mi trovo bene. La mia era proprio una lacuna in quanto non avevo compreso il meccanismo di condivisione dei repository con git. Rileggendo il manuale dovrei aver risolto. Vi ho fatto perdere un po' di tempo con una ca$$ata, grazie mille diego ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Localizzazione in python
Il 15 maggio 2013 00:44, Pietro Battiston ha scritto: > Il giorno mar, 14/05/2013 alle 22.54 +0200, Gollum1 ha scritto: >> > Se stai chiedendo "come faccio a sapere qual'è la cartella in cui sono >> > contenute le traduzioni", beh allora dipende da come hai disposto le >> > cose _e_ da dove avvii il programma, ovviamente. Io di solito nei miei >> > programmi metto un file tipo questo, perché funzionano sia quando >> > installati che dalla cartella dei sorgenti: >> > http://www.pietrobattiston.it/gitweb?p=gallery-uploader.git/.git;a=blob;f=galleryuploader_lib/config.py >> > (ignora le righe da 28 a 68). >> >> Sì, è proprio questo che intendevo... ti ringrazio del tuo esempio... >> >> mi sono copiato le due parti che mi interessano, e poi me le studio >> con più calma, anche se credo di aver capito come procedere... >> >> nel mio caso in cui la funzione che avvia la localizzazione si trova >> in un modulo separato, e addiritura in una sua directory separata, >> vuol dire che devo passare la directory del locale come argomento alla >> funzione (visto che sono in due scope diversi, non hanno le stasse >> variabili globali). >> mi sono studiato il tuo codice, un paio di chiarimenti: > > Se ho capito quello che dici, non c'entrano gli scope: devi passare la > directory del locale _comunque_ perché è quello che richiede la funzione > locale.bindtextdomain(). e questo diventa palese, a meno che non riesca a far capire in altro modo alla funzione che ho scritto qual'é il path del chiamante. >> vedo che hai fatto una distinzione di due situazioni diverse, una per >> quando stai sviluppando e una per quando la installi nel sistema. >> >> Io mi trovo e sto sviluppando per linux, i processi di installazione >> sono fatti da uno script a parte? quindi in qualche modo sa dove >> mettere i tuoi file, le tue librerie, i tuoi locales oppure ogniuno si >> scrive il suo file di installazione (una sorta di makefile presumo) >> dove decide a modo suo dove mettere le cose? nel primo caso, una volta >> scritto il programma, è indipendente dal sistema, se l'installazione è >> demandato ad un installatore standard, a cui passi solo alcuni >> parametri, nel secondo caso, devi scrivere il tuo script di >> installazione per ogni situazione e/o sistema operativo... >> > Non so dirti quanto siano lecite le mie assunzioni. Io controllo in > [sys.prefix, path.join( sys.prefix, 'local' )] più la cartella corrente, > e mi è sempre bastato. praticamente questa parte posso metterla direttamente nel modulo che contiene la "libreria", che mi venga passato come argomento della chiamata, oppure riesca a sapere in qualche altro modo qual'é il path del chiamante, posso fare quello che hai scritto localmente nel modulo. > > La "sorta di makefile" di solito si chiama setup.py, e sì, standardizza > parecchio l'installazione. > > Ciò detto, non credo proprio che il mio config.py funzionerebbe sotto > Windows, neanche con un'installazione standard. Però non dovrebbe essere > complicato adattarlo. Non credo che possa funzionare sotto windows, visto che la cartella di sistema dei locale non è sicuramente /usr/share/locale, però si potrebbe fare un piccolo workaround per ovviare nel modulo stesso (come già faccio per capire quale locale usa la macchina, che è diverso per *nix, OS-X e Win quindi dal chiamante (o direttamente nei parametri o con qualcosa che mi dica chi è il chiamante) ho il suo path, nel modulo "calcolo" il path di sistema, e con il tuo modello posso fare il locale sia nel caso di installazione che di utilizzo in sviluppo. va da se che con questo metodo che mi hai suggerito non ho più la dipendenza del locale da un path relativo, e quindi non dipende dalla posizione in cui mi trovo quando lancio il programma. > N.B: la ricerca della cartella "stuff" invece è una convenzione > puramente mia. In generale, Bhe nel mio caso lo stuff potrebbe essere la cartella delle librerie, che è in una cartella separata rispetto ai programmi veri e propri. > non ti aspettare dal mio codice niente di > più di un "works for me". io spero in un work for me too. (il mio inglese è pessimo, lo so). > L'ho fatto sempre rispondendo a tre soli > criteri: 1) gira dalla cartella sorgente e questo è importante anche per me, per lo sviluppo... > 2) gira sotto Linux dopo il classico "python setup.py install" idem, ma vorrei in qualche modo slegarmi dal S.O, e forse con il workaround che ti dicevo prima, in questo caso è possibile. questa cosa del setup.py diventa parecchio interessante, a livello di codice per ora posso non preoccuparmene, oppure è necessario tenere in considerazione qualcosa durante lo sviluppo? Nel senso, me ne posso occupare quando il mio programma è finito e voglio cominciare a distribuirlo? > 3) gira quando installato come pacchetto Debian. Altra cosa che mi interessa parecchio, visto che lavoro con debian e vorrei poi distribuire il mio pacchetto principalmente per Debian (ma non solo). > > Forse ci sono soluzioni più pulite.
Re: [Python] Localizzazione in python
Il 15 maggio 2013 15:36, Gollum1 ha scritto: > > e questo diventa palese, a meno che non riesca a far capire in altro > modo alla funzione che ho scritto qual'é il path del chiamante. > semplicemente sys.path[0] quindi non ho neppure la necessità di passare esplicitamente il path del chiamante (a meno che non voglia che il locale sia posizionato in un'altro posto ancora). quindi potrei semplicemente usare sì il parametro, ma con il default su sys.path[0] mi viene solo un dubbio... messo nella chiamata di funzione, sys.path[0] viene istanziata nel momento dell'import, o nel momento della chiamata di funzione? potrebbe comportare qualcosa di diverso nelle due situazioni? Byez -- Gollum1 Tesoro, dov'é il mio teoro... ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Localizzazione in python
Il 15 maggio 2013 16:33, Gollum1 ha scritto: > > semplicemente sys.path[0] > in effetti non è poi così semplice adattare lo script alle mie esigenze, in quanto se la funzione di localizzazione deve essere generica tra diversi programmi, potrei non sapere a priori qual'è la loro directory di installazione definitiva, potrebbe essere passata in qualche modo all'init del modulo, quando lo importo nel programma? nel senso, se nel programma principale mi creo una costante, contenente quello che per me dovrebbe essere il path di installazione di questo singolo programma, potrebbe essere passato all'__init__ del modulo libs caricato e quindi essere usato all'interno di questo modulo come costante? tutte le varie funzioni che inserisco poi in questo modulo potrebbero usufruirne per fare i loro controlli del caso... o sbaglio in qualcosa nella logica? Byez -- Gollum1 Tesoro, dov'é il mio teoro... ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Localizzazione in python
mi rendo conto di aver detto una miriade di boiate... __INIT__ è per i package (anche se non ho ancora ben chiaro cosa sono di preciso), non per i moduli... continuo a studiare... -- Gollum1 Tesoro, dov'é il mio teoro... ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Localizzazione in python
A parte l'ovvia di raccomandazione di guardare come si fa e cosa fa un setup.py (puoi voler dare un occhio agli entry points - mi spaventa che ti stia facendo da guida io che sono decisamente ignorante in tema), ribadisco che il codice che ti ho passato non è particolarmente geniale ma funziona, quindi puoi vedere come gestisco poi io le path. ciao Pietro Il giorno mer, 15/05/2013 alle 17.57 +0200, Gollum1 ha scritto: > mi rendo conto di aver detto una miriade di boiate... __INIT__ è per i > package (anche se non ho ancora ben chiaro cosa sono di preciso), non > per i moduli... > > continuo a studiare... > > -- > Gollum1 > Tesoro, dov'é il mio teoro... > ___ > Python mailing list > Python@lists.python.it > http://lists.python.it/mailman/listinfo/python ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python