Clipper On Line • Ver Tópico - Baixando do source-forge usando git

Baixando do source-forge usando git

Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.

Moderador: Moderadores

 

Baixando do source-forge usando git

Mensagempor JoséQuintas » 20 Fev 2021 17:56

Requer um pouco de conhecimento e paciência mas....

Bom...
vai ser uma pasta com source-forge e git ao mesmo tempo.
A ordem não faz diferença, mas as duas coisas precisam ser feitas.

1) Se criar como git
crie alguma alteração/commit, salve.
depois, por exemplo
git svn init https://svn.code.sf.net/p/hwgui/code/trunk/hwgui

ou

2) git svn clone https://svn.code.sf.net/p/hwgui/code/trunk/hwgui
E o anterior

A primeira vez é a mais demorada.
Atenção ao número de commit, vai precisar dele depois pra facilitar.
Mesmo se interromper o download, sem problemas, pode usar o número pra continuação.

d:\temp>git init hwgui
Initialized empty Git repository in D:/temp/hwgui/.git/

d:\temp>cd hwgui

d:\temp\hwgui>git svn init https://svn.code.sf.net/p/hwgui/code/trunk/hwgui

d:\temp\hwgui>git svn fetch
        A       source/hownbtn.prg
        A       license.txt
        A       makefile.bc
        A       source/htimer.prg
        A       source/hfrmtmpl.prg
        A       source/qhtm/hwg_qhtm.c
        A       source/qhtm/hqhtm.prg
        A       source/Makefile
        A       source/hcontrol.prg
        A       source/shellapi.c
        A       source/errorsys.prg
        A       source/procmisc/arr2str.c
        A       source/procmisc/procs7.prg
        A       source/procmisc/procini.prg
        A       source/prnalone.c
        A       source/drawtext.c
        A       source/hradio.prg
        A       source/freeimg.c
        A       source/media_c.c
        A       source/hsplit.prg
        A       source/hpanel.prg
        A       source/hbrowse.prg
        A       source/htab.prg
        A       source/hupdown.prg
        A       source/richedit.c
        A       source/hcheck.prg
        A       source/procmisc/procscri.prg
        A       source/procmisc/Makefile
        A       source/procmisc/blowfish.c
        A       source/dialog.c
        A       source/guimain.prg
        A       include/repmain.h
        A       include/freeimage.h
        A       source/commond.c
        A       include/guilib.ch
        A       include/guilib.h
        A       samples/viewer/bld_view.bat
        A       include/hwg_qhtm.ch
        A       makefile.vc
        A       samples/bldvc.bat
        A       samples/bldgw.bat
        A       samples/viewer/viewer.rc
        A       samples/mysql/userprn.rpt
        A       source/hprinter.prg
        A       source/repexec.prg
        A       source/hedit.prg
        A       source/menu_c.c
        A       source/hsayimg.prg
        A       source/menu.prg
        A       source/hriched.prg
        A       source/hcombo.prg
        A       samples/viewer/viewer.prg
        A       samples/mysql/userprn.scr
        A       samples/mysql/hwmysql.prg
        A       samples/mysql/bldwin.bat
        A       make_b32.bat
        A       samples/mysql/hwmysql.h
        A       doc/funclist.txt
        A       .ssh/known_hosts
        A       .ssh/random_seed
        A       whatsnew.txt
        A       source/hdialog.prg
        A       source/drawwidg.prg
        A       source/control.c
        A       source/wprint.c
        A       source/message.c
        A       source/hdatepic.prg
        A       source/qhtm/qhtm.h
        A       source/qhtm/Makefile
        A       source/draw.c
        A       source/hprogres.prg
        A       source/window.c
        A       source/htree.prg
        A       source/hgraph.prg
        A       source/hwindow.prg
        A       source/hfreeimg.prg
        A       samples/mysql/hwmysql.rc
        A       doc/author.jpg
        A       make_vc.bat
        A       Makefile
        A       include/windows.ch
        A       install.txt
        A       samples/viewer/bldgw.bat
        A       samples/mysql/demo.ini
        A       samples/mysql/dbfmysql.scr
        A       samples/bld.bat
        A       makefile.gcc
        A       makemngw.bat
r3 = 74a72d10d9921ffc2f7d48a2991c87f3a08cdb90 (refs/remotes/git-svn)
        M       .ssh/random_seed
        A       source/misc.c
r4 = e1612c48aa64e7ae41934827b9cfeae72c2eff4a (refs/remotes/git-svn)
        M       include/guilib.ch
        M       makefile.bc
        M       source/hdialog.prg
        M       source/Makefile
        M       source/htab.prg
        M       .ssh/random_seed
        M       makefile.vc
        M       source/dialog.c
        M       source/message.c
        M       source/window.c
        M       source/hwindow.prg
        M       include/windows.ch
        A       Changelog
        M       source/hedit.prg
        M       source/hdatepic.prg
        M       source/hbrowse.prg
        M       makefile.gcc
r5 = 353d62e5d6160fbb8192326790a6a346fa41f878 (refs/remotes/git-svn)

d:\temp\hwgui>copy con x.txt

^Z
        1 arquivo(s) copiado(s).

d:\temp\hwgui>


criei um arquivo na pasta x.txt
vou precisar dele depois.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Baixando do source-forge usando git

Mensagempor JoséQuintas » 20 Fev 2021 18:08

sf1.png


sf2.png


Essa seria a operação normal do dia a dia, clica no arquivo encima, pra ele ir pra baixo - isso vai ser a alteração a ser salva.
E clica no commit pra salvar.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Baixando do source-forge usando git

Mensagempor JoséQuintas » 20 Fev 2021 18:11

sf1.png


sf2.png
sf2.png (9.04 KiB) Visualizado 562 vezes


Mesmo que salve o source-forge inteiro, só depois de um commit é que essa parte fica visível.

Note dois "branches", um é o Main (x.txt), e o outro é o source-forge com hwgui.
Eles não tem ligação, são dois controles separados.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Baixando do source-forge usando git

Mensagempor JoséQuintas » 20 Fev 2021 18:15

sf1.png


Agora na última alteração da hwgui, é clique da direita, e selecionar esse "reset main branch to here", e "hard reset...".
Nesse instante, a sua main do git passou a ser a posição do source-forge com todas as atualizações.
Se tiver criado no github, vai ficar no github também.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Baixando do source-forge usando git

Mensagempor JoséQuintas » 20 Fev 2021 18:18

Ah sim... eu interrompi o git svn fetch.
Vai ter que fazer até o fim, e fazer o "reset main" no último commit.
Isso é muito demorado... mas fazer o que....
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Baixando do source-forge usando git

Mensagempor JoséQuintas » 20 Fev 2021 18:22

Isso é só na primeira vez, pra baixar tudo no source-forge.
Mas se não for fazer acompanhamento, não precisa fazer completo.

A parte do source-forge NÃO é salva pelo git.
Se fosse fazer o fetch de novo, seria feito desde o primeiro, toda aquela longa demora.

É aí que entra uma opção que eu descobri depois: dá pra pegar a partir de determinada alteração.

git svn fetch -r2900:HEAD

Hoje está perto de 2940, então isso baixaria somente as últimas 40 alterações.
Sempre o conteúdo final completo, mas somente o histórico de 40 alterações.

Isso é bom pra quem não quer todo histórico, ou pra futuras atualizações.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Baixando do source-forge usando git

Mensagempor JoséQuintas » 20 Fev 2021 18:30

sf1.png


No dia a dia depois, não muda muito.
Vão ser sempre dois branches (como duas versões).
o git svn fetch a partir de determinado número de alteração.

É ir na lista do source-forge, em cada alteração que ainda não está no git, e selecionar "cherry-pick this commit" em cada nova alteração.
No normal é no máximo uma por dia, ou uma por semana, então sem problemas.

Isso é interessante, porque quando você quer reescrever um histórico, acaba usando a mesma opção, dependendo de como reescrever.

Isso significa o seguinte: nos fontes atuais, será aplicada essa mesma alteração que foi feita no source-forge.

Se apenas está acompanhando o andamento do projeto para por aí.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Baixando do source-forge usando git

Mensagempor JoséQuintas » 20 Fev 2021 18:42

Agora outra parte interessante: aquele RESET MAIN TO HERE.

Isso modifica todos os fontes da sua pasta, para aquela exata posição de alterações.

Pra que serve?
No caso da hwgui, que mostrei, você está avançando os fontes pras novas alterações.
Mesmo na HWGUI, ou Harbour, ou fontes próprios, você poderia voltar a uma situação de um mês atrás, por exemplo.

MUITO CUIDADO com isso.
Você não perde nada, depois é só voltar pra situação atual, do mesmo modo.
Mas.....
Se você começar a alterar, vai estar criando uma nova versão dos seus próprios fontes, porque vai estar mexendo numa versão antiga.
O histórico acaba se dividindo em dois: o futuro anterior, e o novo futuro com as novas mexidas.

Confunde, mas não muito.
Você tinha os fontes de 31/12/2020, e tudo que foi alterado a partir de lá.
Se você reseta pra 31/12/2020, é você na máquina do tempo, voltando ao passado.
Se alterou o que fez dia 31/12/2020, está criando um novo futuro, não vai ser mais o mesmo de antes.

A partir daí, fica muito doido, porque a "máquina do tempo" está em suas mãos.
Pode desfazer o que fez, pode misturar passado e futuro, etc.
Pode escolher o que acontece com cada alteração que foi feita.

Então... acaba sendo legal mexer com isso de hwgui e outros, porque está treinando o que pode fazer com os próprios fontes.

No caso de hwgui, harbour, etc., se fizer besteira, é só apagar tudo e baixar tudo de novo.
Então é um ótimo treino.

Já com seus próprios fontes.... aí não pode ficar brincando não... tem que saber o que está fazendo.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes




Retornar para Contribuições, Dicas e Tutoriais

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 14 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro