gawk-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SCM] gawk branch, gawk-5.3-stable, updated. gawk-4.1.0-5596-geec94593


From: Arnold Robbins
Subject: [SCM] gawk branch, gawk-5.3-stable, updated. gawk-4.1.0-5596-geec94593
Date: Tue, 21 Jan 2025 03:20:09 -0500 (EST)

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gawk".

The branch, gawk-5.3-stable has been updated
       via  eec94593bd90134b753338f752c04892a6276a8e (commit)
      from  7529977053f26a26582a359758a39fc4023e4adb (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://git.sv.gnu.org/cgit/gawk.git/commit/?id=eec94593bd90134b753338f752c04892a6276a8e

commit eec94593bd90134b753338f752c04892a6276a8e
Author: Arnold D. Robbins <arnold@skeeve.com>
Date:   Tue Jan 21 10:19:45 2025 +0200

    Doc update on PMA and ASLR.

diff --git a/doc/ChangeLog b/doc/ChangeLog
index a2bbe02d..ac412d55 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,9 @@
+2025-01-21         Arnold D. Robbins     <arnold@skeeve.com>
+
+       * gawk.texi (Persistent Memory): Note that if a Linux system
+       uses ASLR, it can be worked around with setarch -R. Thanks
+       to Terence Kelly for the info.
+
 2025-01-10         Arnold D. Robbins     <arnold@skeeve.com>
 
        * gawk.texi (UPDATE-MONTH): Update.
diff --git a/doc/gawk.info b/doc/gawk.info
index fe607f92..e6bab6c1 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -22686,7 +22686,7 @@ File: gawk.info,  Node: Persistent Memory,  Next: 
Extension Philosophy,  Prev: P
 =================================
 
 Starting with version 5.2, ‘gawk’ supports “persistent memory”.  This
-experimental feature stores the values of all of ‘gawk’'s variables,
+_experimental_ feature stores the values of all of ‘gawk’'s variables,
 arrays and user-defined functions in a persistent heap, which resides in
 a file in the filesystem.  When persistent memory is not in use (the
 normal case), ‘gawk’'s data resides in ephemeral system memory.
@@ -22793,6 +22793,15 @@ the different verbosity levels are.
    • The GNU/Linux CIFS filesystem is known to not work well with the
      PMA allocator.  Don't use a backing file on a CIFS filesystem.
 
+   • Some GNU/Linux distributions enable Address Space Layout
+     Randomization (ASLR) by default.  This breaks ‘gawk’'s use of the
+     PMA allocator.  You can work around this using ‘setarch -R gawk
+     ...’ to run ‘gawk’; this disables ASLR for the particular execution
+     of ‘gawk’.  If ASLR is the default on your system, and you want to
+     use persistent memory, you may wish to set up a shell alias, shell
+     function, or shell script to run ‘gawk’ by way of the ‘setarch’
+     command.
+
    • If ‘gawk’ is run by the ‘root’ user, then persistent memory is 
not
      allowed.  This is to avoid the possibility of private data
      "leaking" into the backing file and being recovered later by an
@@ -38553,7 +38562,7 @@ Index
 * Kahrs, Jürgen <1>:                     Contributors.        (line  71)
 * Kasal, Stepan:                         Acknowledgments.     (line  60)
 * Kelly, Terence:                        Persistent Memory.   (line  76)
-* Kelly, Terence <1>:                    Persistent Memory.   (line 138)
+* Kelly, Terence <1>:                    Persistent Memory.   (line 147)
 * Kelly, Terence <2>:                    Feature History.     (line 510)
 * Kenobi, Obi-Wan:                       Undocumented.        (line   6)
 * Kernighan, Brian:                      History.             (line  21)
@@ -40395,245 +40404,245 @@ Ref: Two-way I/O-Footnote-2937807
 Node: TCP/IP Networking937889
 Node: Profiling941057
 Node: Persistent Memory950727
-Ref: Persistent Memory-Footnote-1960299
-Node: Extension Philosophy960430
-Node: Advanced Features Summary961957
-Node: Internationalization964223
-Node: I18N and L10N965925
-Node: Explaining gettext966620
-Ref: Explaining gettext-Footnote-1972756
-Ref: Explaining gettext-Footnote-2972949
-Node: Programmer i18n973114
-Ref: Programmer i18n-Footnote-1978226
-Node: Translator i18n978275
-Node: String Extraction979105
-Ref: String Extraction-Footnote-1980281
-Node: Printf Ordering980379
-Ref: Printf Ordering-Footnote-1983237
-Node: I18N Portability983305
-Ref: I18N Portability-Footnote-1985865
-Node: I18N Example985932
-Ref: I18N Example-Footnote-1989326
-Ref: I18N Example-Footnote-2989399
-Node: Gawk I18N989516
-Node: I18N Summary990170
-Node: Debugger991567
-Node: Debugging992587
-Node: Debugging Concepts993036
-Node: Debugging Terms994853
-Node: Awk Debugging997456
-Ref: Awk Debugging-Footnote-1998429
-Node: Sample Debugging Session998565
-Node: Debugger Invocation999115
-Node: Finding The Bug1000740
-Node: List of Debugger Commands1007372
-Node: Breakpoint Control1008749
-Node: Debugger Execution Control1012571
-Node: Viewing And Changing Data1016045
-Node: Execution Stack1019779
-Node: Debugger Info1021460
-Node: Miscellaneous Debugger Commands1025755
-Node: Readline Support1030996
-Node: Limitations1031934
-Node: Debugging Summary1034558
-Node: Namespaces1035857
-Node: Global Namespace1036984
-Node: Qualified Names1038418
-Node: Default Namespace1039453
-Node: Changing The Namespace1040226
-Node: Naming Rules1041908
-Node: Internal Name Management1043863
-Node: Namespace Example1044933
-Node: Namespace And Features1047510
-Node: Namespace Summary1048965
-Node: Arbitrary Precision Arithmetic1050476
-Node: Computer Arithmetic1051995
-Ref: table-numeric-ranges1055920
-Ref: table-floating-point-ranges1056417
-Ref: Computer Arithmetic-Footnote-11057075
-Node: Math Definitions1057132
-Ref: table-ieee-formats1060164
-Node: MPFR features1060737
-Node: MPFR On Parole1061190
-Ref: MPFR On Parole-Footnote-11062031
-Node: MPFR Intro1062190
-Node: FP Math Caution1063875
-Ref: FP Math Caution-Footnote-11064947
-Node: Inexactness of computations1065321
-Node: Inexact representation1066352
-Node: Comparing FP Values1067733
-Node: Errors accumulate1068991
-Node: Strange values1070456
-Ref: Strange values-Footnote-11073110
-Node: Getting Accuracy1073215
-Node: Try To Round1075952
-Node: Setting precision1076859
-Ref: table-predefined-precision-strings1077564
-Node: Setting the rounding mode1079448
-Ref: table-gawk-rounding-modes1079830
-Ref: Setting the rounding mode-Footnote-11083882
-Node: Arbitrary Precision Integers1084067
-Ref: Arbitrary Precision Integers-Footnote-11087277
-Node: Checking for MPFR1087431
-Node: POSIX Floating Point Problems1088921
-Ref: POSIX Floating Point Problems-Footnote-11093741
-Node: Floating point summary1093779
-Node: Dynamic Extensions1096035
-Node: Extension Intro1097632
-Node: Plugin License1098934
-Node: Extension Mechanism Outline1099747
-Ref: figure-load-extension1100198
-Ref: figure-register-new-function1101776
-Ref: figure-call-new-function1102885
-Node: Extension API Description1105000
-Node: Extension API Functions Introduction1106729
-Ref: table-api-std-headers1108623
-Node: General Data Types1113064
-Ref: General Data Types-Footnote-11122210
-Node: Memory Allocation Functions1122513
-Ref: Memory Allocation Functions-Footnote-11127228
-Node: Constructor Functions1127327
-Node: API Ownership of MPFR and GMP Values1131228
-Node: Registration Functions1132781
-Node: Extension Functions1133485
-Node: Exit Callback Functions1139059
-Node: Extension Version String1140373
-Node: Input Parsers1141068
-Node: Output Wrappers1155687
-Node: Two-way processors1160529
-Node: Printing Messages1162882
-Ref: Printing Messages-Footnote-11164093
-Node: Updating ERRNO1164246
-Node: Requesting Values1165045
-Ref: table-value-types-returned1165798
-Node: Accessing Parameters1167857
-Node: Symbol Table Access1169138
-Node: Symbol table by name1169650
-Ref: Symbol table by name-Footnote-11172851
-Node: Symbol table by cookie1172983
-Ref: Symbol table by cookie-Footnote-11177252
-Node: Cached values1177316
-Ref: Cached values-Footnote-11180948
-Node: Array Manipulation1181105
-Ref: Array Manipulation-Footnote-11182204
-Node: Array Data Types1182241
-Ref: Array Data Types-Footnote-11185059
-Node: Array Functions1185155
-Node: Flattening Arrays1190184
-Node: Creating Arrays1197232
-Node: Redirection API1202074
-Node: Extension API Variables1205091
-Node: Extension Versioning1205814
-Ref: gawk-api-version1206243
-Node: Extension GMP/MPFR Versioning1208030
-Node: Extension API Informational Variables1209734
-Node: Extension API Boilerplate1210987
-Node: Changes from API V11215117
-Node: Finding Extensions1216749
-Node: Extension Example1217324
-Node: Internal File Description1218146
-Node: Internal File Ops1222438
-Ref: Internal File Ops-Footnote-11233988
-Node: Using Internal File Ops1234136
-Ref: Using Internal File Ops-Footnote-11236569
-Node: Extension Samples1236847
-Node: Extension Sample File Functions1238416
-Node: Extension Sample Fnmatch1246541
-Node: Extension Sample Fork1248136
-Node: Extension Sample Inplace1249412
-Node: Extension Sample Ord1253514
-Node: Extension Sample Readdir1254390
-Ref: table-readdir-file-types1255179
-Node: Extension Sample Revout1256535
-Node: Extension Sample Rev2way1257132
-Node: Extension Sample Read write array1257884
-Node: Extension Sample Readfile1261158
-Node: Extension Sample Time1262289
-Node: Extension Sample API Tests1264289
-Node: gawkextlib1264797
-Node: Extension summary1267830
-Node: Extension Exercises1271678
-Node: Language History1272948
-Node: V7/SVR3.11274660
-Node: SVR41277010
-Node: POSIX1278542
-Node: BTL1279967
-Node: POSIX/GNU1280734
-Ref: Gawk Extension Functions1284124
-Node: Feature History1287548
-Node: Common Extensions1307450
-Node: Ranges and Locales1308925
-Ref: Ranges and Locales-Footnote-11313710
-Ref: Ranges and Locales-Footnote-21313737
-Ref: Ranges and Locales-Footnote-31313972
-Node: Contributors1314195
-Node: History summary1320547
-Node: Installation1321989
-Node: Gawk Distribution1322953
-Node: Getting1323445
-Node: Extracting1324444
-Node: Distribution contents1326150
-Node: Unix Installation1334040
-Node: Quick Installation1334860
-Node: Compiling with MPFR1337400
-Node: Shell Startup Files1338106
-Node: Additional Configuration Options1339263
-Node: Configuration Philosophy1341646
-Node: Compiling from Git1344146
-Node: Building the Documentation1344707
-Node: Non-Unix Installation1346119
-Node: PC Installation1346595
-Node: PC Binary Installation1347464
-Node: PC Compiling1348357
-Node: PC Using1349535
-Node: Cygwin1353251
-Node: MSYS1354504
-Node: OpenVMS Installation1355130
-Node: OpenVMS Compilation1355811
-Ref: OpenVMS Compilation-Footnote-11357294
-Node: OpenVMS Dynamic Extensions1357352
-Node: OpenVMS Installation Details1358988
-Node: OpenVMS Running1361419
-Node: OpenVMS GNV1365556
-Node: Bugs1366311
-Node: Bug definition1367231
-Node: Bug address1370833
-Node: Usenet1374402
-Node: Performance bugs1375615
-Node: Asking for help1378619
-Node: Maintainers1380606
-Node: Other Versions1381633
-Node: Installation summary1391701
-Node: Notes1393083
-Node: Compatibility Mode1393893
-Node: Additions1394715
-Node: Accessing The Source1395660
-Node: Adding Code1397193
-Node: New Ports1404304
-Node: Derived Files1408807
-Ref: Derived Files-Footnote-11414618
-Ref: Derived Files-Footnote-21414653
-Ref: Derived Files-Footnote-31415264
-Node: Future Extensions1415378
-Node: Implementation Limitations1416048
-Node: Extension Design1417290
-Node: Old Extension Problems1418450
-Ref: Old Extension Problems-Footnote-11420022
-Node: Extension New Mechanism Goals1420083
-Ref: Extension New Mechanism Goals-Footnote-11423553
-Node: Extension Other Design Decisions1423754
-Node: Extension Future Growth1425951
-Node: Notes summary1426571
-Node: Basic Concepts1427781
-Node: Basic High Level1428466
-Ref: figure-general-flow1428748
-Ref: figure-process-flow1429450
-Ref: Basic High Level-Footnote-11432820
-Node: Basic Data Typing1433009
-Node: Glossary1436417
-Node: Copying1469299
-Node: GNU Free Documentation License1506857
-Node: Index1531980
+Ref: Persistent Memory-Footnote-1960830
+Node: Extension Philosophy960961
+Node: Advanced Features Summary962488
+Node: Internationalization964754
+Node: I18N and L10N966456
+Node: Explaining gettext967151
+Ref: Explaining gettext-Footnote-1973287
+Ref: Explaining gettext-Footnote-2973480
+Node: Programmer i18n973645
+Ref: Programmer i18n-Footnote-1978757
+Node: Translator i18n978806
+Node: String Extraction979636
+Ref: String Extraction-Footnote-1980812
+Node: Printf Ordering980910
+Ref: Printf Ordering-Footnote-1983768
+Node: I18N Portability983836
+Ref: I18N Portability-Footnote-1986396
+Node: I18N Example986463
+Ref: I18N Example-Footnote-1989857
+Ref: I18N Example-Footnote-2989930
+Node: Gawk I18N990047
+Node: I18N Summary990701
+Node: Debugger992098
+Node: Debugging993118
+Node: Debugging Concepts993567
+Node: Debugging Terms995384
+Node: Awk Debugging997987
+Ref: Awk Debugging-Footnote-1998960
+Node: Sample Debugging Session999096
+Node: Debugger Invocation999646
+Node: Finding The Bug1001271
+Node: List of Debugger Commands1007903
+Node: Breakpoint Control1009280
+Node: Debugger Execution Control1013102
+Node: Viewing And Changing Data1016576
+Node: Execution Stack1020310
+Node: Debugger Info1021991
+Node: Miscellaneous Debugger Commands1026286
+Node: Readline Support1031527
+Node: Limitations1032465
+Node: Debugging Summary1035089
+Node: Namespaces1036388
+Node: Global Namespace1037515
+Node: Qualified Names1038949
+Node: Default Namespace1039984
+Node: Changing The Namespace1040757
+Node: Naming Rules1042439
+Node: Internal Name Management1044394
+Node: Namespace Example1045464
+Node: Namespace And Features1048041
+Node: Namespace Summary1049496
+Node: Arbitrary Precision Arithmetic1051007
+Node: Computer Arithmetic1052526
+Ref: table-numeric-ranges1056451
+Ref: table-floating-point-ranges1056948
+Ref: Computer Arithmetic-Footnote-11057606
+Node: Math Definitions1057663
+Ref: table-ieee-formats1060695
+Node: MPFR features1061268
+Node: MPFR On Parole1061721
+Ref: MPFR On Parole-Footnote-11062562
+Node: MPFR Intro1062721
+Node: FP Math Caution1064406
+Ref: FP Math Caution-Footnote-11065478
+Node: Inexactness of computations1065852
+Node: Inexact representation1066883
+Node: Comparing FP Values1068264
+Node: Errors accumulate1069522
+Node: Strange values1070987
+Ref: Strange values-Footnote-11073641
+Node: Getting Accuracy1073746
+Node: Try To Round1076483
+Node: Setting precision1077390
+Ref: table-predefined-precision-strings1078095
+Node: Setting the rounding mode1079979
+Ref: table-gawk-rounding-modes1080361
+Ref: Setting the rounding mode-Footnote-11084413
+Node: Arbitrary Precision Integers1084598
+Ref: Arbitrary Precision Integers-Footnote-11087808
+Node: Checking for MPFR1087962
+Node: POSIX Floating Point Problems1089452
+Ref: POSIX Floating Point Problems-Footnote-11094272
+Node: Floating point summary1094310
+Node: Dynamic Extensions1096566
+Node: Extension Intro1098163
+Node: Plugin License1099465
+Node: Extension Mechanism Outline1100278
+Ref: figure-load-extension1100729
+Ref: figure-register-new-function1102307
+Ref: figure-call-new-function1103416
+Node: Extension API Description1105531
+Node: Extension API Functions Introduction1107260
+Ref: table-api-std-headers1109154
+Node: General Data Types1113595
+Ref: General Data Types-Footnote-11122741
+Node: Memory Allocation Functions1123044
+Ref: Memory Allocation Functions-Footnote-11127759
+Node: Constructor Functions1127858
+Node: API Ownership of MPFR and GMP Values1131759
+Node: Registration Functions1133312
+Node: Extension Functions1134016
+Node: Exit Callback Functions1139590
+Node: Extension Version String1140904
+Node: Input Parsers1141599
+Node: Output Wrappers1156218
+Node: Two-way processors1161060
+Node: Printing Messages1163413
+Ref: Printing Messages-Footnote-11164624
+Node: Updating ERRNO1164777
+Node: Requesting Values1165576
+Ref: table-value-types-returned1166329
+Node: Accessing Parameters1168388
+Node: Symbol Table Access1169669
+Node: Symbol table by name1170181
+Ref: Symbol table by name-Footnote-11173382
+Node: Symbol table by cookie1173514
+Ref: Symbol table by cookie-Footnote-11177783
+Node: Cached values1177847
+Ref: Cached values-Footnote-11181479
+Node: Array Manipulation1181636
+Ref: Array Manipulation-Footnote-11182735
+Node: Array Data Types1182772
+Ref: Array Data Types-Footnote-11185590
+Node: Array Functions1185686
+Node: Flattening Arrays1190715
+Node: Creating Arrays1197763
+Node: Redirection API1202605
+Node: Extension API Variables1205622
+Node: Extension Versioning1206345
+Ref: gawk-api-version1206774
+Node: Extension GMP/MPFR Versioning1208561
+Node: Extension API Informational Variables1210265
+Node: Extension API Boilerplate1211518
+Node: Changes from API V11215648
+Node: Finding Extensions1217280
+Node: Extension Example1217855
+Node: Internal File Description1218677
+Node: Internal File Ops1222969
+Ref: Internal File Ops-Footnote-11234519
+Node: Using Internal File Ops1234667
+Ref: Using Internal File Ops-Footnote-11237100
+Node: Extension Samples1237378
+Node: Extension Sample File Functions1238947
+Node: Extension Sample Fnmatch1247072
+Node: Extension Sample Fork1248667
+Node: Extension Sample Inplace1249943
+Node: Extension Sample Ord1254045
+Node: Extension Sample Readdir1254921
+Ref: table-readdir-file-types1255710
+Node: Extension Sample Revout1257066
+Node: Extension Sample Rev2way1257663
+Node: Extension Sample Read write array1258415
+Node: Extension Sample Readfile1261689
+Node: Extension Sample Time1262820
+Node: Extension Sample API Tests1264820
+Node: gawkextlib1265328
+Node: Extension summary1268361
+Node: Extension Exercises1272209
+Node: Language History1273479
+Node: V7/SVR3.11275191
+Node: SVR41277541
+Node: POSIX1279073
+Node: BTL1280498
+Node: POSIX/GNU1281265
+Ref: Gawk Extension Functions1284655
+Node: Feature History1288079
+Node: Common Extensions1307981
+Node: Ranges and Locales1309456
+Ref: Ranges and Locales-Footnote-11314241
+Ref: Ranges and Locales-Footnote-21314268
+Ref: Ranges and Locales-Footnote-31314503
+Node: Contributors1314726
+Node: History summary1321078
+Node: Installation1322520
+Node: Gawk Distribution1323484
+Node: Getting1323976
+Node: Extracting1324975
+Node: Distribution contents1326681
+Node: Unix Installation1334571
+Node: Quick Installation1335391
+Node: Compiling with MPFR1337931
+Node: Shell Startup Files1338637
+Node: Additional Configuration Options1339794
+Node: Configuration Philosophy1342177
+Node: Compiling from Git1344677
+Node: Building the Documentation1345238
+Node: Non-Unix Installation1346650
+Node: PC Installation1347126
+Node: PC Binary Installation1347995
+Node: PC Compiling1348888
+Node: PC Using1350066
+Node: Cygwin1353782
+Node: MSYS1355035
+Node: OpenVMS Installation1355661
+Node: OpenVMS Compilation1356342
+Ref: OpenVMS Compilation-Footnote-11357825
+Node: OpenVMS Dynamic Extensions1357883
+Node: OpenVMS Installation Details1359519
+Node: OpenVMS Running1361950
+Node: OpenVMS GNV1366087
+Node: Bugs1366842
+Node: Bug definition1367762
+Node: Bug address1371364
+Node: Usenet1374933
+Node: Performance bugs1376146
+Node: Asking for help1379150
+Node: Maintainers1381137
+Node: Other Versions1382164
+Node: Installation summary1392232
+Node: Notes1393614
+Node: Compatibility Mode1394424
+Node: Additions1395246
+Node: Accessing The Source1396191
+Node: Adding Code1397724
+Node: New Ports1404835
+Node: Derived Files1409338
+Ref: Derived Files-Footnote-11415149
+Ref: Derived Files-Footnote-21415184
+Ref: Derived Files-Footnote-31415795
+Node: Future Extensions1415909
+Node: Implementation Limitations1416579
+Node: Extension Design1417821
+Node: Old Extension Problems1418981
+Ref: Old Extension Problems-Footnote-11420553
+Node: Extension New Mechanism Goals1420614
+Ref: Extension New Mechanism Goals-Footnote-11424084
+Node: Extension Other Design Decisions1424285
+Node: Extension Future Growth1426482
+Node: Notes summary1427102
+Node: Basic Concepts1428312
+Node: Basic High Level1428997
+Ref: figure-general-flow1429279
+Ref: figure-process-flow1429981
+Ref: Basic High Level-Footnote-11433351
+Node: Basic Data Typing1433540
+Node: Glossary1436948
+Node: Copying1469830
+Node: GNU Free Documentation License1507388
+Node: Index1532511
 
 End Tag Table
 
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 1a0c49e1..c006ad9e 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -30673,7 +30673,7 @@ code, it will appear that way in the output.
 @cindex persistent memory
 @cindex PMA memory allocator
 Starting with version 5.2, @command{gawk} supports
-@dfn{persistent memory}.  This experimental feature stores the values of
+@dfn{persistent memory}.  This @emph{experimental} feature stores the values of
 all of @command{gawk}'s variables, arrays and user-defined functions
 in a persistent heap, which resides in a file in
 the filesystem.  When persistent memory is not in use (the normal case),
@@ -30823,6 +30823,16 @@ The GNU/Linux CIFS filesystem is known to not
 work well with the PMA allocator.
 Don't use a backing file on a CIFS filesystem.
 
+@item
+Some GNU/Linux distributions enable Address Space Layout Randomization
+(ASLR) by default.  This breaks @command{gawk}'s use of the PMA allocator.
+You can work around this using @samp{setarch -R gawk @dots{}} to run
+@command{gawk}; this disables ASLR for the particular execution of
+@command{gawk}. If ASLR is the default on your system, and you want to use
+persistent memory, you may wish to set up a shell alias, shell function,
+or shell script to run @command{gawk} by way of the @command{setarch}
+command.
+
 @item
 If @command{gawk} is run by the @command{root} user, then
 persistent memory is not allowed. This is to avoid the possibility

-----------------------------------------------------------------------

Summary of changes:
 doc/ChangeLog |   6 +
 doc/gawk.info | 491 ++++++++++++++++++++++++++++++----------------------------
 doc/gawk.texi |  12 +-
 3 files changed, 267 insertions(+), 242 deletions(-)


hooks/post-receive
-- 
gawk



reply via email to

[Prev in Thread] Current Thread [Next in Thread]