Commit Graph

19 Commits

Author SHA1 Message Date
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
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
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