git svn e attimi di vero panico

Ieri sera mi sono fermato un po’ di più in ufficio perché, dopo aver recuperato la password di root del mio netbook e ho avviato l’aggiornamento senza rendermi conto che era già tardi. Mentre guardavo l’aggiornamento procede e salutavo i colleghi ho pensato bene di eseguire il comando:

git svn rebase

con l’intenzione di fare, poi:

git svn dcommit

Il primo comando è fallito miseramente, segnalando conflitti e riempiendo la directory .git con ben 10 file di differenze. Dato che io in questi ultimi 10 giorni ho fatto parecchi commit locali senza però sincronizzare il repository SVN avevo dei file di differenze da quasi 4000 righe. L’idea di dovermi gestire il merge a mano mi ha terrorizzato. Dopo averci provato ho iniziato a cercare su Internet e alla fine grazie a quanto riportato nel post di Diego, el gnomo ho eseguito, dopo aver fatto un backup di tutta la directory, ho proceduto così:

  1. Eseguito git log -g
  2. Controllato l’hash dell’ultimo commit
  3. Eseguito git show
  4. Controllato che l’hash dell’output del primo comando fosse lo stesso
  5. Eseguito git reset --hard
  6. Eseguito git svn rebase
  7. Eseguito git svn dcommit
  8. Ricompilato tutto e controllato che le modifiche inserite ci fossere tutte

Per quanto ho potuto verificare ieri sera, tutte le modifiche erano presente e nulla è andato perso.

Grazie Diego.

apt-spy migrated to git.debian.org

Asking for a sponsor for apt-spy was for me the starting point for a big new job. Paul Wise did a great review an found out many errors and pointed out that github is not so free as it looks out at a first glance. Paul pointed me to Benjamin Mako Hill‘s great post titled: Free Software Needs Free Tools. So even if I decided to not switch apt-spy to native package with the help of Fabrizio Regalli I imported apt-spy package that is actually on Debian archives in the collab-maint git that was created a while ago.
I merged github repo (I’m going to leave or even delete) following the guide Git community book chapter about merging.