aboutsummarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO15
-rw-r--r--.gitignore5
-rw-r--r--PKGBUILD31
-rw-r--r--README.md70
4 files changed, 121 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..7ed0aee8812a
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,15 @@
+pkgbase = git-merge-changelog-git
+ pkgdesc = git merge driver for GNU style ChangeLog files.
+ pkgver = 0.1.r3232.gffcdc4580
+ pkgrel = 1
+ url = http://savannah.gnu.org/projects/gnulib
+ arch = i686
+ arch = x86_64
+ license = GPLv2
+ makedepends = git
+ provides = git-merge-changelog=0.1.r3232.gffcdc4580
+ source = git://git.savannah.gnu.org/gnulib.git
+ sha256sums = SKIP
+
+pkgname = git-merge-changelog-git
+
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000000..b2eb93a6b343
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,5 @@
+pkg/
+src/
+*.pkg.tar.xz
+*.tar.gz
+gnulib/ \ No newline at end of file
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..6649fe851938
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,31 @@
+# Maintainer: Andrey Novikov <envek@envek.name>
+
+pkgname=git-merge-changelog-git
+pkgdesc="git merge driver for GNU style ChangeLog files."
+pkgver=0.1.r3232.gffcdc4580
+pkgrel=1
+arch=('i686' 'x86_64')
+url="http://savannah.gnu.org/projects/gnulib"
+license=('GPLv2')
+provides=("git-merge-changelog=${pkgver}")
+makedepends=('git')
+source=("git://git.savannah.gnu.org/gnulib.git")
+sha256sums=('SKIP')
+
+pkgver() {
+ cd "$srcdir/gnulib"
+ git describe --always --long --tags | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
+}
+
+build() {
+ cd "$srcdir/gnulib"
+ ./gnulib-tool --create-testdir --dir="$srcdir/$pkgname-$pkgver" git-merge-changelog
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir/" install
+}
diff --git a/README.md b/README.md
new file mode 100644
index 000000000000..6c0baa949b3f
--- /dev/null
+++ b/README.md
@@ -0,0 +1,70 @@
+# git-merge-changelog
+
+GNU utility to automatically resolve conflicts in prepend-only files (like CHANGELOG).
+
+## Usage
+
+### git
+
+ - Add to `.git/config` of the checkout (or to your `$HOME/.gitconfig`) the lines
+
+ [merge "merge-changelog"]
+ name = GNU-style ChangeLog merge driver
+ driver = /usr/bin/$pkgname/git-merge-changelog %O %A %B
+
+ - In every directory that contains a ChangeLog file, add a file `.gitattributes` with this line:
+
+ ChangeLog merge=merge-changelog
+
+ (See "man 5 gitattributes" for more info.)
+
+
+### bzr
+
+ - Install the 'extmerge' bzr plug-in listed at <http://doc.bazaar.canonical.com/plugins/en/index.html> and <http://wiki.bazaar.canonical.com/BzrPlugins>
+
+ - Add to your $HOME/.bazaar/bazaar.conf the line
+
+ external_merge = git-merge-changelog %b %T %o
+
+ - Then, to merge a conflict in a ChangeLog file, use
+
+ $ bzr extmerge ChangeLog
+
+
+### hg
+
+ - Add to your $HOME/.hgrc the lines
+
+ [merge-patterns]
+ ChangeLog = git-merge-changelog
+
+ [merge-tools]
+ git-merge-changelog.executable = /usr/bin/git-merge-changelog
+ git-merge-changelog.args = $base $local $other
+
+ See <https://www.selenic.com/mercurial/hgrc.5.html> section merge-tools for reference.
+
+
+## Upgrading AUR package
+
+ 1. Change version in the `PKGBUILD`
+
+ 2. Update `.SRCINFO` file:
+
+ ```sh
+ makepkg --printsrcinfo > .SRCINFO
+ ```
+
+ 3. Build package
+
+ ```sh
+ makepkg
+ ```
+
+ 4. Commit and push changes
+
+
+## Links
+
+ - [Automagically merging ChangeLog files with mercurial or git](https://gnu.wildebeest.org/blog/mjw/2012/03/16/automagically-merging-changelog-files-with-mercurial-or-git/)