Mostrando las entradas con la etiqueta git. Mostrar todas las entradas
Mostrando las entradas con la etiqueta git. Mostrar todas las entradas

2023-01-27

Aceptar invites a repos de github desde línea de comando

Si por algún motivo querés aceptar invites a repos desde línea de comando en github, se puede!

Para hacer eso, hay que usar el comando gh y tener estar autenticado via 

$ gh auth login

Una vez que estás autenticado, hay que usar el api de github directamente via gh api, que maneja la autenticación por nosotros y recibe parámetros de forma análoga a curl.

El comando para obtener todos los invites pendientes es:

$ gh api user/repository_invitations

y devuelve un array con todas las invitaciones pendientes del usuario (en json).

Lo importante de ese array es que cada entrada tiene un campo "id". Es algo así:

[
  {
    "id": 12345678,
    "repository": {
      "full_name": "usuario/repo",
      "otras": "cosas",
    },
    "otras": "cosas"
  },
  { "id": "23456789", "otras": "cosas" }
]

Con ese id, podés correr este otro comando para aceptar el invite así:

$ gh api -X PATCH user/repository_invitations/12345678

y si salió todo bien ahora podés hacer clone de ese repo privado así:

$ gh repo clone usuario/repo 

Espero que les sirva!

PD: Las llamadas a la API las deduje de acá.

2022-04-28

Ignorando .gitignore

 A veces uno quiere ignorar archivos en git pero no quiere tocar .gitignore porque entonces aparece .gitignore como archivo modificado. Y eso es un garrón. Pensé que era inevitable, pero no. Si editan .git/info/exclude, poniendo reglas como las de .gitignore, va a ignorar siguiendo esas reglas en los comandos de git pero no van a ver .gitignore o .git/info/exclude como archivos modificados cuando corran git status (por ejemplo).

Fuente: https://stackoverflow.com/questions/653454/how-do-you-make-git-ignore-files-without-using-gitignore

2021-07-23

Desarrollar con rust en una VM

 En estos días empecé a jugar un poco con rust. Para esto, armé un entorno de desarrollo razonable para mi, en una VM. A mi me gusta armar entornos en VMs para desarrollar así no contamino mi compu con todas las cosas que voy instalando para probar cosas. En particular, prefiero armar VMs de lubuntu (ubuntu con lxde) y laburar conectandome via ssh como si fuera otra compu.

Para esto, armé la VM y le puse 2 placas de red virtuales (una NAT y otra host-only), le instalé lubuntu, le apliqué los últimos paquetes (apt update y apt upgrade) openssh-server (apt install openssh-server), git (apt install git), vscode (snap install --classic code), curl (apt install curl) y rust via rustup (curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh) que incluye cargo.

Para laburar más cómodo le informé mi clave de ssh a la VM usando ssh-copy-id. Después de eso, puedo sshearme a la vm (ssh -X -A aure@192.168.56.101) y operar sin poner passwords y abrir ventanas remotas para usar el vscode (y firefox) de la VM en el escritorio del host.

Para usar firefox hay que correrlo como firefox -no-remote. Para que anden los comandos de cargo y rustup que abren el browser agregué export BROWSER="$HOME/bin/firefox-remote.sh" en el final de mi .profile de la VM. y en $HOME/bin/firefox-remote.sh puse

#!/usr/bin/env bash

firefox -no-remote "$@"

y lo puse como ejecutable con chmod.

En vscode instalé 3 plugins:

  • GitLens para tener mejor soporte para git
  • Rust para tener soporte de la sintaxis de rust
  • CodeLLDB para poder debuggear código de rust dentro de vscode

Con esto creo que estoy listo para empezar a programar dentro de mi VM.

¿Creen que me faltó algo?

2015-05-23

Tuneando eclipse

Estoy usando eclipse con pydev para desarrollar usando pyzmq en un ubuntu 12.04 en forma remota por X11 (está en una VM). Para que sea usable, hice los siguientes cambios:

  • Para que use java7, toqué eclipse.ini y agregué -vm
    /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java
  • Para que ande mejor pydev, fuerzo el stack de ipv4. Para eso agregué a eclipse.ini -Djava.net.preferIPv4Stack=true
  • Para que ande no tan lento, fuerzo que ande con GTK2 seteando la variable de entorno SWT_GTK3=0 (mirar acá para más detalles)
  • Para que ande git con el agente de ssh standard seteo la variable de entorno GIT_SSH=/usr/bin/ssh
  • Para interprete correctamente el package zmq, agregué zmq a los builtins (Window->Preferences->PyDev->Interpreters->Python Interpreters->Forced Builtins)
Happy hacking,
Aureliano.

2015-02-02

mercurial 2 git

Encontré esta página donde traducen comandos de mercurial a git. Si sos como yo y sabés mucho más de mercurial que de git (o al revés), es posible que te sirva como referencia. Yo sé que a mi ya me salvó las papas del fuego.

Happy hacking,
Aureliano.

2009-07-19

rapidito en github

Hola,
puse un repo de rapidito (mi proyecto de base de datos basado en wikis) en github. Está disponible en http://github.com/aurelianito/rapidito/tree/master.
Si quieren usarlo, solo hay que hacer en el directorio clonado:


rake db:migrate
rake db:initial
rackup

Una vez que está corriendo, te conectás a http://localhost:9292 y tenés todas las instrucciones.
Tiene como requerimientos sinatra, activerecord, markaby y sqlite3 (con su gem).
Voy a ir avanzando este proyecto cuando tenga algo de tiempo. Por ahora es solo un wiki más, pero espero que se transforme en algo distinto. A medida que tenga más cosas agregadas voy a ir avisando en el blog.
Escucho sugerencias, y acepto patches ;).

Happy hacking,
Aureliano.

2009-03-14

Gitcasts

Hace un tiempo que estoy jugando con la idea de empezar a usar git como control de versiones. Pero como estoy acostumbrado a años de subversion, aunque entiendo que tiene ventajas, me cuesta mucho hacer el pase. Las cosas que me detienen son que tiene menos soporte en Windows, la integración con eclipse es peor y usamos subversion en el trabajo.
Las cosas que me tientan son que está bueno poder tener versiones sin conectarse a un server, que es una cosa nueva para aprender, que parece estar bien hecho y que hay un montón de gente usándolo y le sirve. La idea de usar un control de versiones distribuido me gusta mucho.
Así que me puse a usarlo en un proyectito que estoy haciendo para mi, y empecé a buscar como usarlo en internet. Y me encontré con unos screencasts que están re-buenos y quiero compartir con ustedes. Les recomiendo especialmente que vean el screencast de los slides de la rails-conf.

Me voy a dormir,
Aureliano.