check_nt: make UPTIME accept warning/critical levels
Patch originally by Ryan Kelly
Patch originally by Ryan Kelly
sfsnapshotgit: Better handling of remote refs
This commit allow to track branches from unusually-named remote refs and
makes possible using external remotes (other than origin) for snapshots.
This commit allow to track branches from unusually-named remote refs and
makes possible using external remotes (other than origin) for snapshots.
Fix typos in -f help text
Update the COPYING file to the GPLv3
We switched to the GPLv3 early in 2008, but we forgot to update the
COPYING file accordingly.
We switched to the GPLv3 early in 2008, but we forgot to update the
COPYING file accordingly.
1.4.15 prep
14 years agoMerge branch 'master' of ssh://tonvoon@nagiosplug.git.sourceforge.net/gitroot/nagiosp...
Merge branch 'master' of ssh://tonvoon@nagiosplug.git.sourceforge.net/gitroot/nagiosplug/nagiosplug
Added text re: MD5SUM updates in nightlies, but tarballs not
Fix --help output when MAX_OIDS is altered.
Fix examples in check_disk, where it implied was possible to suffix unit values to warn/crit parameters
Allow check_ifstatus to accept version=2c
Fix cmd_run overwriting the environment
Some commands need the environment to function properly. One such
example is check_ssh and check_by_ssh when a SOCKS proxy is required.
This patch use setenv and extern char **environ to alter and pass the
new environment to the child process Those modules have been added to
Gnulib for portability.
Some commands need the environment to function properly. One such
example is check_ssh and check_by_ssh when a SOCKS proxy is required.
This patch use setenv and extern char **environ to alter and pass the
new environment to the child process Those modules have been added to
Gnulib for portability.
Import the environ module from gnulib (86ba51)
git-notify: Be careful with "--no-merge"
The "-X" option (which asks git-notify to not report merge commits) was
implemented by setting the "--no-merge" option on each invocation of
git-rev-list(1). However, we do not only use git-rev-list(1) to get the
list of new commits, but also to check whether the old branch head (or
tag) is a parent of the new branch head (or tag). For this latter
check, the "--no-merge" option should not be set; otherwise, git-notify
would be fooled to believe that the branch has been rewritten if the old
head was a merge commit.
The "-X" option (which asks git-notify to not report merge commits) was
implemented by setting the "--no-merge" option on each invocation of
git-rev-list(1). However, we do not only use git-rev-list(1) to get the
list of new commits, but also to check whether the old branch head (or
tag) is a parent of the new branch head (or tag). For this latter
check, the "--no-merge" option should not be set; otherwise, git-notify
would be fooled to believe that the branch has been rewritten if the old
head was a merge commit.
Corrected rate_multiplier calculation
Removed suffix of "-rate" and let user decide label via --label
Tests for --rate-multiplier option
14 years agoMerge branch 'master' of ssh://tonvoon@nagiosplug.git.sourceforge.net/gitroot/nagiosp...
Merge branch 'master' of ssh://tonvoon@nagiosplug.git.sourceforge.net/gitroot/nagiosplug/nagiosplug
Fixed rate-multiplier option
Add test file directory
Cleanup some warnings displayed from IRIX tinderbox server
Added unsetenv and setenv from gnulib
Added strsep to gnulib, for check_snmp.c
Added option to invert search results
Added state retention APIs. Implemented for check_snmp with --rate option.
See http://nagiosplugin.org/c-api-private for more details on the API.
Also updated check_snmp -l option to change the perfdata label.
See http://nagiosplugin.org/c-api-private for more details on the API.
Also updated check_snmp -l option to change the perfdata label.
NEWS entry for last commit
Attempt at detecting 64bit compilation flags between gcc, old, and new versions of sun cc
Gcc accepts -m64, just as newer version of Suncc.
Older Suncc required -xarch=v9 (SPARC) or -xarch=amd64 (x86-64) to generate 64bit code.
Gcc accepts -m64, just as newer version of Suncc.
Older Suncc required -xarch=v9 (SPARC) or -xarch=amd64 (x86-64) to generate 64bit code.
Add missing --fqdn help (Jan Wagner)
Update extra-opts help text based on ML agreement
tools/distclean: use git-clean when possible
git-clean is much faster and more reliable...
Also add confdefs.h in gitignore, although this file is normally removed
at the end of the configure script.
git-clean is much faster and more reliable...
Also add confdefs.h in gitignore, although this file is normally removed
at the end of the configure script.
Update libtool
Nagios-plugins wouldn't compile on Ubuntu 10.04 (Lucid) with the old libtool
Nagios-plugins wouldn't compile on Ubuntu 10.04 (Lucid) with the old libtool
Add newline after "Usage:" in --help
Split long line in check_cluster --help
Update French translations with extra-opts change
Standardize the extra-opts notes
Fix tests and update NEWS file
Replace the lousy multiline parser with a robust one.
This one counts double quotes and backslashes so it should handle any
level of escaping.
This one counts double quotes and backslashes so it should handle any
level of escaping.
Attempt at fixing check_snmp multiline output:
This patch tries to detect and output nicely multi-line strings. This
method is broken by design; only a count of double-quotes and escapes
could work in every situation.
This patch tries to detect and output nicely multi-line strings. This
method is broken by design; only a count of double-quotes and escapes
could work in every situation.
Updated Nagios::Plugin library
git-notify: Fix the ordering of commits
If notifications for multiple commits are created, sort them
chronologically instead of in reverse chronological order.
If notifications for multiple commits are created, sort them
chronologically instead of in reverse chronological order.
Fix translations when extra-opts aren't enabled
Bug #2832884 reported problem with translations outputting pot file
headers. This is caused by "" matching the header of the translation
files.
This patch moves gettext macros inside utils macros and update some
french translations.
Bug #2832884 reported problem with translations outputting pot file
headers. This is caused by "" matching the header of the translation
files.
This patch moves gettext macros inside utils macros and update some
french translations.
Update french translation (fix all fuzzy's)
Fix check_radius returning OK on unexpected results
REJECT_RC is defined on some radiusclient versions and differenciates
between auth errors and bad responses. This patch will affect only the
behaviour of those clients exporting REJECT_RC.
In addition, unexpected return codes are now handled properly and
return UNKNOWN.
REJECT_RC is defined on some radiusclient versions and differenciates
between auth errors and bad responses. This patch will affect only the
behaviour of those clients exporting REJECT_RC.
In addition, unexpected return codes are now handled properly and
return UNKNOWN.
Typo
pst3.c must not use nagiosplug/gnulib includes
Fix typo
Fix Debian bug #574612: Return WARNING on rebuild
Let check_linux_raid return a WARNING instead of an OK state during
volume recovery.
See: http://bugs.debian.org/574612
(Fixed by Christoph Martin, forwarded by Jan Wagner.)
Let check_linux_raid return a WARNING instead of an OK state during
volume recovery.
See: http://bugs.debian.org/574612
(Fixed by Christoph Martin, forwarded by Jan Wagner.)
Fix Debian bug #534604: Checking md10 and above
| check_linux_raid malfunctions if system has software RAID devices with
| two or more digits. For example, for system having /dev/md10,
| /dev/md11 etc, the plugin returns 'UNKNOWN' in automatic mode (if RAID
| devices are manually specified it works). Also, if system has both
| one-digit, and two-digit RAID devices, the two-digit devices are
| silently ignored in checks, which is even more problematic.
[ http://bugs.debian.org/534604 ]
(Fixed by Matija Nalis, forwarded by Jan Wagner.)
| check_linux_raid malfunctions if system has software RAID devices with
| two or more digits. For example, for system having /dev/md10,
| /dev/md11 etc, the plugin returns 'UNKNOWN' in automatic mode (if RAID
| devices are manually specified it works). Also, if system has both
| one-digit, and two-digit RAID devices, the two-digit devices are
| silently ignored in checks, which is even more problematic.
[ http://bugs.debian.org/534604 ]
(Fixed by Matija Nalis, forwarded by Jan Wagner.)
Fix Debian bug #545940: Failure when run via ePN
If Perl's "shift" function is called outside of a subroutine and without
any argument, it usually shifts @ARGV. However, if a plugin is executed
via ePN, such a call will shift @_ instead, so we must explicitly
specify @ARGV for this to work as expected.
This fixes Debian bug #545940, see: http://bugs.debian.org/545940
Commit de7191e3424e02ba278a39b86e8b1906a25d0362 fixed the same issue for
check_disk_smb.
(Reported by Hendrik Jaeger, forwarded by Jan Wagner.)
If Perl's "shift" function is called outside of a subroutine and without
any argument, it usually shifts @ARGV. However, if a plugin is executed
via ePN, such a call will shift @_ instead, so we must explicitly
specify @ARGV for this to work as expected.
This fixes Debian bug #545940, see: http://bugs.debian.org/545940
Commit de7191e3424e02ba278a39b86e8b1906a25d0362 fixed the same issue for
check_disk_smb.
(Reported by Hendrik Jaeger, forwarded by Jan Wagner.)
Fix Debian bug #482947: No --nas-ip-address option
| check_radius doesn't seem to provide any way to modify the
| NAS-IP-Address attribute that it uses in the packets it sends, but it
| does so for NAS-Identifier.
|
| Instead, it hardcodes the IP address that it gets from the
| rc_own_ipaddress() library call, and that in turn translates into
| calling gethostbyname() on the result of uname(). This call can easily
| fail, and its result can easily be unsuitable - for example when the
| Nagios instance uses its own virtual host, and you don't want the
| original system hostname leaked to the RADIUS servers you monitor with
| this.
|
| Furthermore, this behaviour is inconsistent with RFC 2865, which
| defines the two attributes as analogous and never suggests hardcoding
| the value of either of them in client software.
Therefore, this commit adds the "-N, --nas-ip-address" option which
allows for specifying the value of the NAS-IP-Address attribute.
| I've also noticed that the original code for NAS-IP-Address hardcoding
| is broken in its error handling - it does "return (ERROR_PC)", which
| is meaningless in the context of check_radius.c. That actually seems
| to be copy&waste from radiusclient-0.3.2/src/radexample.c. :) I fixed
| that.
|
| While debugging, I also took the opportunity to decouple the
| nas-identifier rc_avpair_add() instance from the initial three,
| because this is just bad practice to lump a fourth optional attribute
| into the same block with the required attributes, the error handling
| for which is throwing the same daft message "Out of Memory?"...
[ http://bugs.debian.org/482947 ]
(Contributed by Josip Rodin, forwarded by Jan Wagner.)
| check_radius doesn't seem to provide any way to modify the
| NAS-IP-Address attribute that it uses in the packets it sends, but it
| does so for NAS-Identifier.
|
| Instead, it hardcodes the IP address that it gets from the
| rc_own_ipaddress() library call, and that in turn translates into
| calling gethostbyname() on the result of uname(). This call can easily
| fail, and its result can easily be unsuitable - for example when the
| Nagios instance uses its own virtual host, and you don't want the
| original system hostname leaked to the RADIUS servers you monitor with
| this.
|
| Furthermore, this behaviour is inconsistent with RFC 2865, which
| defines the two attributes as analogous and never suggests hardcoding
| the value of either of them in client software.
Therefore, this commit adds the "-N, --nas-ip-address" option which
allows for specifying the value of the NAS-IP-Address attribute.
| I've also noticed that the original code for NAS-IP-Address hardcoding
| is broken in its error handling - it does "return (ERROR_PC)", which
| is meaningless in the context of check_radius.c. That actually seems
| to be copy&waste from radiusclient-0.3.2/src/radexample.c. :) I fixed
| that.
|
| While debugging, I also took the opportunity to decouple the
| nas-identifier rc_avpair_add() instance from the initial three,
| because this is just bad practice to lump a fourth optional attribute
| into the same block with the required attributes, the error handling
| for which is throwing the same daft message "Out of Memory?"...
[ http://bugs.debian.org/482947 ]
(Contributed by Josip Rodin, forwarded by Jan Wagner.)
Fix Debian bug #479984: Allow empty LDAP base
The check_ldap plugin did not allow for specifying an empty LDAP base.
See: http://bugs.debian.org/479984
(Fixed by Stephane Chazelas, forwarded by Jan Wagner.)
The check_ldap plugin did not allow for specifying an empty LDAP base.
See: http://bugs.debian.org/479984
(Fixed by Stephane Chazelas, forwarded by Jan Wagner.)
Fix Debian bug #460097: check_http -M broken
See: http://bugs.debian.org/460097
One instance of this bug has already been fixed in commit
888358122004b9571c8fbdfa52ceee1ba5e5f4f2.
(Fixed by Hilko Bengen, forwarded by Jan Wagner.)
See: http://bugs.debian.org/460097
One instance of this bug has already been fixed in commit
888358122004b9571c8fbdfa52ceee1ba5e5f4f2.
(Fixed by Hilko Bengen, forwarded by Jan Wagner.)
Fix Debian bug #478942: Fragile argument passing
Fix some problems regarding the way check_disk_smb passes command line
arguments to smbclient(1).
| It runs:
|
| $res = qx/$smbclient "\/\/$host\/$share" $pass -W $workgroup \
| -U $user $smbclientoptions -I $address -c ls/;
|
| [...]
|
| The documentation says that if the password is not passed, it
| defaults to "". That is not true above, as $pass expands to
| nothing which leaves no argument at all (instead of an empty
| argument) so is different from providing with an empty password
| or with the -N option.
|
| Also, if the password starts with "-", you're in trouble, that's
| why -U $user%$pass may be prefered.
|
| Also, the doc says that if $user is not provided, then it
| defaults to "guest" but the problem is that if it is provided
| but empty, it is changed to "guest" as well, which prevents us
| from querying hosts that don't do user authentication.
[ http://bugs.debian.org/478942 ]
(Fixed by Stephane Chazelas, forwarded by Jan Wagner.)
Fix some problems regarding the way check_disk_smb passes command line
arguments to smbclient(1).
| It runs:
|
| $res = qx/$smbclient "\/\/$host\/$share" $pass -W $workgroup \
| -U $user $smbclientoptions -I $address -c ls/;
|
| [...]
|
| The documentation says that if the password is not passed, it
| defaults to "". That is not true above, as $pass expands to
| nothing which leaves no argument at all (instead of an empty
| argument) so is different from providing with an empty password
| or with the -N option.
|
| Also, if the password starts with "-", you're in trouble, that's
| why -U $user%$pass may be prefered.
|
| Also, the doc says that if $user is not provided, then it
| defaults to "guest" but the problem is that if it is provided
| but empty, it is changed to "guest" as well, which prevents us
| from querying hosts that don't do user authentication.
[ http://bugs.debian.org/478942 ]
(Fixed by Stephane Chazelas, forwarded by Jan Wagner.)
Fix Debian bug #478906: Failure when run via ePN
| When perl plugin scripts are run with the embedded perl interpreter in
| nagios3, the "shift" perl command doesn't shift @ARGV, but @_ (which
| happens to contain the same thing as @ARGV at the time the script was
| started).
|
| [...]
|
| A fix is to replace all the instances of "shift" with "shift @ARGV".
[ http://bugs.debian.org/478906 ]
(Fixed by Stephane Chazelas, forwarded by Jan Wagner.)
| When perl plugin scripts are run with the embedded perl interpreter in
| nagios3, the "shift" perl command doesn't shift @ARGV, but @_ (which
| happens to contain the same thing as @ARGV at the time the script was
| started).
|
| [...]
|
| A fix is to replace all the instances of "shift" with "shift @ARGV".
[ http://bugs.debian.org/478906 ]
(Fixed by Stephane Chazelas, forwarded by Jan Wagner.)
Fix Debian bug #463322: Use deprecated libldap API
| Our automated build log filter[1] detected a problem that is likely to
| cause your package to segfault on architectures where the size of a
| pointer is greater than the size of an integer, such as ia64 and
| amd64.
|
| This is often due to a missing function prototype definition. For
| more information, see [2].
|
| Function `ldap_init' implicitly converted to pointer at
| check_ldap.c:124
|
| [1] http://people.debian.org/~dannf/check-implicit-pointer-functions
| [2] http://wiki.debian.org/ImplicitPointerConversions
|
| The libldap API has been updated and many functions used by the ldap
| plugin are now deprecated. This package should either update to the
| new API or define LDAP_DEPRECATED to continue using the deprecated
| interfaces.
|
| This patch implements the lazy solution.
[ http://bugs.debian.org/463322 ]
(Contributed by Dann Frazier, forwarded by Jan Wagner.)
| Our automated build log filter[1] detected a problem that is likely to
| cause your package to segfault on architectures where the size of a
| pointer is greater than the size of an integer, such as ia64 and
| amd64.
|
| This is often due to a missing function prototype definition. For
| more information, see [2].
|
| Function `ldap_init' implicitly converted to pointer at
| check_ldap.c:124
|
| [1] http://people.debian.org/~dannf/check-implicit-pointer-functions
| [2] http://wiki.debian.org/ImplicitPointerConversions
|
| The libldap API has been updated and many functions used by the ldap
| plugin are now deprecated. This package should either update to the
| new API or define LDAP_DEPRECATED to continue using the deprecated
| interfaces.
|
| This patch implements the lazy solution.
[ http://bugs.debian.org/463322 ]
(Contributed by Dann Frazier, forwarded by Jan Wagner.)
Fix Debian bug #425129: SMB guest mode won't work
| The check_disk_smb plugin purports to support guest users, but it
| doesn't work out, because it doesn't specify the -N command line
| option to smbclient when no password is specified, making smbclient
| stop and ask.
[ http://bugs.debian.org/425129 ]
(Fixed by Josip Rodin, forwarded by Jan Wagner.)
| The check_disk_smb plugin purports to support guest users, but it
| doesn't work out, because it doesn't specify the -N command line
| option to smbclient when no password is specified, making smbclient
| stop and ask.
[ http://bugs.debian.org/425129 ]
(Fixed by Josip Rodin, forwarded by Jan Wagner.)
Fix Debian bug #307905: Incorrect usage output
The usage output of check_game was wrong, see:
http://bugs.debian.org/307905
(Fixed by Sean Finney, forwarded by Jan Wagner.)
The usage output of check_game was wrong, see:
http://bugs.debian.org/307905
(Fixed by Sean Finney, forwarded by Jan Wagner.)
check_disk_smb: Allow for specifying an IP address
Add the "-a, --address option" which allows for specifying the IP
address of the server to connect to. If this option is used, the IP
address will be handed over to smbclient(1)'s "-I" option. (Contributed
by Sean Finney, forwarded by Jan Wagner.)
Add the "-a, --address option" which allows for specifying the IP
address of the server to connect to. If this option is used, the IP
address will be handed over to smbclient(1)'s "-I" option. (Contributed
by Sean Finney, forwarded by Jan Wagner.)
check_http: Add warning about SNI not enabled by default anymore
Fix regression in check_http ssl checks on some servers
The fix is making SNI an option.
The fix is making SNI an option.
check_snmp: Update last patch to copy value verbatim
Rework last patch, copying the converted portion of the string rather
than re-converting it. This is safer for backwards-compatibility as the
value is never modified.
Rework last patch, copying the converted portion of the string rather
than re-converting it. This is safer for backwards-compatibility as the
value is never modified.
check_snmp: Fix regression introduced in #1867716
Bug #1867716 fixed what it meant to fix: broken perfdata strings.
Unfortunately some users relied on half-broken perfdata string where at
least the first token was OK. This patch do a two-way conversion
(string to double then back to string) instead and use the conversion
result for the performance data.
A possible caveat is that the string may change where it normally
shouldn't but the result should be somewhat similar.
Bug #1867716 fixed what it meant to fix: broken perfdata strings.
Unfortunately some users relied on half-broken perfdata string where at
least the first token was OK. This patch do a two-way conversion
(string to double then back to string) instead and use the conversion
result for the performance data.
A possible caveat is that the string may change where it normally
shouldn't but the result should be somewhat similar.
Let check_ntp_peer check the number of truechimers
Add support for checking the number of usable time sources (i.e., the
number of peers which are classified as so-called "truechimers" by NTP's
intersection algorithm). The new "-m" and "-n" options allow for
specifying the according WARNING and CRITICAL thresholds (and thereby
activating the truechimers check), respectively.
Add support for checking the number of usable time sources (i.e., the
number of peers which are classified as so-called "truechimers" by NTP's
intersection algorithm). The new "-m" and "-n" options allow for
specifying the according WARNING and CRITICAL thresholds (and thereby
activating the truechimers check), respectively.
Typo in NEWS
Corrected example
git-notify: Pipe e-mails directly to sendmail(8)
Use sendmail(8) instead of mail(1) in order to be able to set the
"Content-Type" header field on systems where the available mail(1)
command doesn't allow for setting it. This makes the "-H" flag (cf.
commit 71350c5a) unnecessary.
Use sendmail(8) instead of mail(1) in order to be able to set the
"Content-Type" header field on systems where the available mail(1)
command doesn't allow for setting it. This makes the "-H" flag (cf.
commit 71350c5a) unnecessary.
Enable CIA's commit notifications
We now use CIA's service to send commit notifications to IRC. They are
currently sent to the #Nagios-Devel channel on Freenode. See:
http://cia.vc/stats/project/nagiosplug/
http://cia.vc/account/bots/15699/
We now use CIA's service to send commit notifications to IRC. They are
currently sent to the #Nagios-Devel channel on Freenode. See:
http://cia.vc/stats/project/nagiosplug/
http://cia.vc/account/bots/15699/
Whitespace fixes
Fix short help using "warn" for the -f option instead of "warning" (onredirect).
Updated link to sfsnapshotgit
Update developer guideline regarding CVS Commits
(mostly for testing my snapshot script, though it had to be updated anyway)
(mostly for testing my snapshot script, though it had to be updated anyway)
Fix fetching of remote branches
Many fixes to snapshot scripts
sfsnapshotgit:
- Use fetch/reset instead to pull to avoid merges on forced updates
sfsnapshot-upload:
- Fix link deletion walking the entire home dir
- Allow CLEAN_TIME=0 (no retention)
- Re-add per-branch links when CLEAN_TIME > 0
- Add many comments
sfsnapshotgit:
- Use fetch/reset instead to pull to avoid merges on forced updates
sfsnapshot-upload:
- Fix link deletion walking the entire home dir
- Allow CLEAN_TIME=0 (no retention)
- Re-add per-branch links when CLEAN_TIME > 0
- Add many comments
Git commit notifications via post-receive hook
Now that we moved our Git repositories to SourceForge, we don't need to
maintain local clones for generating commit notifications anymore, as
SourceForge provides shell access to the repositories. Instead, we now
run git-notify as a post-receive hook on the SourceForge server.
Actually, we use a wrapper which executes git-notify with the desired
options and which makes it easy to add other post-receive hooks in the
future.
Now that we moved our Git repositories to SourceForge, we don't need to
maintain local clones for generating commit notifications anymore, as
SourceForge provides shell access to the repositories. Instead, we now
run git-notify as a post-receive hook on the SourceForge server.
Actually, we use a wrapper which executes git-notify with the desired
options and which makes it easy to add other post-receive hooks in the
future.
git-notify: Support SourceForge repositories
The Gitweb URLs for repositories hosted by SourceForge are slightly
different than other Gitweb URLs. The correct URL cannot be specified
via "-u" if we append "/$repos_name.git/?" to that URL as we usually do.
If the new "-S" flag is specified or "notify.sourceforge" is set, we'll
append "/$repos_name;" instead, which makes the "-u" option usable for
SourceForge repositories.
The Gitweb URLs for repositories hosted by SourceForge are slightly
different than other Gitweb URLs. The correct URL cannot be specified
via "-u" if we append "/$repos_name.git/?" to that URL as we usually do.
If the new "-S" flag is specified or "notify.sourceforge" is set, we'll
append "/$repos_name;" instead, which makes the "-u" option usable for
SourceForge repositories.
git-notify: Optionally call mail(1) without "-a"
Not all mail(1) implementations support specifying additional header
fields via "-a": with some, this flag is used for attaching files,
others don't provide an "-a" flag at all (this is true for the /bin/mail
utility currently installed on the SourceForge servers, for example).
We now provide the "-H" flag and the "notify.legacyMail" configuration
key for these cases.
Not all mail(1) implementations support specifying additional header
fields via "-a": with some, this flag is used for attaching files,
others don't provide an "-a" flag at all (this is true for the /bin/mail
utility currently installed on the SourceForge servers, for example).
We now provide the "-H" flag and the "notify.legacyMail" configuration
key for these cases.
git-notify: Polish up the "tag notifications"
Use better labels for the tag ref and the SHA1 name of the tag object.
Use better labels for the tag ref and the SHA1 name of the tag object.
git-notify: Distinguish between tag types
Distinguish between annotated tags and lightweight tags. In the former
case, send an annotated "tag notification", in the latter case, send a
"ref change notification" (as we did in both cases before).
Distinguish between annotated tags and lightweight tags. In the former
case, send an annotated "tag notification", in the latter case, send a
"ref change notification" (as we did in both cases before).
git-notify: Fix "global" notifications
If the number of commits included with a single push exceeds the maximum
specified via "-n", a single notification will be generated instead of
individual e-mails. For listing the commits within such a notification,
git-rev-list(1)'s "--pretty" option is used. This yields output which
the git_rev_list() subroutine didn't accept. That's now fixed.
If the number of commits included with a single push exceeds the maximum
specified via "-n", a single notification will be generated instead of
individual e-mails. For listing the commits within such a notification,
git-rev-list(1)'s "--pretty" option is used. This yields output which
the git_rev_list() subroutine didn't accept. That's now fixed.
git-notify: Optionally [tag] the subject
If the new "-T" option is specified or "notify.emitRepository" is set,
the subject of e-mail notifications will be prefixed with [<tag>], where
<tag> is the name of the updated repository.
If the new "-T" option is specified or "notify.emitRepository" is set,
the subject of e-mail notifications will be prefixed with [<tag>], where
<tag> is the name of the updated repository.
git-notify: Optionally omit the author name
If the new "-A" option is specified (or "notify.omitAuthor" is set), the
author name will be omitted from the subject of e-mail notifications.
If the new "-A" option is specified (or "notify.omitAuthor" is set), the
author name will be omitted from the subject of e-mail notifications.
git-notify: Make abbreviating Gitweb URLs optional
The SHA1 object name part of Gitweb URLs is now only shortened if the
user requested this by specifying the new "-z" option (or by setting
"notify.shortURLs").
While at it, also shorten the additional URL which references a diff in
e-mail notifications which don't include that diff inline because its
size exceeds the maximum number of bytes specified via "-s".
Note that while the abbreviated SHA1 object names will be unique at push
time, this cannot be guaranteed for the future, so the shortened URLs
might break some day.
The SHA1 object name part of Gitweb URLs is now only shortened if the
user requested this by specifying the new "-z" option (or by setting
"notify.shortURLs").
While at it, also shorten the additional URL which references a diff in
e-mail notifications which don't include that diff inline because its
size exceeds the maximum number of bytes specified via "-s".
Note that while the abbreviated SHA1 object names will be unique at push
time, this cannot be guaranteed for the future, so the shortened URLs
might break some day.
git-notify: Make showing the committer optional
Only the author's name and address will now be mentioned in a commit
notification by default. However, if the "-C" option is specified (or
"notify.showCommitter" is set), the committer's name and address will
also be included in the notification if the committer is not the author
of the commit (as we previously did by default).
Only the author's name and address will now be mentioned in a commit
notification by default. However, if the "-C" option is specified (or
"notify.showCommitter" is set), the committer's name and address will
also be included in the notification if the committer is not the author
of the commit (as we previously did by default).
git-notify: Make using a state file optional
Making use of a state file in order to prevent duplicate notifications
is now optional. The user must explicitly specify a file path via the
"-t" option or by setting the git-config(1) variable "notify.statefile"
to activate this functionality.
Making use of a state file in order to prevent duplicate notifications
is now optional. The user must explicitly specify a file path via the
"-t" option or by setting the git-config(1) variable "notify.statefile"
to activate this functionality.
git-notify: Don't abort if mail(1) exits non-zero
As nothing in git-notify depends on the success of the mail(1) call,
don't abort if it fails, just spit out a warning.
As nothing in git-notify depends on the success of the mail(1) call,
don't abort if it fails, just spit out a warning.
git-notify: Drop the $sent_notices variable
Now that we don't ignore empty commits anymore, there's no need to keep
track of the number of commits actually notified about, as that will
always be equal to the number of commits returned by get_new_commits().
Now that we don't ignore empty commits anymore, there's no need to keep
track of the number of commits actually notified about, as that will
always be equal to the number of commits returned by get_new_commits().
Revert "git-notify: Ignore `empty' commits"
This reverts commit db63fbfa036f5cd757aedf4547fef9e195a8c285, as it is
no longer needed and we'd like to keep the diff against the git-notify
version maintained by the Wine people as small as possible. The purpose
of db63fbfa was to suppress notifications on empty merge commits, which
can now be requested directly by specifying git-notify's "-X" option.
(Our change was implemented before the "-X" option was available, even
though the Git history suggests otherwise.)
Conflicts:
tools/git-notify
This reverts commit db63fbfa036f5cd757aedf4547fef9e195a8c285, as it is
no longer needed and we'd like to keep the diff against the git-notify
version maintained by the Wine people as small as possible. The purpose
of db63fbfa was to suppress notifications on empty merge commits, which
can now be requested directly by specifying git-notify's "-X" option.
(Our change was implemented before the "-X" option was available, even
though the Git history suggests otherwise.)
Conflicts:
tools/git-notify
Revert "git-notify: Remove unused [...] code"
This reverts commit 5445b9769f254781e482062bacc6603a5cd63059. Alexandre
Julliard pointed out that the code in question was used if git-notify
was explicitly called with the SHA1 name of an annotated tag object. At
the moment, the code in question actually _is_ unused due to later
modifications, but it wasn't at the time 5445b976 was committed, and
we'll add further changes so that the code will be used again in the
future.
Conflicts:
tools/git-notify
This reverts commit 5445b9769f254781e482062bacc6603a5cd63059. Alexandre
Julliard pointed out that the code in question was used if git-notify
was explicitly called with the SHA1 name of an annotated tag object. At
the moment, the code in question actually _is_ unused due to later
modifications, but it wasn't at the time 5445b976 was committed, and
we'll add further changes so that the code will be used again in the
future.
Conflicts:
tools/git-notify
git-notify: Minor cosmetic changes
Fix the description of the "-U" option.
Fix the description of the "-U" option.
Allow rsyncing to local paths
Add snapshots upload scripts
git-notify: Make the state file group writable
For shared repositories, the state file used by git-notify should
usually be group writable, so we now set the umask to 0002 by default.
This can be adjusted by setting the "notify.umask" configuration key or
by using the "-U" option on the command line.
For shared repositories, the state file used by git-notify should
usually be group writable, so we now set the umask to 0002 by default.
This can be adjusted by setting the "notify.umask" configuration key or
by using the "-U" option on the command line.
git-notify: Remove an empty subroutine
The gitweb_url() subroutine was an unused and empty hangover.
The gitweb_url() subroutine was an unused and empty hangover.
git-update-mirror: Remove a useless sed(1) call
The sed(1) command in question was a hangover which had no effect
anymore.
The sed(1) command in question was a hangover which had no effect
anymore.
git-notify: Check the exit status of pipes
Properly check the exit status of all processes we execute and abort on
error.
Properly check the exit status of all processes we execute and abort on
error.