Commit Graph

152 Commits

Author SHA1 Message Date
Paul Beckingham
c346cf9395 Portability: Use fcntl instead of flock
- POSIX file locking mechanism, eliminating platform-specific code.
2015-05-02 11:47:39 -04:00
Wilhelm Schuermann
af772f4c49 Util
- Closed dangling pipes in execute (), resolving problems when a hook script
  forks.
2015-02-22 14:03:30 -05:00
Paul Beckingham
528e72062b Hooks
- Fixed the ::execute function used by Hooks and CmdCalendar to run commands,
  by following the convention:

    "The first argument, by convention, should point to the file name associated
     with the file being executed."
     (man execvp)
2015-02-07 14:08:58 -05:00
Paul Beckingham
41003fc78b Code Cleanup
- Removed whitespace at EOL.
2015-01-17 19:05:09 -05:00
Wilhelm Schuermann
d2928dc4e4 TW-1516 Hook input not ended with EOF
- Made execute() send EOF when all input is written.
- Minor code cleanup.
2015-01-17 19:04:31 -05:00
Paul Beckingham
b7ad091d00 Updated copyright to 2015 2015-01-01 00:00:41 -05:00
Paul Beckingham
9a95696872 Code Cleanup
- Improved white space for readability and style compliance.
2014-11-28 12:15:00 -05:00
Paul Beckingham
8ca096689c Util
- Minor formatting.
2014-10-06 23:10:19 -04:00
Wilhelm Schuermann
d5648b511c Util
- Added includes to make FreeBSD happy.
- Added more error handling.
2014-10-03 14:15:11 -04:00
Wilhelm Schuermann
1fa4c8ff7b Util
- Reimplemented execute(), this time (hopefully) deadlock-proof.
- Added error handling.
2014-10-02 14:50:47 -04:00
Paul Beckingham
5b7e6df00b Util
- The execute() function needed to fill the STDIN pipe before the fork, not
  after the fork, so the data is ready before the child process reads.
2014-09-14 17:43:19 -04:00
Paul Beckingham
e15907f3f1 Code Cleanup
- Removed unused uti.cpp indentTree function.
2014-09-07 17:32:46 -04:00
Paul Beckingham
adee92a6b9 Code Cleanup
- Removed unused util.cpp escape function.
2014-09-07 17:27:50 -04:00
Paul Beckingham
66bb5b3906 Code Cleanup
- Removed unused util.cpp encode and decode functions.
2014-09-07 17:25:47 -04:00
Paul Beckingham
bffc7a2ac8 Code Cleanup
- Removed unused util.cpp combine function.
2014-09-07 17:14:03 -04:00
Paul Beckingham
4aa79dccfa Code Cleanup
- Removed unused util.cpp round_up_to and burndown_size functions.
2014-09-07 17:10:06 -04:00
Paul Beckingham
4f54578241 Code Cleanup
- Removed unused util.cpp compressIds function.
2014-09-07 16:57:05 -04:00
Paul Beckingham
8a31ccabdc Code Cleanup
- Removed unused util.cpp delay function.
2014-09-07 16:48:42 -04:00
Paul Beckingham
be104ee7c4 Code Cleanup
- Removed unused util.cpp confirm3 function.
2014-09-07 16:46:20 -04:00
Paul Beckingham
7c8432d162 Code Cleanup
- util.cpp execute was assuming execvp was returning before freeing memory,
  which is a waste of time.
2014-09-06 22:28:04 -04:00
Paul Beckingham
ebd7bf99f0 Portability
- Moved stdio.h to be (almost) first in the include order, to prevent and other
  include from in turn including stdio.h without first defining _WITH_GETLINE.
2014-08-31 00:05:08 -04:00
Paul Beckingham
7a765b186e Portability
- Changed include ordering, for FreeBSD.
2014-08-30 23:44:51 -04:00
Paul Beckingham
df744d5c98 Code Cleanup
- Removed unused util.cpp ::execute variant.
2014-08-30 23:43:58 -04:00
Paul Beckingham
284146162f Portability
- Added _WITH_GETLINE for FreeBSD.
2014-08-30 23:38:11 -04:00
Paul Beckingham
07b7fe4541 Util
- Added new 'execute' function that provides input and captures output.
2014-08-30 23:31:23 -04:00
Paul Beckingham
820c327a81 Util
- Made arg vector const.
- Applied coding conventions.
2014-08-30 23:27:49 -04:00
Paul Beckingham
16fc71e2ef Code Cleanup
- Readability.
2014-04-16 16:56:45 -04:00
Paul Beckingham
523dce8f32 Code Cleanup
- Standardized headers.
2014-02-01 14:33:37 -05:00
Paul Beckingham
8ed92ca498 Copyright
- Bumped copyright to 2014, ready for release.
2014-01-01 13:32:22 -05:00
Paul Beckingham
04e0df6965 FreeBSD
- Converted __FreeBSD__ to FREEBSD for consistency.
2013-09-14 11:51:56 -04:00
Pietro Cerutti
da7cc6eed7 Fix uuid on FreeBSD
In FreeBSD, just as in DARWIN, uuid functions are in libc and no external libuuid is required.
The API is quite different from Linux's though, so a different implementation of uuid () (util.cpp) is needed.
2013-09-14 11:38:47 -04:00
Martin Natano
fcfd50bd25 require libuuid
- require libuuid at build time and remove insufficiently seeded
  replacement for uuid()
2013-07-20 15:52:42 -04:00
Paul Beckingham
d03c4cda8a Build Error
- Many files were missing an explicit cmake.h include.  Some were not including
  it at all.  Now it's used almost everywhere.

(cherry picked from commit 82ae86979c497e6d1d0c6b2b5a55aa379ec82c98)
2013-06-02 13:57:36 -04:00
Paul Beckingham
773b55d374 Code Cleanup
- Removed L10N define.  It served its purpose.
2013-04-07 23:50:51 -04:00
Paul Beckingham
1dccd29643 Copyright 2013
- Updated copyright notices.
2013-03-04 17:47:12 -05:00
Paul Beckingham
c978b2b65a Transport Errors
- The 'push' and 'pull' commands now properly distinguish between a missing
  transport utility and other errors (thanks to Russell Steicke).
2013-03-03 09:34:54 -05:00
Russell Steicke
1428a4135b Clean up Transport::execute() and callers.
- Ensure that the real exit code of the child program is retrieved
  using WEXITSTATUS().

- Centralise the handling of code 127, which means that the child
  shell process could not execute its child (ssh, rsync, or curl.)

Signed-off-by: Russell Steicke <russells@adelie.cx>
2013-03-03 09:00:48 -05:00
Rainer Müller
2bb601e6f2 Bug
- Match localized answers for confirmation

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2013-02-19 22:17:08 -05:00
Paul Beckingham
42661312d6 Portability
- Detected birth time in struct stat.
2012-10-13 22:20:08 -04:00
Scott Kostyshak
be5dc8ab90 Bug #1056
- Fix #1056: the 'projects' command now outputs abstract parents
  and reduces repetition by not printing parent names in front of
  children names.
- Project name indentation is not affected by the first character
  being a period and/or the last character being a period.
- Unit tests for above.
2012-09-23 08:07:11 -04:00
Paul Beckingham
968d1c32e8 Portability
- Removed unnecessary dependence on Bash: sh is POSIX, bash is not.
2012-08-21 16:13:45 +01:00
Owen Clarke
a655be823b Bug #1030
- Added portable implementation of timegm for non GNU/BSD platforms that
  don't have their own implementation
- Removed the use of tm_gmtoff on non GNU/BSD platforms that don't have
  it as part of the tm struct in time.h
- Added CMake tests HAVE_TIMEGM and HAVE_TM_GMTOFF
2012-07-16 22:45:11 +10:00
Louis-Claude Canon
b093d23f1f Typos
- Fix various typos in comments and documentation.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2012-06-12 16:44:14 -04:00
Paul Beckingham
95e36d1145 Enhancement
- Broke the indentTree function into two pieces - one that processes
  a list, the other that processes a single item.  This makes it more
  efficient for use places that have only one element.
2012-03-25 16:54:13 -04:00
Paul Beckingham
2ce9322a28 Bug #917
- Fixed bug #917, which mis-encoded quotes (thanks to Uli Martens).
- Added unit tests.
- Minor unrelated edits.
2012-02-02 22:58:36 -05:00
Paul Beckingham
5e4f7feff8 Performance
- Added a shortcut test that speeds up the decode process for most cases.
2012-01-30 00:18:53 -05:00
Paul Beckingham
ec96d929a0 Bug 879 - Description/Annotation ending with Slash Causes Problems
- Backslashes actually.  The escaping mechanism in the low-level parser
  was eating leading \ characters when it should not.  Very hard bug to
  find, trivial to fix.
- Added unit tests to several components while narrowing this down.
2012-01-29 15:36:05 -05:00
Paul Beckingham
6580095002 Copyright
- Year change.
2012-01-02 23:32:10 -05:00
Paul Beckingham
0001457612 Enhancement
- Added indentTree function that will provide the basis for a new 'projects'
  command, and potentially more.  Includes unit tests.  Based on a patch from
  Ralph Bean.
2011-12-27 15:32:51 -05:00
Johannes Schlatow
d8d2060b39 Bug #871
- Fixed escaping of spaces for scp and curl
2011-11-30 00:12:20 +01:00