Commit 000d911a authored by Jochen Sprickerhof's avatar Jochen Sprickerhof

New upstream version 20170109

parent 55016867
......@@ -5,7 +5,6 @@ sadmin/logontime WTFPL-2.0+
sadmin/netload WTFPL-2.0+
sadmin/newns WTFPL-2.0+
sadmin/ofl WTFPL-2.0+
sadmin/parkverbot GPL-2.0+
sadmin/pmap_dirty WTFPL-2.0+
sadmin/printcaps WTFPL-2.0+
sadmin/proc_iomem_count WTFPL-2.0+
......@@ -26,7 +25,6 @@ sdevel/doxygen-kerneldoc-filter WTFPL-2.0+
sdevel/git-author-stats WTFPL-2.0+
sdevel/git-blame-stats WTFPL-2.0+
sdevel/git-forest GPL-2.0+
sdevel/git-new-root WTFPL-2.0+
sdevel/git-revert-stats WTFPL-2.0+
sdevel/git-track WTFPL-2.0+
sdevel/man2html WTFPL-2.0+
......@@ -59,6 +57,7 @@ suser/declone WTFPL-2.0+
suser/fxterm WTFPL-2.0+
suser/mailsplit WTFPL-2.0+
suser/pesubst WTFPL-2.0+
suser/qpdecoder WTFPL-2.0+
suser/qtar WTFPL-2.0+
suser/rezip WTFPL-2.0+
suser/rot13 WTFPL-2.0+
......
......@@ -318,10 +318,9 @@ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
# configured tree to be moved without reconfiguration.
AC_DEFUN([AM_AUX_DIR_EXPAND],
[dnl Rely on autoconf to set up CDPATH properly.
AC_PREREQ([2.50])dnl
# expand $ac_aux_dir to an absolute path
am_aux_dir=`cd $ac_aux_dir && pwd`
[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
# Expand $ac_aux_dir to an absolute path.
am_aux_dir=`cd "$ac_aux_dir" && pwd`
])
# AM_CONDITIONAL -*- Autoconf -*-
......
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for hxtools 20150304.
# Generated by GNU Autoconf 2.69 for hxtools 20170109.
#
#
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
......@@ -577,8 +577,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='hxtools'
PACKAGE_TARNAME='hxtools'
PACKAGE_VERSION='20150304'
PACKAGE_STRING='hxtools 20150304'
PACKAGE_VERSION='20170109'
PACKAGE_STRING='hxtools 20170109'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''
......@@ -1308,7 +1308,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures hxtools 20150304 to adapt to many kinds of systems.
\`configure' configures hxtools 20170109 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
......@@ -1374,7 +1374,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of hxtools 20150304:";;
short | recursive ) echo "Configuration of hxtools 20170109:";;
esac
cat <<\_ACEOF
......@@ -1494,7 +1494,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
hxtools configure 20150304
hxtools configure 20170109
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
......@@ -2078,7 +2078,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by hxtools $as_me 20150304, which was
It was created by hxtools $as_me 20170109, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
......@@ -2629,8 +2629,8 @@ test "$program_suffix" != NONE &&
ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
# expand $ac_aux_dir to an absolute path
am_aux_dir=`cd $ac_aux_dir && pwd`
# Expand $ac_aux_dir to an absolute path.
am_aux_dir=`cd "$ac_aux_dir" && pwd`
if test x"${MISSING+set}" != xset; then
case $am_aux_dir in
......@@ -2943,7 +2943,7 @@ fi
# Define the identity of the package.
PACKAGE='hxtools'
VERSION='20150304'
VERSION='20170109'
cat >>confdefs.h <<_ACEOF
......@@ -6336,7 +6336,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by hxtools $as_me 20150304, which was
This file was extended by hxtools $as_me 20170109, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
......@@ -6402,7 +6402,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
hxtools config.status 20150304
hxtools config.status 20170109
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
......
AC_INIT([hxtools], [20150304])
AC_INIT([hxtools], [20170109])
AC_CONFIG_AUX_DIR([build-aux])
AC_CONFIG_HEADERS([config.h])
AC_PROG_INSTALL
......
......@@ -44,3 +44,9 @@
[grep]
patternType = perl
[merge]
conflictstyle = diff3
[diff]
algorithm = histogram
......@@ -155,6 +155,7 @@ EXEC 1;31
.jpeg 0;36
.JPG 0;36 # JPEG
.jpg 0;36 # JPEG
.m4a 0:36 # MPEG4 container with just audio
.mid 0;36 # MIDI file
.mka 0;36 # Matroska container (used for audio-only)
.mkv 0;36 # Matroska container (used for video)
......
......@@ -25,6 +25,7 @@ dist_man_MANS = \
git-track.1 \
hcdplay.1 \
hxtools.7 \
ldif-duplicate-attrs.1 \
logontime.8 \
mailsplit.1 \
man2html.1 \
......
......@@ -278,6 +278,7 @@ dist_man_MANS = \
git-track.1 \
hcdplay.1 \
hxtools.7 \
ldif-duplicate-attrs.1 \
logontime.8 \
mailsplit.1 \
man2html.1 \
......
.TH gpsh 1 "2010-11-30" "hxtools" "hxtools"
.TH gpsh 1 "2015-03-11" "hxtools" "hxtools"
.SH Name
.PP
gpsh \(em grep and play my audio files from shell
gpsh \(em select audio files by name and play them
.SH Syntax
.PP
\fBgpsh\fP [\fB\-F\fP \fIindex.m9u\fP] [\fB-OM,\fP\fIopt\fP]
[\fB\-blvxz\fP] \fIpatterns\fP...
.SH Description
.PP
Greps the master index file by the specified patterns and plays back any
matching entries (using external programs: mplayer, timidity). It expressly
supports jumping into subtracks in mixes.
gpsh is a utility that will search the current directory for audio/video files
by matching their path and filename with regular expression patterns presented
on the command line, and feeding them to a multimedia player. gpsh is capable
of reading special tracklist files which contain subtrack names and their
associated time positions.
.PP
When no pattern is given, all files are selected.
When no pattern is given, all entries are selected. By default, all entries
which matched a particular pattern are played back in random order, but order
between patterns is retained.
.SH Options
.TP
\fB\-F\fP \fIindex.m9u\fP
......@@ -36,7 +40,11 @@ Do print the playlist (can be very long).
Ignore subtracks in a mix, and also avoid reindexing of VBR files.
.TP
\fB\-z\fP
Do not shuffle the play queue.
Do not shuffle the play queue / play back in lexicographic order.
.TP
\fB\-\-loop\fP \fIn\fP
Passes the -loop option to mplayer. Note that the option has \fBtwo\fP
dashes for gpsh.
.SH Index
.PP
gpsh keeps an index cache, and refreshes it in the background when it is older
......@@ -45,29 +53,24 @@ exists. Directories and files whose name without extension ends in "_noindex"
will be skipped.
.SH Tracklists for mixes
.PP
gpsh scans all .txt files for the following pattern used to denote a subtrack
gpsh scans all .tls files for the following pattern used to denote a subtrack
in a big mix of the same basename:
.PP
/^\[(?:(\d+):)?(\d+):(\d+)\](.*)/
.PP
Example: Audio file: "DJ Doboy - Trancequility volume 01.mp3",
Tracklist: "DJ Doboy - Trancequility volume 01.txt",
Tracklist: "DJ Doboy - Trancequility volume 01.tls",
TL content: "[48:29] Paul van Dyk - For an angel".
.SH Regex search
.PP
gpsh uses a Perl regular expression search across file name (mix name, if any)
and subtrack name.
.PP
Example: gpsh 'dj.doboy.*trancequility.*paul.van.dyk'
Example: gpsh 'doboy.*trancequility.*paul.van.dyk'
.PP
Would cause gpsh to search for all PVD tracks in Doboy's Trancequility
mixes. mplayer will be invoked on "DJ Doboy - Trancequility volume 01.mp3"
with automatic seeking to position 48:29, for example. Of course, just
specifying
.PP
gpsh 'dj.doboy.*trancequility'
.PP
Would select the grand mix and start at 00:00.
with automatic seeking to position 48:29, for example.
.SH Extra options
.PP
gpsh \-OM,\-af\-clr chillout
......
......@@ -82,6 +82,9 @@ method
.PP
\fBman2html\fP(1) \(en convert nroff manpages to HTML
.PP
\fBmkvappend\fP(1) \(en concatenate multiple files into one Matroska container
file
.PP
\fBmod2ogg\fP(1) \(en wrapper for module to OggVorbis transcoding
.PP
\fBnetload\fP(8) \(en show utilization of network interface
......
.TH ldif-duplicate-attrs 1 "2015-04-01" "hxtools" "hxtools"
.SH Name
.PP
ldif-duplicate-attrs \(em check for multi-value attributes in LDIF file
.SH Usage
.PP
\fBprocalldiff\fP [\fB\-C\fP] \fB<\fP\fIfoo.ldif\fP \fB>\fP\fIreport.txt\fP
.PP
Input must not contain linewraps. Do use with
.PP
{\fBslapcat\fB|\fBldapsearch\fP} \fB-o ldif-wrap=no\fP ...
.SH Description
.PP
Reads an LDIF file from standard input and checks for the presence
of multivalued attributes of all DNs. Whitelisted attribute names
are excluded from the problem report. Outputs a statistic sorted by
severity to standard output.
.SH Options
.TP
\fB\-C\fP
Force color output. Useful when piping into `less -R`.
(By default, color is only emitted when stdout is a tty.)
.SH Example output
.PP
.nf
11 cn=67eoG,ou=Muenchen,o=Deutschland
uid(3) cn(2) fullName(2) mail(2) sn(2)
10 cn=Hoff,ou=Muenchen,o=Deutschland
homeCity(2) homePostalAddress(2) homeZipCode(2) l(2)
telephoneNumber(2)
.fi
.PP
The DN cn=67eoG has had three values for the "uid" attribute, two for "cn",
and so on, for a total badness score of 11.
The entire output is sorted by:
.IP 1. 4
Overall, DNs are sorted by descending score.
.IP 2. 4
For a particular DN, attributes are sorted by descending score.
.IP 3. 4
If two attributes have the same score, sort occurs
lexicographically ascending.
......@@ -23,6 +23,8 @@ endif
dist_pkglibexec_SCRIPTS = \
logontime \
ldif-duplicate-attrs \
ldif-leading-spaces \
netload \
recursive_lower \
vcsaview
......
......@@ -334,6 +334,8 @@ dist_bin_SCRIPTS = \
dist_pkglibexec_SCRIPTS = \
logontime \
ldif-duplicate-attrs \
ldif-leading-spaces \
netload \
recursive_lower \
vcsaview
......
#!/usr/bin/perl
#
# Check for multi-value attributes in LDIF file
# written by Jan Engelhardt, 2015
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the WTF Public License version 2 or
# (at your option) any later version.
#
use strict;
use warnings;
use Getopt::Long;
our @wl = qw(
ACL objectClass member equivalentToMe DirXML-Associations
groupMembership securityEquals DirXML-PasswordSyncStatus
zarafaSendAsPrivilege zarafaAliases
departmentNumber
);
our $do_color = -t 1;
&main();
sub main
{
&Getopt::Long::Configure(qw(bundling));
&GetOptions(
"C" => \$do_color,
);
my $attrcount = &parse_ldif();
&print_stats($attrcount);
}
sub parse_ldif
{
my $dn;
my $attrcount = {};
while (defined(my $line = <STDIN>)) {
chomp($line);
if (substr($line, 0, 1) eq "#") {
next;
}
if ($line =~ /^dn:\s*/) {
$dn = $';
$attrcount->{$dn} = {};
}
my($key, $value) = &parse_line($line);
if (!defined($key) || &whitelisted($key)) {
# Blank lines and other unparsable lines get filtered
# here.
next;
}
++$attrcount->{$dn}->{$key};
}
close(STDIN);
return $attrcount;
}
sub parse_line
{
return (shift(@_) =~ /^([^:]+):+(?:\s*)?(.*)/);
}
sub whitelisted
{
my $needle = shift @_;
return scalar grep { $_ eq $needle } @wl;
}
sub print_stats
{
my $attrcount = shift @_;
my $dncount = {};
my $crapdn;
my $globattr = {};
foreach my $dn (keys %$attrcount) {
my $count = 0;
my $dh = $attrcount->{$dn};
foreach my $key (keys %$dh) {
if ($dh->{$key} < 2) {
next;
}
$count += $dh->{$key};
}
$dncount->{$dn} = $count;
}
foreach my $dn (sort { $dncount->{$b} <=> $dncount->{$a} }
keys %$dncount)
{
my $dh = $attrcount->{$dn};
if ($dncount->{$dn} == 0) {
next;
}
if ($do_color) {
print "\e[1;31m";
}
print $dncount->{$dn};
if ($do_color) {
print "\e[0;31m";
}
print "\t$dn\n";
print "\t";
foreach my $key (sort {
$dh->{$b} <=> $dh->{$a} || $a cmp $b }
keys %$dh)
{
if ($dh->{$key} < 2) {
next;
}
if ($do_color) {
print "\e[32m", substr($key, 0, 1), "\e[0m",
substr($key, 1);
} else {
print $key;
}
print "(", $attrcount->{$dn}->{$key}, ") ";
$globattr->{$dn} += $dh->{$key};
}
print "\n\n";
++$crapdn;
}
print $crapdn, " DNs\n";
}
#!/usr/bin/perl
#
# Detect questionable values for LDAP attributes
# written by Jan Engelhardt, 2015
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the WTF Public License version 2 or
# (at your option) any later version.
#
use strict;
use warnings;
use Encode;
use Getopt::Long;
use MIME::Base64;
our @wl = qw(
zarafaUniqueID
);
our $check_for_spaces = 1;
&main();
sub main
{
my $dn;
my $dn_printed = 0;
my $dncount = 0;
while (defined(my $line = <STDIN>)) {
chomp($line);
if (substr($line, 0, 1) eq "#") {
next;
}
if ($line =~ /^dn:\s*/) {
$dn = $';
$dn_printed = 0;
next;
}
my($key, $is_encoded, $value) = &parse_line($line);
if (!defined($key) || &whitelisted($key)) {
next;
}
if ($is_encoded) {
$value = decode_base64($value);
}
if ($check_for_spaces && $value =~ /^\s|\s$/) {
if (!$dn_printed) {
print "\ndn: $dn\n";
$dn_printed = 1;
++$dncount;
}
print "$key(", length($key), "): $value\n";
}
}
close(STDIN);
print "\n$dncount DNs total\n";
}
sub parse_line
{
my @r = (shift(@_) =~ /^([^:]+)(:+)(?:\s*)?(.*)/);
if (defined($r[1])) {
$r[1] = length($r[1]) >= 2 ? 1 : 0;
}
return @r;
}
sub whitelisted
{
my $needle = shift @_;
return scalar grep { $_ eq $needle } @wl;
}
/bin2c
/cctypeinfo
/gxxdm
/peicon
......@@ -2,9 +2,10 @@
AM_CPPFLAGS = ${regular_CPPFLAGS} ${libHX_CFLAGS}
AM_CFLAGS = ${regular_CFLAGS}
AM_CXXFLAGS = ${regular_CXXFLAGS}
bin_PROGRAMS = \
bin2c
bin2c gxxdm
dist_bin_SCRIPTS = \
checkbrack \
......@@ -24,11 +25,12 @@ dist_pkglibexec_SCRIPTS = \
diff2php \
doxygen-kerneldoc-filter \
git-blame-stats \
git-new-root \
git-revert-stats \
paddrspacesize \
proc_stat_signal_decode \
sourcefuncsize
bin2c_LDADD = ${libHX_LIBS}
gxxdm_SOURCES = gxxdm.cpp
gxxdm_LDADD = ${libHX_LIBS}
peicon_LDADD = ${libHX_LIBS}
......@@ -79,7 +79,7 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
bin_PROGRAMS = bin2c$(EXEEXT)
bin_PROGRAMS = bin2c$(EXEEXT) gxxdm$(EXEEXT)
pkglibexec_PROGRAMS = cctypeinfo$(EXEEXT) peicon$(EXEEXT)
subdir = sdevel
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
......@@ -103,6 +103,9 @@ bin2c_DEPENDENCIES = $(am__DEPENDENCIES_1)
cctypeinfo_SOURCES = cctypeinfo.c
cctypeinfo_OBJECTS = cctypeinfo.$(OBJEXT)
cctypeinfo_LDADD = $(LDADD)
am_gxxdm_OBJECTS = gxxdm.$(OBJEXT)
gxxdm_OBJECTS = $(am_gxxdm_OBJECTS)
gxxdm_DEPENDENCIES = $(am__DEPENDENCIES_1)
peicon_SOURCES = peicon.c
peicon_OBJECTS = peicon.$(OBJEXT)
peicon_DEPENDENCIES = $(am__DEPENDENCIES_1)
......@@ -162,8 +165,21 @@ AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
SOURCES = bin2c.c cctypeinfo.c peicon.c
DIST_SOURCES = bin2c.c cctypeinfo.c peicon.c
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
AM_V_CXX = $(am__v_CXX_@AM_V@)
am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@)
am__v_CXX_0 = @echo " CXX " $@;
am__v_CXX_1 =
CXXLD = $(CXX)
CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
-o $@
AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
am__v_CXXLD_0 = @echo " CXXLD " $@;
am__v_CXXLD_1 =
SOURCES = bin2c.c cctypeinfo.c $(gxxdm_SOURCES) peicon.c
DIST_SOURCES = bin2c.c cctypeinfo.c $(gxxdm_SOURCES) peicon.c
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
......@@ -301,6 +317,7 @@ top_srcdir = @top_srcdir@
x11fontdir = @x11fontdir@
AM_CPPFLAGS = ${regular_CPPFLAGS} ${libHX_CFLAGS}
AM_CFLAGS = ${regular_CFLAGS}
AM_CXXFLAGS = ${regular_CXXFLAGS}
dist_bin_SCRIPTS = \
checkbrack \
cwdiff \
......@@ -315,18 +332,19 @@ dist_pkglibexec_SCRIPTS = \
diff2php \
doxygen-kerneldoc-filter \
git-blame-stats \
git-new-root \
git-revert-stats \
paddrspacesize \
proc_stat_signal_decode \
sourcefuncsize
bin2c_LDADD = ${libHX_LIBS}
gxxdm_SOURCES = gxxdm.cpp
gxxdm_LDADD = ${libHX_LIBS}
peicon_LDADD = ${libHX_LIBS}
all: all-am
.SUFFIXES:
.SUFFIXES: .c .o .obj
.SUFFIXES: .c .cpp .o .obj
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
......@@ -450,6 +468,10 @@ cctypeinfo$(EXEEXT): $(cctypeinfo_OBJECTS) $(cctypeinfo_DEPENDENCIES) $(EXTRA_cc
@rm -f cctypeinfo$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(cctypeinfo_OBJECTS) $(cctypeinfo_LDADD) $(LIBS)
gxxdm$(EXEEXT): $(gxxdm_OBJECTS) $(gxxdm_DEPENDENCIES) $(EXTRA_gxxdm_DEPENDENCIES)
@rm -f gxxdm$(EXEEXT)
$(AM_V_CXXLD)$(CXXLINK) $(gxxdm_OBJECTS) $(gxxdm_LDADD) $(LIBS)
peicon$(EXEEXT): $(peicon_OBJECTS) $(peicon_DEPENDENCIES) $(EXTRA_peicon_DEPENDENCIES)
@rm -f peicon$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(peicon_OBJECTS) $(peicon_LDADD) $(LIBS)
......@@ -532,6 +554,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bin2c.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cctypeinfo.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gxxdm.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/peicon.Po@am__quote@
.c.o:
......@@ -550,6 +573,22 @@ distclean-compile:
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.cpp.o:
@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $<
.cpp.obj:
@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
ID: $(am__tagged_files)
$(am__define_uniq_tagged_files); mkid -fID $$unique
tags: tags-am
......
......@@ -110,7 +110,7 @@ sub process
chomp $line;
my($sha, $mini_sha, $parents, $msg) =
($line =~ /^<(.*?)><(.*?)><(.*?)>(.*)/s);
my @next_sha = map { ($_) = /^<(.*?)>/ } @next_sha;
my @next_sha = map { ($_) = m{^<(.*?)>} } @next_sha;
my @parents = split(" ", $parents);
&vine_branch(\@vine, $sha);
......@@ -135,6 +135,20 @@ sub process
$Repo->command_close_pipe($fh, $fhc);
}
sub get_next_pick
{
my $fh = shift @_;
while (defined(my $line = <$fh>)) {
if ($line =~ /^\s*#/) {
next;
}
if ($line =~ /^\S+\s+(\S+)/) {
return $2;
}
}
return undef;
}
sub get_refs
{
my($fh, $c) = $Repo->command_output_pipe("show-ref");
......@@ -169,9 +183,12 @@ sub get_refs
if (open(my $act_fh, $Repo->repo_path().
"/rebase-merge/git-rebase-todo")) {
my($curr) = (<$act_fh> =~ /^\S+\s+(\S+)/);
$curr = $Repo->command("rev-parse", $curr);
chomp $curr;
unshift(@{$ret->{$curr}}, "rebase/next");
$curr = &get_next_pick($act_fh);
if (defined($curr)) {
$curr = $Repo->command("rev-parse", $curr);
chomp $curr;
unshift(@{$ret->{$curr}}, "rebase/next");
}
close $act_fh;
}
......
#!/bin/bash
#
# Start a new root commit (without a parent)
# written up by Jan Engelhardt, 2008
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the WTF Public License version 2 or
# (at your option) any later version.
if [[ -z "$1" ]]; then
echo "Need a branch name";
exit 1;
fi;
git symbolic-ref HEAD "refs/heads/$1";
rm -f .git/index;
git clean -df;
This diff is collapsed.
......@@ -61,8 +61,9 @@ my $FUNC_RX = qr/^
\s*\*+\s* | # returns pointer
\s+ # returns type
)
(\w+) # function name
(\w+(?:::\w+)*) # function name
\s*\(\s*.*?\s*\) # function args
(?:\s*const)?
\s*\{
/xs;
......@@ -98,6 +99,17 @@ sub analyze_data ()
if ($ln =~ m[^\s*#]so) {
push(@saved_seg, $cur_seg);
$cur_seg = "^pre";
} elsif ($ln =~ m[^\s*/\*.*?\*/\s*$]so) {
#
# one-line /* */ comment, with no code
#
push(@saved_seg, $cur_seg);
$cur_seg = "^cm";
} elsif ($ln =~ m[/\*.*?\*/]so) {
#
# one-line /* */ comment, with possibly code in
# the same line thus, do nothing here
#
} elsif ($ln =~ m[^\s*//]so) {
push(@saved_seg, $cur_seg);
$cur_seg = "^cm";
......@@ -108,11 +120,6 @@ sub analyze_data ()
push(@saved_seg, $cur_seg);
$cur_seg = "^lcm";
++$seg_lcomm;
} elsif ($ln =~ m[/\*.*?\*/]so) {