HyperbolaBSD – meeting 8 addendum

New Hyperbola git infrastructure

[19:28]<quiliro> dankon Emulatorman
[20:58]<Emulatorman> quiliro: ping
[21:02]<Emulatorman> quiliro: cuando puedas, fijate si puedes entrar con ->
ssh -p 51100 quiliro@git.hyperbola.info
<quiliro> ok
<quiliro> he publicado el log
<quiliro> meeting – 8
<Emulatorman> ahi entrarias para poder agregar/quitar/listar repos de
git en tu cuenta
[21:03]<Emulatorman> cuando es para repos compartidos por el equipo, es aqui
-> ssh -p 51100 team@git.hyperbola.info
[21:04]<Emulatorman> aqui esta el codigo fuente del script ->
https://git.hyperbola.info:50100/services/git-shell-commands.git/tree/
<quiliro> Ya ingrese…No entiendo bien las instrucciones que salen
cuando entré
[21:05]<quiliro> To list a Git repositories use between:
<quiliro>     ‘list’, ‘lsgit’ or ‘gsc_lsgit.sh’
<quiliro>   To make a Git repository use between:
<quiliro>     ‘make’, ‘mkgit’ or ‘gsc_mkgit.sh’
<quiliro>   To remove a Git repository use between:
<quiliro>     ‘remove’, ‘rmgit’ or ‘gsc_rmgit.sh
<Emulatorman> ahi es solo para crear repos de git vacios
<Emulatorman> y despues puedes subir codigo ahi
[21:06]<Emulatorman> despues una vez creado la web generara la url para el
grupo o para otros
<quiliro> creo que en lugar de “between” debe ser “any of the
following”
<quiliro> es así?
[21:07]<Emulatorman> ok, puedes aprovechar y crear un repo con el mismo nombre
de git-shell-commands
<Emulatorman> en team o en el tuyo
<Emulatorman> y luego haces pull del original y comenzas a hacer
commits
[21:08]<quiliro> y a veces debe ser “a Git repository” y otras “Git
repositories”
<Emulatorman> ok
<Emulatorman> yo no he probado y ni hice ese script
[21:09]<quiliro> no entiendo bien qué hacer
<Emulatorman> voy a intentar crear uno en el mio para entender como
funciona
[21:12]<quiliro> ya lo entiendo!
[21:13]<Emulatorman> quiliro: copio en un paste lo que hice para evitar
“flooding” aqui
[21:14]<quiliro> ok
<Emulatorman> quiliro: https://paste.debian.net/plain/1193930
<quiliro> pide address y name
<quiliro> ok
<Emulatorman> hice git-shell-commands dentro del directorio services
[21:15]<Emulatorman> para el team
<Emulatorman> y ahora tenemos disponible aqui ->
https://git.hyperbola.info:50100/~team/services/git-shell-commands.git/
<quiliro> list please
[21:16]<Emulatorman> voy ahora clonar el directorio que hice
<quiliro> on the paste
<quiliro> after make
<quiliro> ya entiendo
<Emulatorman> voy ahora clonar -> git clone
ssh://git@git.hyperbola.info:51100/~git/~team/services/git-shell-commands.git
[21:17]<quiliro> ok
<quiliro> excelente
<Emulatorman> ahora voy intentar importar los commits del official ->
https://git.hyperbola.info:50100/services/git-shell-commands.git/
[21:18]<Emulatorman> y pasarlos para el clon que hice en el team
<Emulatorman> voy a ver si me acuerdo del comando que estoy un poco
olvidado
[21:19]<Emulatorman> estoy leyendo el man de git pull
<Emulatorman> porque hay que crear un origen para tomar cambios de
otros repos con git pull
<Emulatorman> pero me olvidé del comando
<quiliro> origin/master
[21:20]<quiliro> git pull origin/master
<quiliro> creo
<quiliro> no es mejor hacerlo mañana?
<quiliro> con gente que hace esto a diario
[21:21]<quiliro> para que otros ayuden y tú puedas descansar un poco
[21:23]<Emulatorman> en realidad creo que es git pull
https://git.hyperbola.info:50100/services/git-shell-commands.git
<quiliro> ya he creado documentation/libertad.git y
documentation/freedom.git
[21:24]<quiliro> pero creo que está mal…esos debieran ser archivos, no
repositorios
[21:26]<Emulatorman> creo que esta inestable
<Emulatorman> estoy con problemas para subir lo que importé
[21:27]<quiliro> oh
<quiliro> git push
[21:28]<Emulatorman> pude importar con git pull
https://git.hyperbola.info:50100/services/git-shell-commands.git
<quiliro> ooh…bueno
<Emulatorman> ahora como es un repo nuevo tengo que configurar la rama
de master
[21:29]<Emulatorman> segun dice el git
<Emulatorman> git push –set-upstream origin master
<quiliro> ok
[21:31]<Emulatorman> me di cuenta que esta mal lo que hace cgit
<Emulatorman> tira todo en el usuario git
<Emulatorman> por eso no pude
<quiliro> oh
[21:32]<Emulatorman> tuve que editar en .git/config de
ssh://git@git.hyperbola.info:51100/~git/~team/services/git-shell-commands.git
a
ssh://team@git.hyperbola.info:51100/~git/~team/services/git-shell-commands.git
<quiliro> ami no me funciono clonar
<Emulatorman> cambiando el “git@” por “team@”
<Emulatorman> es un bug del cgit
<quiliro> oh…debo hacer eso mismo en el comando de clonar
<Emulatorman> fijate si te funciona
<Emulatorman> yo pude
[21:33]<Emulatorman> ahora ->
https://git.hyperbola.info:50100/~team/services/git-shell-commands.git/
<quiliro> git clone
https://git.hyperbola.info:50100/~team/services/git-shell-commands.git/
<quiliro> me funciona
[21:36]<Emulatorman> si pero debes de usar el ssh:// no el https:// para subir
archivos
<Emulatorman> deberias de clonar como git clone
ssh://team@git.hyperbola.info:51100/~git/~team/services/git-shell-commands.git
[21:37]<Emulatorman> cambiando el git@git.hyperbola.info por
team@git.hyperbola.info
<Emulatorman> porque esta mal lo que dice el cgit
<Emulatorman> quizas falte algo por configurar en el cgit, o es un bug
<Emulatorman> despues el otro bug es que no aparece la previsualizacion
de los archivos a no ser si haces click en (plain)
[21:38]<Emulatorman> digo en cgit en la web
<quiliro> git clone
ssh://team@git.hyperbola.info:51100/~git/~team/services/git-shell-commands.git
<quiliro> me funciona
<quiliro> también
[21:39]<Emulatorman> si, es el modo para tener acceso a subir tus cambios ahi
<Emulatorman> ahora puedes subir tus commits ahi
<biovoid> Emulatorman: pardonu, I just cloned the kernel—can you
suggest a program to view the formatted markdown?
<heckyel> Emulatorman: el problema de la visualización debe ser por
highlighting
<quiliro> biovoid: emacs?
<heckyel>  tal vez mirar la ruta adecuada de :::
source-filter=/usr/lib/cgit/filters/syntax-highlighting.py
[21:40]<biovoid> I don’t use emacs
<biovoid> as in I don’t know it
<Emulatorman> biovoid: for some strange reason, you should clone
ssh://team@git.hyperbola.info:51100/ instead of
ssh://git@git.hyperbola.info:51100/ for team git repos
[21:41]<Emulatorman> biovoid: for your own account it is ->
ssh://biovoid@git.hyperbola.info:51100/
<biovoid> I had cloned
ssh://biovoid@git.hyperbola.info:51100/~git/~team/hyperbolabsd/hyperbk.git
<Emulatorman> yes, that is the way
[21:42]<biovoid> okay good
<Emulatorman> you can push your own commits there
<Emulatorman> if you have plans to push commits in our team, just
create a new origin inside .git/config by pointing to
ssh://team@git.hyperbola.info:51100
[21:43]<Emulatorman> so you can pull/push commits between your git repo and
team one
<Emulatorman> it is the way how to work in environments such as the
Linux kernel
<biovoid> understood
[21:44]<Emulatorman> i will create package repos for the team to push new
PKGBUILD’s commits
[21:49]<quiliro> Emulatorman: “HyperbolaBSD esta planeado para implementar
nuevas caracteristicas heredadas del nucleo Linux” ¿Qué
características en específico se tomará de Linux y de
OpenBSD?
<Emulatorman> quiliro: estan explicadas en la entrevista
[21:50]<quiliro> ok
<Emulatorman> quiliro: en Linux y los *BSDs
<Emulatorman> no solo OpenBSD
<Emulatorman> adoro el sistema de archivos hammer y hammer2 de
DragonflyBSD
<Emulatorman> estaria bueno implementarlo en el futuro para
HyperbolaBSD
[21:51]<Emulatorman> rapido, compacto, seguro, simples
<Emulatorman> hablé de eso en la entrevista
[21:53]<Emulatorman> please, keep your own commits in your own branches, not
master
[21:54]<Emulatorman>
eg. https://git.hyperbola.info:50100/~team/packages/core.git/log/?h=emulatorman
[21:55]<Emulatorman> how to do: just run -> git branch yournickname
<Emulatorman> then: git checkout yournickname
<biovoid> Emulatorman: Actually I don’t understand why I would need to
change user (`biovoid@git…` to `team@git…`) in the
origin. Would that not remove our individual atributions for
commits?
<Emulatorman> pull commits from master: git pull origin master
[21:56]<Emulatorman> biovoid: you can use custom origins
<Emulatorman> eg.
<Emulatorman> go to .git/config
<Emulatorman> then edit a custom origin
[21:57]<biovoid> Yes, I mean, must it be changed because `biovoid` does not
have write permissions to ~team?
[21:58]<Emulatorman> i mean to create custom remote urls to push between the
git repos
* Emulatorman is creating an sample
[21:59]<quiliro>  Emulatorman: Linux kernel’s JFFS2
[22:00]<quiliro> Emulatorman: is that the only thing from linux?
<quiliro> from the interview
<Emulatorman> biovoid: it is a sample of remotes ->
https://paste.debian.net/plain/1193932
[22:01]<quiliro> only stuff which is gplv3+
<Emulatorman> biovoid: so if you want to pull changes from the team’s
repo, just run -> git pull team master
[22:02]<biovoid> I thnk I was getting confused on the authentication matching
the ~user
<Emulatorman> biovoid: if you want to push for both (your own repo and
team one): you should run -> git push origin master (for
you as default remote origin) and git push team master
[22:03]<Emulatorman> since your repo is the “origin” remote repo the command
“origin master” isn’t needed, but i added there to
understand the syntax
<Emulatorman> biovoid: coadde fixed the syntax now in the cgit
[22:04]<Emulatorman> see here right now ->
https://git.hyperbola.info:50100/~~biovoid/hyperbolabsd/hyperbk.git/
<Emulatorman> it says
ssh://<user>@git.hyperbola.info:51100/~git/~~biovoid/hyperbolabsd/hyperbk.git
<Emulatorman> where “<user>” is your own user
<Emulatorman> or team for shared team account
[22:05]<biovoid> Emulatorman: my question was whether I could use my own user
to push to ~team
<biovoid> or need team for both
[22:06]<Emulatorman> yes of course
<Emulatorman> check my sample in the paste.debian.net
<Emulatorman> https://paste.debian.net/plain/1193932
[22:07]<Emulatorman> you need create a custom remote path in .git/config
<Emulatorman> by default, git create a [remote “origin”] when you clone
a repo
<biovoid> in that example they all match I mean would
ssh://emulatorman@git.hyperbola.info:51100/~git/~team/packages/core.git
work, or do you have to authenticate as team to push to ~team
[22:08]<Emulatorman> to pull commit, you don’t need use the ssh://, you can
use the https:// to avoid authentica everytime, because
it just pulling commits
[22:09]<biovoid> makes sense
<Emulatorman> in that case you can use the default/official url -> url
= https://git.hyperbola.info:50100/packages/core.git
<Emulatorman> to push changes you should use the url to push commits,
eg -> pushurl =
ssh://team@git.hyperbola.info:51100/~git/~team/packages/core.git
[22:10]<Emulatorman> if you need 2 push’s urls, then you need create 2 remote
instances
<biovoid> right
<Emulatorman> one as default, called origin -> [remote “origin”]
[22:11]<Emulatorman> then another one -> [remote “foo”]
<Emulatorman> in that foo instance, put the custom url, it could be the
team, your one, another mirror around internet such as
github, etc
<Emulatorman> then you will push it as -> git push foo master
[22:12]<Emulatorman> so those commits will be read by git in the remote “foo”
instance in the pushurl field eg. ->
ssh://team@git.hyperbola.info:51100/~git/~team/packages/core.git
<Emulatorman> so those those commits will go to the team git repo
instance
[22:13]<biovoid> and both individual user and team user permissions are
determined by ssh keys?
<Emulatorman> yes biovoid
<Emulatorman> coadde did that in those days
<Emulatorman> so your instance biovoid only you have access
<Emulatorman> and team our team
[22:14]<biovoid> Okay, I think everything is clear for now. Thank you for the
explanations, Emulatorman
<Emulatorman> we create a personal git instance for personal reasons,
maybe someday you would push your own projects there,
eg. a free software source from your university made by
you, and you need a git instance for that, etc
[22:15]<Emulatorman> at least, you guys, don’t need go to libregit, github,
etc for that
<Emulatorman> quiliro: you could save those latest logs for tomorrow
[22:16]<Emulatorman> i wouldn’t to explain it again :P
<Emulatorman> or at least to take note for future “HOWTO” or something
else, etc
<quiliro> ok…I will add it to today’s logs
[22:17]<quiliro> or maybe create a new log
<quiliro> to make it easy to search
<biovoid> git log
<biovoid> lol
<quiliro> that would be much better, biovoid
<Emulatorman> ok ty :)
[22:27]<Emulatorman> typo in [remote “team”]
<Emulatorman> it is fetch = +refs/heads/*:refs/remotes/team/*
<Emulatorman> not fetch = +refs/heads/*:refs/remotes/libregit/*
[22:33]<Emulatorman> quiliro:biovoid: fixed sample ->
https://paste.debian.net/plain/1193934
[22:45]<Emulatorman> heckyel: cuando puedas, despues fijate si ya tienes
acceso
<Emulatorman> deberia de ya funcionar
[22:46]<heckyel> Emulatorman: sí funciona. Lo probé hace rato :-)
<Emulatorman> ok genial
<Emulatorman> ya subi los repos core.git y extra.git en el team
<Emulatorman> o sea que puedes subir commits ahi
<Emulatorman> en lo posible hacete una rama (ej. heckyel)
<Emulatorman> asi no nos pisamos en la rama maestra
[22:47]<heckyel> Emulatorman: bien. Aunque dudo que use mucho el git
<Emulatorman> quiliro: eso debemos de mencionar mañana en la reunión,
para que el equipo se haga sus ramas propias en los repos
de team
[22:48]<Emulatorman> heckyel: ok
<Emulatorman> usas mercurial?
<Emulatorman> o subversion?
<heckyel> Emulatorman: uso git. Me refería a subir archivos a
git.hyperbola.info :)
[22:49]<Emulatorman> ah ok
<Emulatorman> igual de ultima tienes tu propio usuario de git para
subir codigos personales
<Emulatorman> o mirrors
[23:00]<quiliro> Emulatorman: si han terminado, subiré este log
<Emulatorman> ok, si
<Emulatorman> ya terminé