org-mode – ¿Tiene la organización operaciones de "enredo inverso", por ejemplo, para colaborar con usuarios que no pertenecen a la organización?

Pregunta:

Me gustaría escribir mis propias notas / pruebas / código en org y luego usar org-bable-tangle para producir archivos fuente. Sin embargo, todos estos archivos están sujetos al control de versiones y, por lo tanto, están sujetos a cambios desde fuera del entorno de mi organización.

Me gustaría poder tener varios bloques src y luego enredarme con un montón de archivos diferentes, cada uno de los cuales estaría comprometido con el control de versiones. Pero al mismo tiempo, ser capaz de "desenredar" cada uno de estos archivos en mi archivo de organización después de realizar cualquier cambio en el control de versiones.

¿Existe alguna forma sencilla de hacer esto? Ahora estoy considerando jugar con insert-file-contents

Respuesta:

Sí, es org-babel-detangle .

org-babel-detangle es una función Lisp compilada interactiva en ob-tangle.el .

(org-babel-detangle &optional SOURCE-CODE-FILE)

Propagar los cambios en el archivo fuente de nuevo al archivo Org. Esto requiere que los bloques de código se mezclen con comentarios de enlaces que permitan encontrar los bloques de código originales.

Debe establecer el argumento del encabezado de comments en el link para que funcione, por ejemplo,

#+begin_src ruby :tangle hello.rb :comments link
  puts 'hello'
#+end_src

luego use Mx org-babel-tangle para exportar el bloque de código, se hello.rb un nuevo archivo llamado hello.rb , debe tener contenidos similares como el siguiente

~ $ cat hello.rb
# [[file:~/foo.org][No heading:1]]
puts 'hello'
# No heading:1 ends here
~ $

Finalmente, abra hello.rb en Emacs, cambie hello a hello world y ejecute Mx org-babel-detangle hello.rb en el hello.rb de hello.rb . El archivo org se actualizará

#+begin_src ruby :tangle hello.rb :comments link
  puts 'hello world'
#+end_src

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım