2
0
mirror of https://github.com/gitwatch/gitwatch synced 2024-11-18 21:26:31 +00:00
Commit Graph

66 Commits

Author SHA1 Message Date
Nevik Rehnel
cd40a3f579 Update copyright notice, add Phil Thompson @philt to contributors list 2014-07-05 20:08:27 +02:00
Nevik Rehnel
56fcd4f824 Merge branch 'philt/testing' into 'testing' 2014-07-05 16:52:06 +02:00
Phil Thompson
bd159dbb6e alternative to process substitution plus other multiplatform fixes 2014-07-03 09:35:30 +01:00
Phil Thompson
429c4af5bf add optional arg to specify events to monitor 2014-07-02 14:47:17 +01:00
Nevik Rehnel
a2b78e9a60 Add --all to git-add call (dirs)
The call to `git add` for directories previously used the argument `.` while
being in the target directory. In current Git versions, this produces a warning
about the upcoming changes to `git add` behavior.

To remove this warning and make `git add` behave like we want it, now and in
coming Git versions, we added the `--all` switch to the call (as suggested in
the aforementioned warning). This will include removals as well as additions in
the index.
2013-11-13 11:07:38 +01:00
Nevik Rehnel
930d1d1957 Add some more comments 2013-11-13 10:57:29 +01:00
Nevik Rehnel
7788b7cbfd Only use one inotifywait instance, fix quoting
As detailed in #14, this improves usage of inotifywait: instead of calling inw
once per loop-run, it is launched once and its output piped into this script.
To facilitate this in an economic manner, a sleep period after a captured event
is added (it acts exactly as it did before this change). Should new events
occur while a waiting period is already running, that sleep process is killed
and a new one started. This groups together rapid events. The -s switch keeps
its functionality.

As mentioned in the issue, a big credit goes out to @datag, since the idea and
structure for this feature are taken from
datag/confcan@bcff79bc77.

Also fixes quoting (and quote-parsing) issues in a few places. These became
apparent in the inotifywait call (which is prepared as a string, from which
quotes arguments are not processed like normal unless `eval` is used). Testing
revealed a few quoting weaknesses in other places, where a path containing
whitespace would cause errors. Most of these should be fixed for now.

Closes #14.
2013-04-25 23:19:48 +02:00
Nevik Rehnel
72090b30ee Add help about env vars for binaries 2013-04-25 17:05:55 +02:00
Nevik Rehnel
f7a992e379 Construct push command only once
Move checking and construction of push command out of main loop so construction
is only done once (push command does not change during script execution.
2013-04-24 16:35:42 +02:00
Nevik Rehnel
b3fc585539 Move echo'ing of errors to function 2013-04-24 16:22:51 +02:00
Nevik Rehnel
0584887db2 Replace literal git/inw calls with vars 2013-04-24 16:17:24 +02:00
Nevik Rehnel
906fa643d5 Improve formatting of commit msg 2013-04-24 10:42:23 +02:00
Nevik Rehnel
2b71984c55 Fix -b switch to affect used remote branch
Due to the usage of the branch argument (customizable by the -b switch) in the
push command, the <branch> argument previously would push from the so-named
local branch. Since all commits happen on the currently active branch (if any),
that doesn't make much sense, since any branch other than the checked-out one
will probably not get any changes. The effect of the -b switch is thus changed
to the following:
If a branch is checked out (repo is not in a detached HEAD state), the push
command used is `git push <branch> <current branch>:<branch>`, pushing from the
currently checked-out branch to the named remote branch.
If no branch is checked out (repo is in detached HEAD state), the push command
used is `git push <remote> <branch>` (this is in fact unchanged from before).

Closes #15.
2013-04-18 22:15:29 +02:00
Nevik Rehnel
b0941a2678 Add option to customize commit message
The commit message used by gitwatch can now be customized without having to
touch the code of the script. The new -m switch can be used for this, followed
by the commit message "template"; upon commit, all occurences of %d in that
templace string will be replaced by the formatted date/time (see also the -d
switch).
Closes #8.
2013-04-18 21:27:06 +02:00
Nevik Rehnel
2a3ed8fdca Change construction method for commit message
Instead of having a fixed structure of PREPEND+DATE+APPEND for the commit
message, we now use a single commit message template string, in which the
placeholder %d will be replaced by the formatted date and time (if any).
This is further preparation for implementing a customizable commit message
as requested in #8.
2013-04-18 21:12:29 +02:00
Nevik Rehnel
f4e77f1d04 Change option letter for push, expand help message
Change the option letter for auto-pushing after a commit from -p (for 'push') to
-r (for 'remote') since I think that makes a bit more sense.
Expand the help on auto-pushing.
2013-04-16 18:47:35 +02:00
Nevik Rehnel
de21cf061d Add option to customize the timestamp format
Add a new -d switch with which to customize the format of the timestamp inserted
into the commit message.
This prepares commit message customization as mentioned in #8.
2013-04-16 18:32:09 +02:00
Nevik Rehnel
61ef92cf04 Add some more inotify events as mentioned in #13 2013-04-15 23:14:15 +02:00
Nevik Rehnel
9bfca75959 Add option to customize sleep time after a change
A new option -s N now customizes the sleep time after detecting a change to N
seconds (the parameter is directly passed into `sleep`.
Closes #7.
2013-04-15 23:05:51 +02:00
Nevik Rehnel
0e149ca1a8 Add some comments. Add @datag as contributor. 2012-12-03 22:30:15 +01:00
Nevik Rehnel
4e55eaa3ad Merge datag/gitwatch@7c34782d (testing) into testing, closing PR #11. 2012-12-03 22:20:10 +01:00
Dominik D. Geyer
7c34782d9a Provide function is_command() and check for multiple dependencies 2012-12-03 20:17:27 +01:00
Dominik D. Geyer
ac999af602 Partly reverted change of 7215554b and use dirname again
- The bash string manipulation ${var%/*} behaves different to dirname,
  e.g. paths like "/" and "/foo" return empty string
- Quote argument to dirname as preparation for using whitespace in paths
2012-12-03 20:00:08 +01:00
Dominik D. Geyer
3a54d02edd Cosmetics: Be consistent with command substitution syntax 2012-12-03 00:29:26 +01:00
Dominik D. Geyer
7215554ba6 Cosmetics: Use bash string manipulation instead of basename/dirname 2012-12-03 00:25:45 +01:00
Dominik D. Geyer
7346b37a0d Test for number of script arguments to be 1 after shifting options 2012-12-03 00:20:49 +01:00
Dominik D. Geyer
9473048fdf Cosmetics: Make use of here-string instead of using piped echo 2012-12-03 00:17:19 +01:00
Dominik D. Geyer
e3ca99840f Exit with code 1 and message if target is neither a regular file nor a directory 2012-12-03 00:03:51 +01:00
Dominik D. Geyer
b82d406108 Cosmetics: Whitespace fix 2012-12-02 23:51:42 +01:00
Dominik D. Geyer
f17e9d68c4 Cosmetics: Syntax/whitespace change 2012-12-02 23:49:38 +01:00
Dominik D. Geyer
c85025d456 Prerequisites check: Test for non-zero value
Also, use alternate syntax for which-test and exit with non-zero exit
code for git-test as well.
2012-12-02 23:43:07 +01:00
Dominik D. Geyer
9f71f494eb Cosmetics: Syntax/whitespace fixes 2012-12-02 23:36:04 +01:00
Dominik D. Geyer
d9fc7297e9 Cosmetics: Use bash-specific redirection
Redirect both stdout and stderr to /dev/null.
Requires bash version >= 4.
2012-12-02 23:28:58 +01:00
Dominik D. Geyer
9751094c0e Make use of /usr/bin/env in shebang 2012-12-02 23:26:02 +01:00
Nevik Rehnel
825fde087b Expand help/usage message, improving fix for #1. 2012-12-01 00:58:17 +01:00
Nevik Rehnel
95d6a4176c Add newline at end of file. Fix comment formatting (hash then space then text) 2012-12-01 00:35:08 +01:00
Nevik Rehnel
1c822907c3 Shift input arguments so code referencing first arg still works 2012-12-01 00:30:57 +01:00
Nevik Rehnel
d8096cad4d Fix if conditions for auto-pushing.
After committing the changes to the repo, the script tests if the auto-push
variables are set, to see if the push should be done. The conditions for these
if branches were exactly the wrong way around. This is now fixed.
2012-12-01 00:15:48 +01:00
Nevik Rehnel
25b5f13cab Merge commit MatthewM/gitwatch@e3869ff (testing) into testing 2012-11-28 21:38:44 +01:00
Matthew McGowan
e3869ffdc5 Added comments to the new code 2012-11-28 15:19:14 -05:00
Matthew McGowan
73f31173fb Fixed a typo in README.md 2012-11-28 14:44:17 -05:00
Matthew McGowan
dd6e4073eb Forgot to add *~ for a backup file 2012-11-28 14:43:23 -05:00
Matthew McGowan
6a5e99bc63 Added a .gitignore 2012-11-28 14:41:57 -05:00
Nevik Rehnel
9481d7e21c Merge commit MatthewM/gitwatch@c14644f (testing) into testing 2012-11-28 10:04:07 +01:00
Matthew McGowan
c14644fd3d Updated README.md to reflect the command line param changes 2012-11-28 03:12:57 -05:00
Matthew McGowan
2666870800 Added both the -p and -b options 2012-11-27 19:02:11 -05:00
Matthew McGowan
218872eee8 Added a basic help that includes some features that will be added later 2012-11-27 15:03:31 -05:00
Nevik Rehnel
ecfbee9e7a Add note about contributions, naming MatthewM 2012-11-27 20:10:16 +01:00
Nevik Rehnel
ce30fb2d45 Merge commit '744ceab', modified from MatthewM/gitwatch@c5f06ad . Closes PR #1 2012-11-27 19:55:36 +01:00
Nevik Rehnel
744ceab97b Replace 'hash' with 'which' to check for command availability 2012-11-27 19:49:31 +01:00