{"id":16164691,"url":"https://github.com/johnsonjh/isnewer","last_synced_at":"2025-04-07T04:48:54.438Z","repository":{"id":45911525,"uuid":"514939884","full_name":"johnsonjh/isnewer","owner":"johnsonjh","description":"isnewer: A utility to compare file modification dates; re-implementation of AT\u0026T Research UNIX V8 newer(1)","archived":false,"fork":false,"pushed_at":"2023-01-28T15:36:01.000Z","size":25,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-13T09:19:35.935Z","etag":null,"topics":["compare","date","newer","shell","unix","utility","v8"],"latest_commit_sha":null,"homepage":"https://github.com/johnsonjh/isnewer","language":"Makefile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"0bsd","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/johnsonjh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-07-17T19:44:14.000Z","updated_at":"2024-06-07T05:27:54.000Z","dependencies_parsed_at":"2023-02-15T17:15:34.840Z","dependency_job_id":null,"html_url":"https://github.com/johnsonjh/isnewer","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnsonjh%2Fisnewer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnsonjh%2Fisnewer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnsonjh%2Fisnewer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnsonjh%2Fisnewer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/johnsonjh","download_url":"https://codeload.github.com/johnsonjh/isnewer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247595382,"owners_count":20963943,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["compare","date","newer","shell","unix","utility","v8"],"created_at":"2024-10-10T02:47:26.906Z","updated_at":"2025-04-07T04:48:54.418Z","avatar_url":"https://github.com/johnsonjh.png","language":"Makefile","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- vim: set nocp ts=2 sw=2 tw=78 colorcolumn=78 et nolist wrap lbr :--\u003e\n\u003c!-- SPDX-License-Identifier: FSFAP --\u003e\n\u003c!-- Copyright (c) 2022 Jeffrey H. Johnson \u003ctrnsz@pobox.com\u003e\n     Copying and distribution of this file, with or without modification,\n     are permitted in any medium without royalty provided the copyright\n     notice and this notice are preserved.  This file is offered \"AS-IS\",\n     without any warranty. --\u003e\n\n# isnewer - compare file modification dates\n\nA free implementation of AT\u0026T Research UNIX V8 `newer(1)`.\n\n## Overview\n\n* It is unfortunately difficult to portably and robustly determine the\n  newer of two files from a UNIX shell script - the POSIX baseline\n  [`test(1)`](https://pubs.opengroup.org/onlinepubs/9699919799/utilities/test.html)\n  does not include the `-nt` and `-ot` operators commonly seen on GNU\n  and BSD systems.  Efforts to update the POSIX specification to include\n  these and other widely-implemented `test(1)` extensions appears to have\n  [stalled](https://www.austingroupbugs.net/view.php?id=375).\n\n* AT\u0026T Research UNIX V8 (never released under a proper FLOSS license)\n  from 1985 offers a reasonable precedent, having provided this\n  functionality via the `newer(1)` shell utility:\n\n  ```\n    NAME\n         newer - test file modification dates\n\n    SYNOPSIS\n         newer file1 file2\n\n    DESCRIPTION\n         Newer yields a zero return code if file1 exists and file2\n         does not, or if file1 and file2 both exist and file1's\n         modification time is at least as recent as that of file2.\n         It yields a non-zero return code otherwise.\n  ```\n\n* `isnewer` intends to be compatible with the AT\u0026T Research UNIX V8\n  `newer(1)` implementation, with the addition of supporting the\n  following command-line arguments:\n\n  * `-v` or `--version` - Prints version information to standard error\n  * `-h` or `--help`    - Prints usage information to standard error\n\n* These new arguments are exclusive; that is, they may not combined\n  with each other and may not be used in conjunction with any date\n  comparisons.\n\n* The name `isnewer` was chosen for this package to avoid clashing with\n  other utilities of the same name that may be provided by operating\n  systems (*i.e.* Research UNIX V8) or as components of other packages\n  (*i.e.* some versions of teTeX).  Users, system administrators, and\n  distribution packagers can make use of\n  [`alternatives`](https://wiki.debian.org/DebianAlternatives) or a\n  similar facility to provide more convenient access to this utility.\n\n## Building\n\n* `isnewer` should work on any POSIX-like system with a C compiler.\n* A convenient `Makefile` for building and running tests is provided.\n\n## Notes\n\n* No effort is made to utilize sub-second mtime precision\n* [mtime comparison considered harmful](https://apenwarr.ca/log/20181113)\n  (according to some people)\n\n## License\n\n* `isnewer` is distributed under the terms and conditions of the\n  following Zero-Clause BSD (*0BSD*) license.\n\n  ```\n  Copyright (c) 2022 Jeffrey H. Johnson \u003ctrnsz@pobox.com\u003e\n\n  Permission to use, copy, modify, and/or distribute this software for\n  any purpose with or without fee is hereby granted.\n\n  THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n  WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n  MERCHANTABILITY AND FITNESS.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n  ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n  WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n  ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n  OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n  ```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnsonjh%2Fisnewer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjohnsonjh%2Fisnewer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnsonjh%2Fisnewer/lists"}