{"id":1036,"date":"2014-11-10T19:06:39","date_gmt":"2014-11-10T22:06:39","guid":{"rendered":"http:\/\/www.maurom.com\/blog\/?p=1036"},"modified":"2014-11-12T10:14:25","modified_gmt":"2014-11-12T13:14:25","slug":"src-control-de-versiones-para-proyectos-de-un-solo-archivo","status":"publish","type":"post","link":"https:\/\/maurom.com\/blog\/2014\/11\/10\/src-control-de-versiones-para-proyectos-de-un-solo-archivo\/","title":{"rendered":"SRC: Control de versiones para proyectos de un solo archivo"},"content":{"rendered":"<p>Tiempo atr\u00e1s consult\u00e9 con mis amigos cual ser\u00eda la forma adecuada de mantener el hist\u00f3rico de versiones de distintos proyectos que est\u00e1n conformados por un \u00fanico archivo de c\u00f3digo fuente; o alternativamente, si alguno conoc\u00eda un sistema de control de versiones tal como subversion, mercurial o git, que permitiera mantener esa informaci\u00f3n sin tener que crear todo el proyecto en un nuevo directorio y sin el overhead de trazar cambios en jerarqu\u00edas de carpetas y similares. La idea es sencilla: muchas veces hago scripts sueltos que no merecen estar alojados en un repositorio de c\u00f3digo particular -est\u00e1n todos juntos en un directorio \u201cscripts\u201d-, pero de los que me interesa mantener un historial de cambios y revisiones.<\/p>\n<p><a href=\"http:\/\/tomasdel.com\/\">Tom\u00e1s<\/a> me recomend\u00f3 <a href=\"http:\/\/www.gistboxapp.com\/\">GistBox<\/a>, que parece bastante piola puesto que en cierta forma est\u00e1 destinado a mantener esa \u201cbiblioteca\u201d de c\u00f3digo variado que uno va acumulando con el tiempo. Adem\u00e1s los <a href=\"https:\/\/gist.github.com\/\">Gists<\/a>\u00a0siguen siendo <a href=\"https:\/\/help.github.com\/articles\/about-gists\/\">repositorios git<\/a>, por lo cual tienen todas las ventajas de un control de versiones. Pero aqu\u00ed ya uno depende un poco de los servicios en la nube y adem\u00e1s sigue siendo necesario mantener los archivos fuente en directorios aparte.<\/p>\n<p>Salvando GistBox, hasta el momento no hab\u00eda encontrado ning\u00fan software que realice tal tarea, e incluso estuve tentado a comenzar un proyecto propio para tal fin.<\/p>\n<p>Sin embargo, recientemente di con un post de <a href=\"http:\/\/www.catb.org\/esr\/\">Eric Raymond<\/a>\u00a0en el cual menciona\u00a0<a href=\"http:\/\/esr.ibiblio.org\/?p=6502\">la creaci\u00f3n<\/a> de un nuevo proyecto denominado <a href=\"http:\/\/www.catb.org\/esr\/src\/\">SRC o \u201cSimple Revision Control\u201d<\/a>, basado en <a href=\"https:\/\/www.gnu.org\/software\/rcs\/rcs.html\">RCS<\/a>\u00a0y definido como \u201cRevision control with a modern UI for single-file solo projects kept possibly more than one to a directory\u201d. En palabras sencillas, justo lo que estoy buscando.<\/p>\n<p>Seg\u00fan el <a href=\"https:\/\/gitorious.org\/src-vcs\/\">sitio web del proyecto<\/a> -que al involucrar m\u00faltiples archivos, est\u00e1 mantenido en git, <em>pun intended!<\/em>-, Simple Revision Control\u00a0es:<\/p>\n<blockquote><p>RCS recargado\u00a0-un peque\u00f1o y c\u00f3modo sistema de control de versiones para proyectos de \u00fanico archivo, \u00fanico desarrollador, tal como todos esos peque\u00f1os scripts en el directorio ~\/bin. Cuenta con operaci\u00f3n\u00a0libre de\u00a0bloqueo, una interfaz de usuario limpia y moderna similar a la de subversion, documentaci\u00f3n integrada, y los archivos de historia son archivos sencillos de RCS.<\/p><\/blockquote>\n<p>A primera vista tiene tres ventajas: a) cumple con lo que yo hab\u00eda solicitado; b) est\u00e1 desarrollado en python; y c) por el propio autor\u00a0de \u201cThe Art of UNIX Programming\u201d.\u00a0M\u00e1s no se puede pedir.<\/p>\n<p>Mientras estaba leyendo el art\u00edculo, en los\u00a0comentarios aportan otra utilidad similar (que tambi\u00e9n desconoc\u00eda): <a href=\"http:\/\/git.oblomov.eu\/zit\">Zit, the git-based single file content tracker<\/a>.\u00a0Por ahora voy a probar SRC\u00a0y ver si se ajusta a mi forma de trabajo. En un tiempo les comento que tal fue.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Tiempo atr\u00e1s consult\u00e9 con mis amigos cual ser\u00eda la forma adecuada de mantener el hist\u00f3rico de versiones de distintos proyectos que est\u00e1n conformados por un \u00fanico archivo de c\u00f3digo fuente; o alternativamente, si alguno conoc\u00eda un sistema de control de versiones tal como subversion, mercurial o git, que permitiera mantener esa informaci\u00f3n sin tener que [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[8,9,6],"_links":{"self":[{"href":"https:\/\/maurom.com\/blog\/wp-json\/wp\/v2\/posts\/1036"}],"collection":[{"href":"https:\/\/maurom.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/maurom.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/maurom.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/maurom.com\/blog\/wp-json\/wp\/v2\/comments?post=1036"}],"version-history":[{"count":0,"href":"https:\/\/maurom.com\/blog\/wp-json\/wp\/v2\/posts\/1036\/revisions"}],"wp:attachment":[{"href":"https:\/\/maurom.com\/blog\/wp-json\/wp\/v2\/media?parent=1036"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/maurom.com\/blog\/wp-json\/wp\/v2\/categories?post=1036"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/maurom.com\/blog\/wp-json\/wp\/v2\/tags?post=1036"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}