gitnext: added.

This commit is contained in:
Ole Tange 2017-03-31 15:09:17 +02:00
parent 6be767cbec
commit 5b0c6995b3
4 changed files with 128 additions and 27 deletions

View file

@ -1,6 +1,6 @@
CMD = blink bsearch G histogram upsidedown tracefile timestamp rand rclean rrm goodpasswd gitnext pdfman puniq ramusage ramusage
CMD = blink bsearch G gitundo histogram upsidedown tracefile timestamp rand rclean rrm goodpasswd gitnext pdfman puniq ramusage ramusage
all: blink/blink.1 bsearch/bsearch.1 G/G.1 goodpasswd/goodpasswd.1 histogram/histogram.1 puniq/puniq.1 rand/rand.1 rrm/rrm.1 timestamp/timestamp.1 tracefile/tracefile.1 upsidedown/upsidedown.1 wssh/wssh.1
all: blink/blink.1 bsearch/bsearch.1 G/G.1 gitnext/gitnext.1 gitundo/gitundo.1 goodpasswd/goodpasswd.1 histogram/histogram.1 neno/neno.1 pdfman/pdfman.1 puniq/puniq.1 rand/rand.1 rrm/rrm.1 timestamp/timestamp.1 tracefile/tracefile.1 upsidedown/upsidedown.1 wssh/wssh.1
%.1: %
pod2man $< > $@

4
README
View file

@ -14,10 +14,14 @@ G - short hand for multi level grep.
gitnext - Checkout next revision. Opposite of 'checkout HEAD^'.
gitundo - Undo last commit.
neno - No error no output. Only print STDERR and STDOUT if the command fails.
puniq - Print unique lines the first time they are seen.
pdfman - Convert man page to pdf and display it using evince.
rand - Generate (pseudo-)random data
rclean - Remove files with MD5 sums recorded by rrm (see below).

View file

@ -1,6 +1,64 @@
#!/bin/bash
# Checkout next revision
# Opposite of 'checkout HEAD^'
: <<=cut
=pod
=head1 NAME
gitnext - Checkout next git revision
=head1 SYNOPSIS
gitnext
=head1 DESCRIPTION
B<gitnext> does the opposite of B<git checkout HEAD^>. So instead of
stepping backwards in time, it steps forwards.
=head1 EXAMPLE
Go to next revision
gitnext
=head1 AUTHOR
Copyright (C) 2017 Ole Tange,
http://ole.tange.dk and Free Software Foundation, Inc.
=head1 LICENSE
Copyright (C) 2012 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
at your option any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
=head1 DEPENDENCIES
B<gitnext> uses B<git>.
=head1 SEE ALSO
B<git>
=cut
git checkout $(git log --reverse --ancestry-path HEAD..master|head -n 1|field 2)

View file

@ -1,28 +1,67 @@
#!/bin/bash
# NAME
# neno - no error no output
#
# SYNOPSIS
# neno command1 [\; command2 ...]
#
# DESCRIPTION
# neno will print the output from both standard output and
# standard error if the composed command returns an error. If the
# composed command returns true, the output will be ignored.
#
# This is useful for cron jobs where you only want output if it
# failed.
#
# AUTHOR
# Ole Tange <tange@gnu.org>
#
# COPYRIGHT
# Copyright © 2012 Free Software Foundation, Inc. License
# GPLv3+: GNU GPL version 3 or later
# <http://gnu.org/licenses/gpl.html>. This is free software: you
# are free to change and redistribute it. There is NO WARRANTY,
# to the extent permitted by law.
: <<=cut
=pod
=head1 NAME
neno - no error no output
=head1 SYNOPSIS
B<neno> I<command1> [\; I<command2> ...]
=head1 DESCRIPTION
B<neno> will print the output from both standard output and standard
error if the composed command returns an error. If the composed
command returns true, the output will be ignored. This is useful for
cron jobs where you only want output if it failed.
=head1 EXAMPLE
Give output for missing file:
neno ls /missing-file
No output if file exists:
neno ls /bin/sh
=head1 AUTHOR
Copyright (C) 2017 Ole Tange,
http://ole.tange.dk and Free Software Foundation, Inc.
=head1 LICENSE
Copyright (C) 2012 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
at your option any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
=head1 SEE ALSO
B<man>
=cut
print() {
cat $TMP/stdout >&3