about summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
* Remove redundant file check HEAD masterMayer Leonard2023-06-261-6/+1
| | | | Closes: #33 [via git-merge-pr]
* README.md: URL correctionAndreyDobrovolskyOdessa2021-05-091-1/+1
| | | | Closes: #24 [via git-merge-pr]
* Avoid duplicate flags initialization in main()AndreyDobrovolskyOdessa2021-03-261-9/+5
| | | | Closes: #18 [via git-merge-pr]
* Incorporating sourcefile() call inside check_deps()AndreyDobrovolskyOdessa2021-03-261-6/+9
| | | | | | | Now sourcefile() is called from inside check_deps() only. Simplifies skip[] assignment logics in redo_ifchange(). Closes: #17 [via git-merge-pr]
* remove unreachable code in run_scriptAndreyDobrovolskyOdessa2021-03-191-4/+1
| | | | | | dirprefix is always != 0, so unsetenv() will never be executed. Closes: #16 [via git-merge-pr]
* Changing order of creating files on find_dofile in run_script()AndreyDobrovolskyOdessa2021-03-191-6/+6
| | | | | | | | In case of missing .do file .lock, .depend and .target files remains in the target directory. Calling find_dofile() before creating them helps to avoid such target directory pollution. Closes: #15 [via git-merge-pr]
* use "all" as default target only when "redo" is called directlyLeah Neukirchen2021-03-091-5/+8
| | | | Closes #12.
* Calling compute_uprel() before redo_ifchange()AndreyDobrovolskyOdessa2021-02-271-1/+1
| | | | | | | | | | | | record_deps() is called after redo_ifchange(). It needs uprel[] value corresponding to REDO_DIRPREFIX supplied by the parent process. But redo_ifchange() may modify REDO_DIRPREFIX in case it will envoke default*.do file located in one of updirs. In this case if compute_uprel() will be called from inside record_deps(), it will produce wrong uprel[] value. That's why compute_uprel() must be called before run_script() will be able to change REDO_DIRPREFIX for the child process. Closes: #11 [via git-merge-pr]
* change fflag testing from ! to < 0AndreyDobrovolskyOdessa2021-02-201-1/+1
| | | | Closes: #10 [via git-merge-pr]
* bootstrap.sh: fix from clean buildLeah Neukirchen2021-02-071-2/+5
|
* add bootstrap.shLeah Neukirchen2021-02-071-0/+10
| | | | Closes #7.
* take existence of a dofile into account when checking for sourcefileLeah Neukirchen2021-02-071-1/+8
| | | | | | | This resolves issues when the .dep.redo went missing or the file was built by other means. Closes #6.
* Fix some compiler warningsMax Horn2021-02-071-3/+3
| | | | | | | | | | | | On non-Linux systems (e.g. macOS, BSD), st.st_ctime may not be of the right type for PRIx64 ; so just cast it to an uint64_t, which is the type PRIx64 corresponds to. Also, clang may warn about `"/"+(*dirprefix ? 0 : 1)`, suspecting a coding error. Using `(*dirprefix ? "/" : "")` is unambiguous and also easier to grok for some people (e.g. myself ;-)). Closes: #9 [via git-merge-pr]
* Specify starting point for 'find'Max Horn2021-02-072-2/+2
| | | | | | | non-GNU versions of find (e.g. BSD) do not allow omitting the starting point. Closes: #8 [via git-merge-pr]
* README.md: typoLeah Neukirchen2020-10-181-1/+1
|
* add README.md v0.3Leah Neukirchen2020-10-011-1/+20
|
* Fix non implicit job lease detectionChristian Kögler2020-09-061-1/+2
| | | | | | | | | | | If a job is non implicit, the job lease will never be written back via function vacate. The information non implicit is wrongly derived by the counter implicit_jobs, which will never be negative and therefor run_script is always called with implicit job true. This fix checks if implicit is possible before procuring the job lease. Closes: #5 [via git-merge-pr]
* use blocking/nonblocking reads instead of poll(2) v0.2Leah Neukirchen2020-06-261-10/+5
| | | | | | | | | | | | | | | Previously, we used a blocking fd for the token pipe and used poll(2) to see if anything could be read right now in try_procure(). However, there is a race between poll(2) and the subsequent blocking read(2), which can result in processes deadlocking when multiple instances of redo poll at the same time. Instead, we now make the fd nonblocking when needed, so that the read either reads or returns immediately if there is nothing to read. Closes #3. Closes: #4 [via git-merge-pr]
* added empty targetChristian Kögler2020-05-171-2/+1
| | | | Closes: #2 [via git-merge-pr]
* compute proper relative paths when default.do is run from a directory above v0.1Leah Neukirchen2018-07-081-2/+26
|
* document $1, $2, $3 for subdirectoriesLeah Neukirchen2018-07-081-0/+4
|
* styleLeah Neukirchen2017-08-311-23/+23
|
* check_deps: allow target not to exist, keep track when dofile did not create ↵Leah Neukirchen2017-03-301-12/+9
| | | | target
* redo.c: keep lock_fd until the job actually finishedLeah Neukirchen2017-03-231-8/+13
|
* run_script: do not leak lock file fdsLeah Neukirchen2017-03-231-0/+2
|
* check_deps: always chdir back after calling sourcefileLeah Neukirchen2017-03-221-3/+3
|
* redo.c: styleLeah Neukirchen2017-03-221-9/+15
|
* check_deps: keep track of proper pwd when recursingLeah Neukirchen2017-03-221-6/+20
| | | | | | | | Else, a dependency to a subdirectory would change into it, but then look up the subdirectory-relative names in the .dep file according to the dir_fd of the parent. Now, we keep dir_fd updated, and ensure after each .dep line we return to it.
* LeahizeLeah Neukirchen2017-03-221-1/+1
|
* redo.c: update reference to jdebpChristian Neukirchen2016-08-241-1/+1
|
* $2 for non-default .do files is same as $1 actuallyChristian Neukirchen2015-09-061-1/+1
|
* Mention redo -f / redo -kChristian Neukirchen2015-09-061-2/+6
|
* record_deps needs to go back to where redo started, so the paths make senseChristian Neukirchen2015-09-061-0/+2
|
* Fix $2 for default.EXT.doChristian Neukirchen2015-09-061-8/+28
|
* Don't read after end of dirprefixChristian Neukirchen2015-09-061-1/+2
|
* Avoid close(-1) on toplevel redo.Christian Neukirchen2015-09-061-1/+2
|
* Use PATH_MAX for filename buffersChristian Neukirchen2015-09-061-9/+10
|
* Add NOTESChristian Neukirchen2015-09-061-0/+32
|
* Lock jobs to detect parallel builds of same targetChristian Neukirchen2015-09-061-24/+72
|
* Call .do files from the directory they reside in, rewrite argumentsChristian Neukirchen2015-09-061-9/+27
|
* Error handling in targetchdirChristian Neukirchen2015-09-061-1/+8
|
* redo-hash, just for debuggingChristian Neukirchen2015-09-042-4/+3
|
* Add redo-sources and redo-targetsChristian Neukirchen2015-09-042-0/+13
|
* Change naming schema: .foo.c.dep -> .dep.foo.cChristian Neukirchen2015-09-041-2/+2
|
* Factor write_depChristian Neukirchen2015-09-041-11/+16
|
* Track ctime and don't recompute hash when ctime is sameChristian Neukirchen2015-09-041-7/+23
|
* fix formattingChristian Neukirchen2015-09-041-41/+41
|
* redo -s / REDO_STDOUT=1 to enable the old "collect stdout" mode.Christian Neukirchen2015-09-041-6/+15
|
* Output "redo ..." lines to stderrChristian Neukirchen2015-09-041-1/+1
|
* Actually recurse into dependencies when checking them >_<Christian Neukirchen2015-09-041-10/+16
| | | | Thanks to @erlehmann for pointing this out.