|
| 1 | +This file explains how to install GNU git-merge-changelog from a tarball. |
| 2 | +(If you have checked out the source code repository, start by reading the |
| 3 | +file HACKING instead.) |
| 4 | + |
| 5 | + |
| 6 | +Prerequisites |
| 7 | +============= |
| 8 | + |
| 9 | +Before starting the installation, install the prerequisites listed in the |
| 10 | +file DEPENDENCIES. You need to have at least those marked as 'Mandatory' |
| 11 | +installed. |
| 12 | + |
| 13 | + |
| 14 | +Installation |
| 15 | +============ |
| 16 | + |
| 17 | +Then, you can run 'configure': |
| 18 | + |
| 19 | + $ mkdir build/ && cd build |
| 20 | + $ ../configure |
| 21 | + |
| 22 | +Here, you can give as arguments to 'configure' |
| 23 | + |
| 24 | + - configure options, as listen in the 'configure --help' output, |
| 25 | + - Makefile variable assignments for building the binaries, as |
| 26 | + described in the INSTALL.generic file. |
| 27 | + |
| 28 | +If you are in a 64-bit multilib system with support for building 32-bit |
| 29 | +binaries, you can build 32-bit binaries by configuring like this: |
| 30 | + |
| 31 | + $ ../configure CC="gcc -m32" |
| 32 | + |
| 33 | +You find a set of known-to-work variable settings for various platforms |
| 34 | +in https://gitlab.com/ghwiki/gnow-how/-/wikis/Platforms/Configuration . |
| 35 | + |
| 36 | +Then: |
| 37 | + |
| 38 | + $ make |
| 39 | + $ make check |
| 40 | + $ make install |
| 41 | + |
| 42 | +Additionally, for git users: |
| 43 | + - Add to .git/config of the checkout (or to your $HOME/.gitconfig) the |
| 44 | + lines |
| 45 | + |
| 46 | + [merge "merge-changelog"] |
| 47 | + name = GNU-style ChangeLog merge driver |
| 48 | + driver = /usr/local/bin/git-merge-changelog %O %A %B "%Y" |
| 49 | + |
| 50 | + - Add to the top-level directory of the checkout a file '.gitattributes' |
| 51 | + with this line: |
| 52 | + |
| 53 | + ChangeLog merge=merge-changelog |
| 54 | + |
| 55 | + (See "man 5 gitattributes" for more info.) |
| 56 | + |
| 57 | +Additionally, for bzr users: |
| 58 | + - Install the 'extmerge' bzr plug-in listed at |
| 59 | + <http://doc.bazaar.canonical.com/plugins/en/index.html> |
| 60 | + <http://wiki.bazaar.canonical.com/BzrPlugins> |
| 61 | + - Add to your $HOME/.bazaar/bazaar.conf the line |
| 62 | + |
| 63 | + external_merge = git-merge-changelog %b %T %o |
| 64 | + |
| 65 | + - Then, to merge a conflict in a ChangeLog file, use |
| 66 | + |
| 67 | + $ bzr extmerge ChangeLog |
| 68 | + |
| 69 | +Additionally, for hg users: |
| 70 | + - Add to your $HOME/.hgrc the lines |
| 71 | + |
| 72 | + [merge-patterns] |
| 73 | + ChangeLog = git-merge-changelog |
| 74 | + |
| 75 | + [merge-tools] |
| 76 | + git-merge-changelog.executable = /usr/local/bin/git-merge-changelog |
| 77 | + git-merge-changelog.args = $base $local $other |
| 78 | + |
| 79 | + See <https://www.selenic.com/mercurial/hgrc.5.html> section merge-tools |
| 80 | + for reference. |
0 commit comments