Commit Graph
33 Commits
Author SHA1 Message Date
nhkeni c27cb28ec5 Use old-style --int flag to git to work with older gits. 2024-12-24 12:51:23 -05:00
nhkeni 36e8d9e6fc nhgitset version 4
To update, run "perl DEVEL/nhgitset.pl"

Fixes:
- "nhcommit -a" has been fixed
- NHDT was hardwired in places
- no longer complain about a missing dat directory outside of the
    NetHack source tree
- make update of gitinfo atomic
- Replace some hardwired directory separators with OS-dependent constructs

Backwards Incompatibilities:
- NH_DATESUB's DATE() is now Date() to match the other variables
- MSYS2 requires an additional Perl package - the MSYS2 docs have
    been updated

New Help System:
- git nhhelp
   This command mirrors "git help" for nh* commands.
- See git nhhelp nhsub for general help on substitution variables

New Substitution Variables:
-Brev()
    An aBREViation of $PREFIX-Branch$:$PREFIX-Revision$ - this
    may help get line length under control in file headers.
-Assert(TYPE=VALUE)
    If TYPE does not match VALUE, do not substitute on this line.
    TYPE P checks VALUE against nethack.substprefix
-Project(arg)
    Returns nethack.projectname if there is no arg and an uppercase
    version if arg is uc.

Other New Features:
- Add nethack.projectname
- Documentation updates - see "git nhhelp nhsub"
- On checkout or merge of a branch, check for nhgitset version updates
  and provide an optional message to the user.
- Move NH_DATESUB substitutions here from cron job to keep dates in sync
- PREFIX-* keywords now available in NH_DATESUB templates
- Support use of nhgitset.pl from a different repo; note that update
  checks will be dependent on keeping the original source repo up-to-date
  and in the same location.
2024-11-11 09:15:49 -05:00
RainRat a3658f85ac fix typos 2024-02-28 20:15:56 -08:00
nhmall ac9ba38449 file header bump from "NetHack 3.6" to "NetHack 3.7" 2020-08-03 22:07:36 -04:00
nhmall 0e2555881a Merge branch 'NetHack-3.6.0' 2018-04-25 18:15:49 -04:00
keni 0f58af6f37 add missing copyright info 2018-04-25 16:54:50 -04:00
keni 09502df9f1 force expand unexpanded substitution variables 2018-04-25 15:36:11 -04:00
keni 6afb3ead34 Merge remote-tracking branch 'origin/NetHack-3.6.0' 2018-03-10 19:14:11 -05:00
PatR f026e37573 last gitinfo bit?
If dat/gitinfo.txt is being created from scratch, say so instead of
saying "updated".
2018-03-10 12:55:28 -08:00
PatR 03da0190fb nhversioning update
Update dat/gitinfo.txt if the current branch is different from the
one recorded in the file, not just when the commit hash is different.

Make the usual output less verbose so that it fits within 80 columns.
2018-03-06 17:16:49 -08:00
PatR 62cf7d11bf remove .NHgithook.pm.swp 2018-03-06 17:08:18 -08:00
keni cf9cf038f3 gitinfo.pl: special case code to allow running it from $TOP or DEVEL without
installing the hooks first
NHgithook.pm: add some warnings if nhversioning can't open files
make sure nhversioning fails before opening gitinfo.txt if it can't get valid
 data
2018-02-23 19:50:15 -05:00
nhmall 65655d2cee Incorporate some git information into NetHack
Incorporate some git information into NetHack so that it
is potentially visible to a player. That's useful when
collecting details about the version that they are
running and, if the gitinfo is present, it can tie the
code to a specific git commit in the repository.

This modifies 'makedefs -v' to check for the presence of a data file
called dat/gitinfo.txt and if it is there, parse out its
contents, then write additional lines to include/date.h beyond
what 'makedefs -v' was previously putting in there, similar to
this sample:

      #define NETHACK_GIT_SHA "0c84e564c78e2024e562d39539376ce2e21eec8e"
      #define NETHACK_GIT_BRANCH "NetHack-3.6.0"

The contents of an appropriate dat/gitinfo.txt are as follows,
and trailing/leading whitespace is not significant:

      githash = 0c84e564c78e2024e562d39539376ce2e21eec8e
      gitbranch = NetHack-3.6.0

It also adjusts the contents of the 'v' version information to
include the additional git info when available.

Also adds some hooks DEVEL/hooksdir and a perl file to DEVEL
for simplifying and automating the deposit of dat/gitinfo.txt
so that it generally reflects the most current git commit.

DEVEL/gitinfo.pl can be used to build dat/gitinfo.txt at any
time without doing a commit, merge, or checkout.
    	perl DEVEL/gitinfo.pl

command line --version and -version support

To complement the extra information being provided in the
version by the 'v' command, this also adds support for the
following new command line arguments:
    --version
     -version            Output the NetHack version string then exit.

    --version:paste      Output the NetHack version string and also copy it to
     -version:paste      the platform's paste buffer for insertion somewhere,
                         then exit.

If the paste variation of -version is requested on a platform that
hasn't incorporated any support for the capability, it will deliver
the version info then an error message, prior to exiting.

To support the extended -version:paste variation, a port needs to:
    - provide a port-specific routine to perform
      the paste buffer copy in a port code file.
    - #define RUNTIME_PASTEBUF_SUPPORT in the include/portconf.h header file.

    --skeleton--
    void port_insert_pastebuf(buf)
    char *buf;
    {
    	/* insert code to copy the version info from buf into
    	   platform's paste buffer in a supported way */
    }

macosx and Windows have both added support for RUNTIME_PASTEBUF_SUPPORT
2018-02-23 19:34:44 -05:00
keni 6aa594b8d0 Merge remote-tracking branch 'origin/NetHack-3.6.0' 2018-02-20 10:09:57 -05:00
keni 12530cb155 infrastructure fixes:
- fix bug in git hooks that loses file permissions when doing variable expansion
- fix execute permissions on sys/unix/hints/macosx.sh
- explicitly call out perl as required for hooks in Developer.txt
2018-02-16 12:07:37 -05:00
nhmall 9728616a21 fix branch placement of change 2018-01-26 08:06:23 -05:00
nhmall fec245dba2 Only update dat/gitinfo.txt if the hash is new 2018-01-26 08:01:03 -05:00
keni bac337fed6 fix spelling error 2018-01-06 16:31:24 -05:00
Sean Hunt 8c0c587fd7 Restore lost executable bits. 2015-05-06 23:23:48 -04:00
karnov 2a907f894e Version number increment 2015-05-06 22:04:27 -04:00
keni 7823322556 nhsub: add -m flag for fixing commit dates 2015-04-30 22:00:19 -04:00
keni 4e45cf3e7f nhsub: handle git add/commit options that take an argument 2015-04-13 19:32:51 -04:00
keni ed631c51fa nhsub docs and fixes 2015-04-08 10:31:49 -04:00
keni 5cff7e59aa nhsub: handle some more cases 2015-04-06 17:48:48 -04:00
keni 89b0fd5ca7 nhsub bug fixes 2015-04-04 15:43:58 -04:00
keni 32236f7985 bug fixes for nhsub 2015-04-01 14:40:48 -04:00
keni 8ee2d5976e NHDT substitution version 2.
Re-run nhgitset.pl to install.
"perldoc DEVEL/hooksdir/nhsub" for details.  General docs still to come.
Quick notes:
- "git nhsub" lets you apply substitutions to a file without involving any
  version control.
- When doing nhadd/nhcommit, the working directory WILL reflect the results
  of the substitutions.
Let's see what this breaks.
2015-03-31 09:50:02 -04:00
keni 2ae33fa514 NHsubst bugfixes and hack for whitespace errors. 2015-03-24 18:29:02 -04:00
keni 23f213bc63 Fix NHtext when GIT_DIR is not defined. 2015-03-02 16:32:29 -05:00
keni 774e6c2f6f Switch NHtext from "git branch" to "git symbolic-ref" to avoid corner cases. 2015-03-01 20:26:29 -05:00
keni 91b96e2331 Change NHtext to double the speed of "git checkout" 2015-02-28 17:52:19 -05:00
keni 5dda2afd32 Fix bug: NHtext adds a space to a substitution value.
Add support for debugging from the command line.
2015-02-16 08:53:52 -05:00
keni 34221670bc initial git setup 2015-02-11 19:42:57 -05:00