No Description

Andrew Young fe44d5a44e Implement merging of text using string_merge 8 years ago
config 91b758c5eb Add prototype docs and tests 8 years ago
doc f3e330e441 Add doc/ automake file for future doc generation 8 years ago
gnulib 76c363bc4f Add private versions of gl_anytree to project 8 years ago
m4 730311d24b Import gnulib's rbtree-list 8 years ago
src fe44d5a44e Implement merging of text using string_merge 8 years ago
tests e832e6c44e Hook merge rule tests into the automake TAP driver 8 years ago
.gitignore 6de02c7e92 Remove the parser from .gitignore 8 years ago
AUTHORS 91b758c5eb Add prototype docs and tests 8 years ago
COPYING 91b758c5eb Add prototype docs and tests 8 years ago
ChangeLog 91b758c5eb Add prototype docs and tests 8 years ago
Doxyfile 7cbcb0114a Add doxygen config file 8 years ago
INSTALL 91b758c5eb Add prototype docs and tests 8 years ago
Makefile.am 4a5256310b Add doc folder to the automake path 8 years ago
NEWS 91b758c5eb Add prototype docs and tests 8 years ago
README a01f6dd409 Add compilation instructions to README 8 years ago
configure.ac 21c68bedf4 Make Check an optional package 8 years ago

README

-*- mode:org -*-
#+Title: Org Merge Driver
* Introduction
This is Org Merge Driver, a program for merging changes to Org mode
files.

This project is currently being developed under Google Summer of Code
2012 for the Gnu organization.

The project page can be found [[http://orgmode.org/worg/org-contrib/gsoc2012/student-projects/git-merge-tool/index.html][here]].

The homepage of Org is [[http://orgmode.org][here]].

* Dependancies
This program requires [[http://www.gnu.org/software/gnulib/][Gnulib]], Flex (not lex) and GNU Autotools to compile.

To obtain Gnulib:
#+begin_src sh
git clone git://git.savannah.gnu.org/gnulib.git
or
cvs -d :pserver:anonymous@pserver.git.sv.gnu.org:/gnulib.git co -d gnulib HEAD
#+end_src

* Compiling

To Compile simply run:
#+begin_src sh
cd $(top_srcdir)
~/gnulib/gnulib-tool --add-import
autoreconf -i
./configure && make
#+end_src

* Using
** Using and Installation
** Git users:
1. Add to .git/config of the checkout (or to your ~/.gitconfig) the
lines

#+begin_src
[merge "merge-orgmode"]
name = Org Mode merge driver
driver = /usr/local/bin/org-merge-driver %O %A %B
#+end_src

2. In every directory with ormode files make a .gitattributes , or
.git/info/attributes if you don't want to have the file committed
with the project. Add the following line to the file:

#+begin_src
*.org merge=merge-orgmode
#+end_src

(See "man 5 gitattributes" for more info.)

** Bazaar users:
1. Install the [[http://doc.bazaar.canonical.com/plugins/en/index.html][extmerge bzr plug-in]]
2. Add to your ~/.bazaar/bazaar.conf the line

#+begin_src
external_merge = org-merge-driver %b %T %o
#+end_src

3. Then, to merge a conflict in a ChangeLog file, use

#+begin_src
$ bzr extmerge --all --verbose
#+end_src
** Mercurial users:
1. Add to your $HOME/.hgrc the lines

#+begin_src
[merge-patterns]
**.org = org-merge-driver

[merge-tools]
org-merge-driver.executable = /usr/local/bin/org-merge-driver
org-merge-driver.args = $base $local $other
#+end_src

See [[http://www.selenic.com/mercurial/hgrc.5.html][Configuration files for Mercurial]], section merge-tools for
reference.