Commit Graph

849 Commits

Author SHA1 Message Date
Peter Eisentraut
19e231bbda Improved parallel make support
Replace for loops in makefiles with proper dependencies.  Parallel
make can now span across directories.  Also, make -k and make -q work
properly.

GNU make 3.80 or newer is now required.
2010-11-12 22:15:16 +02:00
Magnus Hagander
cd0e825321 Fix msvc build for localized versions of Visual C++
Look only at the non-localized part of the output from "vcbuild /?",
which is used to determine the version of Visual Studio in use. Different
languages seem to localize different amounts of the string, but we assume
the part "Microsoft Visual C++" won't be modified.
2010-10-17 16:36:54 +02:00
Tom Lane
e77f605d43 Remove excess argument to open(2).
Many compilers don't complain about this, but some do, and it's certainly
wrong.  Back-patch to 8.4 where the error was introduced.

Mark Kirkwood
2010-10-02 18:40:28 -04:00
Andrew Dunstan
f00847dc01 Fix MSVC builds for dummy_seclabel breakage. 2010-09-28 10:00:28 -04:00
Tom Lane
bf429cebd0 Improve git_changelog as per discussion with Robert Haas.
1. Resurrect the behavior where old commits on master will have Branch:
labels for branches sprouted after the commit was made.  I'm still
dubious about this mode, but if you want it, say --post-date or -p.

2. Annotate the Branch: labels with the release or branch in which the
commit was publicly released.  For example, on a release branch you could
see
Branch: REL8_3_STABLE Release: REL8_3_2 [92c3a8004] 2008-03-29 00:15:37 +0000
showing that the fix was released in 8.3.2.  Commits on master will
usually instead have notes like
Branch: master Release: REL8_4_BR [6fc9d4272] 2008-03-29 00:15:28 +0000
showing that this commit is ancestral to release branches 8.4 and later.
If no Release: marker appears, the commit hasn't yet made it into any
release.

3. Add support for release branches older than 7.4.

4. The implementation is improved by running git log on each branch only
back to where the branch sprouts from master.  This saves a good deal
of time (about 50% of the runtime when generating the complete history).
We generate the post-date-mode tags via a direct understanding that
they should be applied to master commits made before the branch sprouted,
rather than backing into them via matching (which isn't any too
reliable when people used identical log messages for successive commits).
2010-09-26 20:22:17 -04:00
Tom Lane
899beb7894 Still more tweaking of git_changelog.
1. Don't assume there's only one candidate match; check them all and use the
one with the closest timestamp.  Avoids funny output when someone makes
several successive commits with the same log message, as certain people
have been known to do.

2. When the same commit (with the same SHA1) is reachable from multiple
branch tips, don't report it for all the branches; instead report it only
for the first such branch.  Given our development practices, this case
arises only for commits that occurred before a given branch split off from
master.  The original coding blamed old commits on *all* the branches,
which isn't terribly useful; the new coding blames such a commit only on
master.
2010-09-26 01:51:20 -04:00
Tom Lane
30d2e10058 Fix some more bugs in git_changelog.
1. Don't forget the last (oldest) commit on the oldest branch.

2. When considering which commit to print next, if two alternatives have
the same "distortion" score (which is actually the normal case, since
generally the "distortion" is 0), then choose the later timestamp to
print first.  I don't know where Robert got the idea to ignore timestamps
and sort by branch age, but it wasn't a good idea: the resulting ordering
of commits was just plain bizarre anywhere that some branches had many
fewer commits than others, which is the typical situation for us.
2010-09-26 00:21:51 -04:00
Tom Lane
901a5a786f Minor improvements to git_changelog.
Avoid depending on Date::Calc, which isn't in a basic Perl installation,
when we can equally well use Time::Local which is.  Also fix the parsing
of timestamps to take heed of the timezone.  (It looks like cvs2git emitted
all commit timestamps with zone GMT, so this refinement might've looked
unnecessary when looking at converted data; but it's needed now.)

Fix parsing of message bodies so that blank lines that may or may not get
emitted by "git log" aren't confused with real data.  This avoids strange
formatting of the oldest commit on a branch.

Check child-process exit status, so that we actually notice if "git log"
fails, and so that we don't accumulate zombie children.
2010-09-25 20:50:57 -04:00
Tom Lane
ce1dcd468f Rename git_topo_order -> git_changelog, per discussion. 2010-09-25 19:31:26 -04:00
Tom Lane
651377933e Fix remaining stray references to CVS.
These are just cosmetic and don't seem worth back-patching far.
I put them into 9.0 just because it was trivial to do so.
2010-09-22 19:51:39 -04:00
Tom Lane
38d78b0f41 pgcvslog isn't useful anymore, either.
See git_topo_order instead.
2010-09-21 17:45:55 -04:00
Tom Lane
7dcc4e75d5 add_cvs_markers isn't useful anymore. 2010-09-21 17:40:24 -04:00
Robert Haas
8f00f73dc2 Remove various mentions of CVS from src/tools/RELEASE_CHANGES. 2010-09-21 06:59:30 -04:00
Robert Haas
1b984d43e5 git_topo_order script, to match up commits across branches.
This script is intended to substitute for cvs2cl in generating release
notes and scrutinizing what got back-patched to which branches.

Script by me.  Support for --since by Alex Hunsaker.
2010-09-21 06:58:42 -04:00
Magnus Hagander
9f2e211386 Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
Heikki Linnakangas
2746e5f21d Introduce latches. A latch is a boolean variable, with the capability to
wait until it is set. Latches can be used to reliably wait until a signal
arrives, which is hard otherwise because signals don't interrupt select()
on some platforms, and even when they do, there's race conditions.

On Unix, latches use the so called self-pipe trick under the covers to
implement the sleep until the latch is set, without race conditions. On
Windows, Windows events are used.

Use the new latch abstraction to sleep in walsender, so that as soon as
a transaction finishes, walsender is woken up to immediately send the WAL
to the standby. This reduces the latency between master and standby, which
is good.

Preliminary work by Fujii Masao. The latch implementation is by me, with
helpful comments from many people.
2010-09-11 15:48:04 +00:00
Peter Eisentraut
3f11971916 Remove extra newlines at end and beginning of files, add missing newlines
at end of files.
2010-08-19 05:57:36 +00:00
Bruce Momjian
bae8283557 Print each test_fsync description while test is running, rather than at
the end.
2010-07-13 17:00:50 +00:00
Bruce Momjian
5a3489357f Document bump of minor library version numbers. 2010-07-12 16:21:51 +00:00
Tom Lane
b40466c337 Stamp HEAD as 9.1devel.
(And there was much rejoicing.)
2010-07-09 04:10:58 +00:00
Bruce Momjian
9e15b476de Mention why one C file fails pgindent. 2010-07-06 19:26:28 +00:00
Bruce Momjian
239d769e7e pgindent run for 9.0, second run 2010-07-06 19:19:02 +00:00
Bruce Momjian
52783b212c Update pgindent testing instructions. 2010-07-06 19:18:19 +00:00
Tom Lane
291a957745 Split the LDFLAGS make variable into two parts: LDFLAGS is now used for
linking both executables and shared libraries, and we add on LDFLAGS_EX when
linking executables or LDFLAGS_SL when linking shared libraries.  This
provides a significantly cleaner way of dealing with link-time switches than
the former behavior.  Also, make sure that the various platform-specific
%.so: %.o rules incorporate LDFLAGS and LDFLAGS_SL; most of them missed that
before.  (I did not add these variables for the platforms that invoke $(LD)
directly, however.  It's not clear if we can do that safely, since for the
most part we assume these variables use CC command-line syntax.)

Per gripe from Aaron Swenson and subsequent investigation.
2010-07-05 18:54:38 +00:00
Bruce Momjian
2330d9c147 Simplify test_fsync duration computation. 2010-07-04 13:42:51 +00:00
Bruce Momjian
7341a8cab2 Report test_fynsc times in tests per second, instead of total seconds. 2010-07-04 01:50:29 +00:00
Andrew Dunstan
97301ab189 Unbreak MSVC builds by removing copydir.c from list of libpgport files 2010-07-02 23:25:27 +00:00
Andrew Dunstan
540113dc96 Unbreak MSVC builds for pg_archivecleanup by linking with libpgport 2010-06-15 12:48:36 +00:00
Andrew Dunstan
2a73ee59db Fix MSVC builds for recent plperl changes. Go back to version 8.2, which is
where we started supporting MSVC builds.

Security: CVE-2010-1169
2010-05-13 21:33:00 +00:00
Magnus Hagander
12bc72db60 Properly support multi-line entires (such as OBJS=) when building
PROGRAM, not just MODULE, in contrib.
2010-05-13 15:56:22 +00:00
Andrew Dunstan
52d0b49f5e Add missing library and include support for pg_upgrade to MSVC build system. 2010-05-13 13:40:03 +00:00
Robert Haas
33980a0640 Fix various instances of "the the".
Two of these were pointed out by Erik Rijkers; the rest I found.
2010-04-23 23:21:44 +00:00
Magnus Hagander
17056e054e Add script to enumerate the timezones in the Windows registry and compare
it with the list we have in pgtz.c, showing any differences.
2010-04-15 11:00:45 +00:00
Magnus Hagander
93f35f0955 Perltidy run over the MSVC build system files, to clean up code formatting
and indentation styles.
2010-04-09 13:05:58 +00:00
Andrew Dunstan
7004434a46 Exclude unwanted typedef symbols in pgindent, including FD_SET which is found on some Windows platforms. Also, silence unnecessary messages and make awk happier about literal '*' on some platforms. 2010-04-05 03:09:09 +00:00
Andrew Dunstan
799c0d3f65 Use a file of patterns of filenames to exclude from pgindent runs, instead if using multiple invocations of egrep. Add perl ppport.h to the current list. 2010-04-01 14:44:39 +00:00
Michael Meskes
075d44120f Adding special command line option that is now needed for the one ecpg regression test that was changed. 2010-03-21 14:26:58 +00:00
Bruce Momjian
d154a857ba Mention way to get commit details for release notes. 2010-03-18 16:31:12 +00:00
Tom Lane
324505af01 Update oidjoins regression test for 9.0. 2010-03-14 04:17:54 +00:00
Andrew Dunstan
3a8497892c Make iconv work like other optional libraries for MSVC. 2010-03-03 03:29:37 +00:00
Andrew Dunstan
05028cc33f Add missing library and include dir for XSLT in MSVC builds 2010-03-02 22:02:31 +00:00
Andrew Dunstan
4ab911da74 Do not run regression tests for contrib/xml2 on MSVC unless building with XML 2010-03-02 17:06:51 +00:00
Andrew Dunstan
5600aaccbd Add XSLT defines for MSVC builds 2010-03-02 12:29:14 +00:00
Bruce Momjian
4b0f822c77 Suggest gmake installcheck-world for pgindent testing. 2010-02-26 18:00:15 +00:00
Bruce Momjian
2cc6ff45f8 Revert pgindent changes to ecpg include files that are part of ecpg
regession test output, and update pgindent script to avoid them in the
future.
2010-02-26 17:07:55 +00:00
Bruce Momjian
98c356c8ad Wording improvements to README. 2010-02-26 15:57:34 +00:00
Bruce Momjian
55d1402f61 Update pgindent docs to use maintainer-clean. 2010-02-26 15:42:36 +00:00
Bruce Momjian
e0d4b9c66f Document why pgindent wants a fresh CVS checkout. 2010-02-26 13:50:34 +00:00
Bruce Momjian
637611585b Call output file typedefs.list; update README. 2010-02-26 02:58:49 +00:00
Bruce Momjian
4f96ddd1d3 Update pgindent instructions. 2010-02-26 02:11:52 +00:00