aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Only hash files onceTharre2015-06-131-24/+31
|
* Make sha1_to_hex staticTharre2015-06-131-1/+1
|
* Use dep_info earlier to avoid duplicationTharre2015-06-131-80/+90
| | | | | | This is a prerequisite for avoiding hashing one and the same file multiple times. This also keeps the necessary parsing code for the dependency store out of build_target() into handle_c() where it belongs.
* Fix waitpid() error message and 2 if statementsTharre2015-06-131-7/+5
|
* Don't export build_target()Tharre2015-06-132-3/+1
| | | | | build_target() should not be called from outside, update_target() should be used instead.
* Pass 0755 directly instead of using POSIX macrosTharre2015-06-101-2/+1
| | | | | I'm not perfectly sure if this actually violates the POSIX standard or not, but in practice all systems seem to accept it.
* Fix error message for unsupported newlinesTharre2015-06-081-1/+1
|
* Rename `dependency file` to `dependency record`Tharre2015-05-251-5/+5
|
* Rename `do-file` to `.do script`Tharre2015-05-251-38/+39
|
* Fix piping to /dev/nullTharre2015-05-252-2/+2
|
* Fix some sh compatibility problemsTharre2015-05-252-2/+4
|
* Replace current tests with a hole new test suiteTharre2015-05-2548-71/+192
| | | | | | | | This new test suite is based on just on do scripts, much like apenwarr's redo implementation has done it. This makes tests both simpler and free from any additional dependencies. The naming was also improved a lot. There are also a lot of new tests, and many more to be implemeted later.
* Ignore generated doc filesTharre2015-05-251-0/+4
|
* Small rename and code simplificationTharre2015-05-252-8/+7
|
* Small clarificationTharre2015-05-251-1/+1
|
* Store dependencies as plain text instead of binaryTharre2015-05-252-75/+51
| | | | | | | | Binary files are hard to debug, and even while the code required to parsing them is simpler it's not worth the tradeoff. Note that handling of newlines in target names is not implemented yet, they require some sort of special escaping.
* Use full path instead of one concatenated filenameTharre2015-05-244-52/+23
| | | | | Creation of the redo store (.redo/) is now silent, that should probably be reimplemented in a better way at a later time.
* Fix some issues with pathsTharre2015-05-052-11/+5
|
* Make redo lines colored to enhance readabilityTharre2015-05-051-1/+1
|
* Fix path quoting in the clean targetTharre2015-05-051-1/+1
|
* Install redo into /usr/local/bin by defaultTharre2015-04-082-5/+5
|
* Add basic man pages for documentationTharre2015-04-044-0/+184
|
* Always use the CWD of the dofile, not the targetTharre2015-02-201-10/+5
|
* Replace make_relative() with relpath()Tharre2015-02-153-19/+25
| | | | | Also improve the documentation for this function, and add a few examples to clarify what it does (and what not).
* Fix always testcase but skip it for nowTharre2015-02-073-1/+6
|
* Revert "Add sync to some test cases to make travis-ci work"Tharre2015-02-073-3/+0
| | | | This reverts commit 4a25bf1120e60c8a5d1746671972cf08faaaf620.
* Add sync to some test cases to make travis-ci workTharre2015-01-253-0/+3
|
* Add testing framework `bats`, this fixes #6Tharre2015-01-2511-1/+66
|
* Rewrite add_dep() to be atomic through O_APPENDTharre2015-01-251-20/+24
|
* FILENAME_MAX should be the largest path there isTharre2015-01-251-1/+1
|
* Remove unecessary check for NULL from add_dep()Tharre2015-01-151-5/+1
|
* Fix the mode argument of open()Tharre2015-01-091-1/+2
|
* Randomize argument processing orderTharre2015-01-091-3/+10
|
* Make redo-* commands fail if called from outsideTharre2015-01-051-7/+14
|
* Add support for local config files (config.local)Tharre2015-01-033-0/+16
|
* Remember sources and don't rebuild missing onesTharre2015-01-031-3/+14
|
* Represent dependencies in the dep_info structTharre2015-01-031-63/+64
|
* Fix scripts to honor paths with spacesTharre2014-12-222-9/+9
|
* Exchange sha1 implementationTharre2014-12-122-299/+365
|
* Improve error message handling for debuggingTharre2014-12-053-8/+14
|
* Fix typo in build.c that made fseek() failTharre2014-11-291-1/+1
|
* Work if called with /usr/bin/redo instead of redoTharre2014-11-291-5/+6
|
* Implement perfect dependency rebuildingTharre2014-11-291-64/+62
| | | | | | | | | This means, if foo depends on blah, which in turn depends on blub and blub changes, blah get's rebuild but stays the same then foo won't be rebuild as it's dependencies (blah) have not changed. Note that because our currently included sha1 implementation does not work correctly, this doesn't either if the changes are small.
* Rename diem to fatal to further confuse matters.Tharre2014-11-245-36/+36
| | | | | | It's actually pretty easy now, fatal() is used as a short cut for appending the strerror'd errno, while die() is just the generic version of printing errors that behaves just like fprintf(stderr, msg) + exit().
* Refactor out handle_c and fix > 8096 reading bugTharre2014-11-242-73/+87
|
* Some cleanupTharre2014-11-241-48/+41
|
* Fix bug in CC.do.Tharre2014-11-241-1/+1
|
* Set _XOPEN_SOURCE to 600 to make fix FreeBSD buildTharre2014-11-231-1/+1
|
* Make CC fail correctly (it does now, I promise)Tharre2014-11-181-2/+2
|
* Remove Redofile as an alias for default.doTharre2014-11-182-6/+0
|