@hackage merge-bash-history0.1.0.1

command line utility to merge bash_history

merge-bash-history

Utility to be used with unison (http://www.cis.upenn.edu/~bcpierce/unison/) to merge .bash_history file accross multiple machines.

Installation

Clone the repository

git clone https://github.com/j1r1k/merge-bash-history.git

Install using stack

cd merge-bash-history
stack install

Example configuration in unison preferences file

Assuming you have root set to your home directory and merge-bash-history is in your $PATH

Add following to your unsion .prf file

merge = Name .bash_history -> merge-bash-history CURRENT1 CURRENT2 > NEW
backupcurrent = Name .bash_history

Manual usage

merge-bash-history [INPUT-FILE1] [INPUT-FILE2] > [MERGED-FILE]

Limitations

  • Does not support line deletion (e.g. manual removal of lines from .bash_history file)

Warnings

  • Sorts .bash_history file by timestamp if not sorted
  • removes duplicates (comparing timestamp and command)

Recommended Bash settings

shopt -s histappend
PROMPT_COMMAND="${PROMPT_COMMAND};history -a"

From Pawel Hajdan (http://phajdan-jr.blogspot.de/2015/03/more-reliable-handling-of-bash-history.html)