Re: x.y.z numbering and releases

2006-01-18 Thread Justin Erenkrantz
On Wed, Jan 18, 2006 at 09:45:54PM -0700, Martin Sebor wrote:
> However, I believe that the issue can be just as effectively
> dealt with by implementing the -rcN (or similar) suffix policy
> that Bill mentioned in his first post, with the additional
> (and IMO essential) advantage of preserving the well-established
> meaning of the version number grounded in precisely defined
> technical criteria.

It's still just as precisely defined technically (go look at APR's
versioning guidelines[1]).  The real point of a release is whether we (as a
PMC) 'bless' it by saying it passes all of the standard Apache release
procedures.

The real problem you have with rc sequences is that you end up having to
vote twice for a release as you need to change the tarballs to go from an
rc to a final release.  It's almost never worth the hassle, IMHO.  -- justin

1. http://apr.apache.org/versioning.html


Re: x.y.z numbering and releases

2006-01-18 Thread William A. Rowe, Jr.

Martin Sebor wrote:

Justin Erenkrantz wrote:

--On January 18, 2006 5:30:04 PM -0700 Martin Sebor 
<[EMAIL PROTECTED]> wrote:



I don't think of the name of a file mentioned in emails as a release,
least of all when it refers to a transient file in someone's home
directory. Similarly, I don't consider an SVN branch to be an actual
release, even if its contents were identical to it. With this mindset
I can only see one potential effect of skipping versions on users --
that of confusion.


One of the problems in working in open-source projects is that 
everyone can see the release immediately.  Therefore, we don't have 
the ability to 'take' a release back - once you tag it or announce it 
in any public forum, it's gone.  By enforcing a 'cheap' version number 
policy, we remove any confusion: were they using the '1.2.3' release 
from Jan 10 or was that the '1.2.3' release from Jan 15?  Instead, we 
make it crystal clear what the release was by only allowing that 
version to be used once.  -- justin


I understand the motivation behind the policy and fully support
the goal of preventing the problem it is designed to address.

However, I believe that the issue can be just as effectively
dealt with by implementing the -rcN (or similar) suffix policy
that Bill mentioned in his first post, with the additional
(and IMO essential) advantage of preserving the well-established
meaning of the version number grounded in precisely defined
technical criteria.


I agree with Martin -if- the SVN tag is also designated tags/1.2.3-rcN
until it's voted in, and then copied or renamed to tags/1.2.3 upon release.


Re: x.y.z numbering and releases

2006-01-18 Thread Martin Sebor

Justin Erenkrantz wrote:
--On January 18, 2006 5:30:04 PM -0700 Martin Sebor 
<[EMAIL PROTECTED]> wrote:



I don't think of the name of a file mentioned in emails as a release,
least of all when it refers to a transient file in someone's home
directory. Similarly, I don't consider an SVN branch to be an actual
release, even if its contents were identical to it. With this mindset
I can only see one potential effect of skipping versions on users --
that of confusion.



One of the problems in working in open-source projects is that everyone 
can see the release immediately.  Therefore, we don't have the ability 
to 'take' a release back - once you tag it or announce it in any public 
forum, it's gone.  By enforcing a 'cheap' version number policy, we 
remove any confusion: were they using the '1.2.3' release from Jan 10 or 
was that the '1.2.3' release from Jan 15?  Instead, we make it crystal 
clear what the release was by only allowing that version to be used 
once.  -- justin


I understand the motivation behind the policy and fully support
the goal of preventing the problem it is designed to address.

However, I believe that the issue can be just as effectively
dealt with by implementing the -rcN (or similar) suffix policy
that Bill mentioned in his first post, with the additional
(and IMO essential) advantage of preserving the well-established
meaning of the version number grounded in precisely defined
technical criteria.

Martin



Re: x.y.z numbering and releases

2006-01-18 Thread Justin Erenkrantz
--On January 18, 2006 5:30:04 PM -0700 Martin Sebor <[EMAIL PROTECTED]> 
wrote:



I don't think of the name of a file mentioned in emails as a release,
least of all when it refers to a transient file in someone's home
directory. Similarly, I don't consider an SVN branch to be an actual
release, even if its contents were identical to it. With this mindset
I can only see one potential effect of skipping versions on users --
that of confusion.


One of the problems in working in open-source projects is that everyone can 
see the release immediately.  Therefore, we don't have the ability to 
'take' a release back - once you tag it or announce it in any public forum, 
it's gone.  By enforcing a 'cheap' version number policy, we remove any 
confusion: were they using the '1.2.3' release from Jan 10 or was that the 
'1.2.3' release from Jan 15?  Instead, we make it crystal clear what the 
release was by only allowing that version to be used once.  -- justin


[jira] Closed: (STDCXX-12) publish Class Reference and User Guide on the stdcxx site

2006-01-18 Thread Martin Sebor (JIRA)
 [ http://issues.apache.org/jira/browse/STDCXX-12?page=all ]
 
Martin Sebor closed STDCXX-12:
--

Resolution: Fixed

After some discussion we've finally figured out how to do this -- see:
http://mail-archives.apache.org/mod_mbox/incubator-stdcxx-dev/200601.mbox/[EMAIL
 PROTECTED]

> publish Class Reference and User Guide on the stdcxx site
> -
>
>  Key: STDCXX-12
>  URL: http://issues.apache.org/jira/browse/STDCXX-12
>  Project: STDCXX
> Type: Improvement
>   Components: Web
> Versions: 4.1.2
>  Environment: All
> Reporter: Martin Sebor
> Assignee: Martin Sebor
> Priority: Critical
>  Fix For: 4.1.4

>
> The stdcxx documentation in svn needs to be published in a browsable format 
> on the project Web site. Currently only the sources in svn are viewable.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



Re: x.y.z numbering and releases

2006-01-18 Thread Martin Sebor

William A. Rowe, Jr. wrote:
[...]

The candidate and number are pitched.  We have a mantra,
"version numbers are cheap".


Thanks for the clarification.

[...]

There is typically no
allowance in these rules for making version changes that are not
determined by changes and differences between actual code releases.



Yes, and in fact (unless something went HORRIBLY wrong) the never
released version 1.2.3 enjoys versioning compatibility with 1.2.2
and 1.2.4 per the project's policy.  It just simply never existed.


True. The only snag here is that our existing policy deliberately
prevents this from happening.




[...]

You can argue the converse; treating each and every release as
equally stable doesn't help the user.  Stating 'whoops, 1.2.3 just
wasn't up to par, so we've released 1.2.4 following 1.2.2' gives the
user one reassurance; the bad releases don't make it out the door.


I don't think of the name of a file mentioned in emails as a release,
least of all when it refers to a transient file in someone's home
directory. Similarly, I don't consider an SVN branch to be an actual
release, even if its contents were identical to it. With this mindset
I can only see one potential effect of skipping versions on users --
that of confusion.

That said, if sticking some suffix (such as -rcN) at the end of the
"release candidate" tarball helps dispel even the slightest concern
of mistaking a pre-release tarball for the real thing, I will gladly
support doing so within the stdcxx release policy.

As always, thanks for the feedback!
Martin


Re: x.y.z numbering and releases

2006-01-18 Thread William A. Rowe, Jr.

Martin Sebor wrote:

William A. Rowe, Jr. wrote:


In the httpd project, the RM (release manager) tags a build, with the final
version number.  If that tarball changes after it leaves their hands, and
is in the hands of testers, it's never modified (much) .



I'm not sure this means that the httpd version of the new tarball
stays the same or not if the old tarball fails to get an approval.


The candidate and number are pitched.  We have a mantra,
"version numbers are cheap".


and 2) know what bugs people are pointing at.
If there are several x.y.z packages all identically named, it's harder to know
that the reporter is pointing at something that's already fixed, newly broken,
or not working the entire cycle.


I agree. My concern with changing the version number during
a release is technical rather than procedural.

There is typically no
allowance in these rules for making version changes that are not
determined by changes and differences between actual code releases.


Yes, and in fact (unless something went HORRIBLY wrong) the never
released version 1.2.3 enjoys versioning compatibility with 1.2.2
and 1.2.4 per the project's policy.  It just simply never existed.


The version number should also be an indicator of continuity (or
its lack) between releases of the library. Users of the latest
release of a library should be able to decide whether to upgrade
to the new fully compatible release without having to wonder what
they might have missed in the releases in between or whether
a prior release might be sufficient or safer.


You can argue the converse; treating each and every release as
equally stable doesn't help the user.  Stating 'whoops, 1.2.3 just
wasn't up to par, so we've released 1.2.4 following 1.2.2' gives the
user one reassurance; the bad releases don't make it out the door.

Bill


Re: x.y.z numbering and releases

2006-01-18 Thread Martin Sebor

William A. Rowe, Jr. wrote:

Martin Sebor wrote:


Justin Erenkrantz wrote:

In the future, you should not reuse the version - therefore, this 
should really be 4.1.4.  Once, 4.1.3 is posted, it's 'gone' 
(regardless of whether it passes or not).  Therefore, a vote should 
be with respect to a specific tarball.  If that tarball changes (and 
a new version is pushed out), you need to get the minimum 3 +1s on 
that specific tarball.



This is an interesting policy that I think deserves to be discussed
further. Let me comment on it in a separate thread so as not to
detract from the vote.



Absolutely not ;-)  Here's your thread for discussion of numbering, going
forwards...

In the httpd project, the RM (release manager) tags a build, with the final
version number.  If that tarball changes after it leaves their hands, and
is in the hands of testers, it's never modified (much) .


I'm not sure this means that the httpd version of the new tarball
stays the same or not if the old tarball fails to get an approval.



Some ASF projects roll a -pre1 or -rc1 tarball.  It's clear to the user
who downloads it that this is almost it, and is being voted on.  If they
don't get cleared, lets say three files change, then they roll -pre2 or 
-rc2.




That seems like a reasonable policy to distinguish the tarballs.
Let me write up something along these lines for stdcxx and post
it for review.


Now... in fairness Justin is right; you must vote on the actual tarball you
will ship.  You can't make an incremental change and consider the old votes
still valid.  Heck, maybe those voters even disagree with the suggested 
change,

or how it was packaged?

But please consider, the candidate must be clearly named.  We have to be 
able
to determine that Joe, Sandy and Pat all voted +1 on the -same 
tarball-.  If
we do that with -pre1/-pre2 or -rc1/-rc2, or as httpd does with x.y.z 
(ditched
or adopted as appropriate), it doesn't so much matter.  It really 
matters that

we 1) know what people voted on,


Understood.

and 2) know what bugs people are 
pointing at.
If there are several x.y.z packages all identically named, it's harder 
to know
that the reporter is pointing at something that's already fixed, newly 
broken,

or not working the entire cycle.


I agree. My concern with changing the version number during
a release is technical rather than procedural.

A library version number must reflect both the backward and forward
(source and binary) compatibility between any two releases of the
library. The rules for assigning the major, minor, and micro (or
patch, when permitted by the system linker) numbers are precisely
specified and correspond to well-defined changes with an impact on
the different types of compatibility (see the rules in effect for
the Rogue Wave C++ Standard library below). There is typically no
allowance in these rules for making version changes that are not
determined by changes and differences between actual code releases.

The version number should also be an indicator of continuity (or
its lack) between releases of the library. Users of the latest
release of a library should be able to decide whether to upgrade
to the new fully compatible release without having to wonder what
they might have missed in the releases in between or whether
a prior release might be sufficient or safer.

Martin

The Rogue Wave C++ Standard Library versioning policy:

The version identifier of a library is typically defined as the
string .. with the following semantics:

  The major number starts at 1 and is incremented by one for each new
  release of the library that is source or binary incompatible with
  the previous release. Incrementing the major number resets both
  the minor and micro numbers to 0.

  The minor number starts at 0 and is incremented by one for each new
  release of the library that is forward but not backward compatible
  with the previous release. Incrementing the minor number resets
  the micro number to 0.

  The micro number starts at 0 and is incremented by one for each
  new release of the library that contains source code changes that
  are backward compatible with the previous release.

A couple of useful references on library and symbol versioning:
http://www.usenix.org/publications/library/proceedings/als00/2000papers/papers/full_papers/browndavid/browndavid_html/
http://sources.redhat.com/autobook/autobook/autobook_91.html


x.y.z numbering and releases

2006-01-18 Thread William A. Rowe, Jr.

Martin Sebor wrote:

Justin Erenkrantz wrote:

In the future, you should not reuse the version - therefore, this 
should really be 4.1.4.  Once, 4.1.3 is posted, it's 'gone' 
(regardless of whether it passes or not).  Therefore, a vote should be 
with respect to a specific tarball.  If that tarball changes (and a 
new version is pushed out), you need to get the minimum 3 +1s on that 
specific tarball.


This is an interesting policy that I think deserves to be discussed
further. Let me comment on it in a separate thread so as not to
detract from the vote.


Absolutely not ;-)  Here's your thread for discussion of numbering, going
forwards...

In the httpd project, the RM (release manager) tags a build, with the final
version number.  If that tarball changes after it leaves their hands, and
is in the hands of testers, it's never modified (much) .

Some ASF projects roll a -pre1 or -rc1 tarball.  It's clear to the user
who downloads it that this is almost it, and is being voted on.  If they
don't get cleared, lets say three files change, then they roll -pre2 or -rc2.

Now... in fairness Justin is right; you must vote on the actual tarball you
will ship.  You can't make an incremental change and consider the old votes
still valid.  Heck, maybe those voters even disagree with the suggested change,
or how it was packaged?

But please consider, the candidate must be clearly named.  We have to be able
to determine that Joe, Sandy and Pat all voted +1 on the -same tarball-.  If
we do that with -pre1/-pre2 or -rc1/-rc2, or as httpd does with x.y.z (ditched
or adopted as appropriate), it doesn't so much matter.  It really matters that
we 1) know what people voted on, and 2) know what bugs people are pointing at.
If there are several x.y.z packages all identically named, it's harder to know
that the reporter is pointing at something that's already fixed, newly broken,
or not working the entire cycle.

Bill


Re: [VOTE] publish stdcxx 4.1.3, take 2

2006-01-18 Thread Martin Sebor

Justin Erenkrantz wrote:
--On January 12, 2006 3:26:52 PM -0700 Martin Sebor 
<[EMAIL PROTECTED]> wrote:



I created a new tarball incorporating these changes and replaced
the old one with it. Here's the link again for convenience:
http://people.apache.org/~sebor/stdcxx/stdcxx-incubating-4.1.3.tar.gz
The md5sum for this file is f1bc9bd5ef0966f994a9183e7353176d.

Since these were the only changes I only smoke-tested this new tarball
with gcc 3.2.3 on Linux and gcc 4.0.2 Solaris with successul results.
I hereby cast my +1 vote to publish this tarball :)



+1 with Solaris 10/Forte 11.

The test cases say everything 'failed', but I'm not sure that it isn't 
really a false positive.  It looks okay otherwise as far as I can tell.


Assuming the failures came out of invoking make run they are bogus.
We've changed the output of the ported tests but haven't changed
the infrastructure to recognize the new ouptut. Running some of
the tests manually should confirm this.




I assume everyone else's votes are still good and that we just need
a positive vote from you, Bill, or Ben before we can ask the Incubator
PMC for permission to publish it.



Nope.  Typically, any changes to the code contained in a release 
invalidates all previous votes.  Nice try.  =)


Okay, I'll collect new votes from the original voters and keep this
rule in mind in the future.



In the future, you should not reuse the version - therefore, this should 
really be 4.1.4.  Once, 4.1.3 is posted, it's 'gone' (regardless of 
whether it passes or not).  Therefore, a vote should be with respect to 
a specific tarball.  If that tarball changes (and a new version is 
pushed out), you need to get the minimum 3 +1s on that specific tarball.


This is an interesting policy that I think deserves to be discussed
further. Let me comment on it in a separate thread so as not to
detract from the vote.

Thanks!
Martin


Re: [VOTE] publish stdcxx 4.1.3, take 2 (was: Re: Mac OS X and stdcxx)

2006-01-18 Thread Justin Erenkrantz
--On January 12, 2006 3:26:52 PM -0700 Martin Sebor <[EMAIL PROTECTED]> 
wrote:



I created a new tarball incorporating these changes and replaced
the old one with it. Here's the link again for convenience:
http://people.apache.org/~sebor/stdcxx/stdcxx-incubating-4.1.3.tar.gz
The md5sum for this file is f1bc9bd5ef0966f994a9183e7353176d.

Since these were the only changes I only smoke-tested this new tarball
with gcc 3.2.3 on Linux and gcc 4.0.2 Solaris with successul results.
I hereby cast my +1 vote to publish this tarball :)


+1 with Solaris 10/Forte 11.

The test cases say everything 'failed', but I'm not sure that it isn't 
really a false positive.  It looks okay otherwise as far as I can tell.



I assume everyone else's votes are still good and that we just need
a positive vote from you, Bill, or Ben before we can ask the Incubator
PMC for permission to publish it.


Nope.  Typically, any changes to the code contained in a release 
invalidates all previous votes.  Nice try.  =)


In the future, you should not reuse the version - therefore, this should 
really be 4.1.4.  Once, 4.1.3 is posted, it's 'gone' (regardless of whether 
it passes or not).  Therefore, a vote should be with respect to a specific 
tarball.  If that tarball changes (and a new version is pushed out), you 
need to get the minimum 3 +1s on that specific tarball.


HTH.  -- justin


Re: test for lig.alg.swap

2006-01-18 Thread Martin Sebor

Anton Pevtsov wrote:

Martin Sebor wrote:


[...]


Great idea! Thank you!
The attach contains the updated test version.


Okay, thanks.

I spotted a few more minor issues with the test and corrected
them before committing the final version:
http://svn.apache.org/viewcvs.cgi?rev=370230&view=rev

Attached is a diff between what you sent me and the final version.
You might want to look over the changes and keep them in mind for
future reference. Let me also note some of the more important ones
here:

--- your 25.swap.cppWed Jan 18 11:39:06 2006
+++ my 25.swap.cpp  Wed Jan 18 12:06:10 2006
@@ -67,7 +68,7 @@
 const std::size_t nseq = std::strlen (seq);

 // construct a sequence of `nseq' elements to pass to swap
-T* const tseq = T::from_char (seq, nseq);
+T* const tseq = T::from_char (seq, nseq + 1);

We need to make sure the sequence is never empty since the
rw_assert() calls unconditionally dereference the pointers
even when (nseq == 0) holds.


 int a_val, b_val;
 bool success = true;
@@ -92,8 +93,8 @@
 }

 rw_assert (success, 0, line,
-   "std::%s<%s%{?}, %s%{;}> ('%c', '%c'): got: ('%c', '%c') "
-   "expected: ('%5$c', '%4$c') at step %zu",
+   "%s<%s%{?}, %s%{;}>(%#c, %#c): got: { %#c, %#c } "
+   "expected: { %5$#c, %4$#c } at step %zu",

Use the %#c specifier (note the pound sign -- it's our extension)
when formatting characters in diagnostic output to automatically
quote them and to format non-printable characters using standard
escape sequences (e.g., the linefeed character will be formatted
as '\n' including the quotes instead of inserting a newline into
the output.

fname, it1name, it_swap, it2name, a_val, b_val, 
tseq->val_,

(tseq + i)->val_, i);

@@ -154,6 +155,10 @@
 const ForwardIterator2 last2 =
 make_iter (tseq2 + nseq, tseq2, tseq2 + nseq, it2);

+// silence bogus EDG eccp remark #550-D: variable was set
+// but never used
+_RWSTD_UNUSED (last2);

You might want to compile the tests using the EDG eccp I sent you
and silence these (bogus) warnings. The EDG compiler is the most
conforming C++ compiler and it might reveal problems that other
compilers don't.

@@ -162,17 +167,22 @@

 std::size_t assigns_per_swap = T::n_total_op_assign_ - 
last_n_op_assign;


-// exercise 25.2.3 - std::swap_ranges<> ()
 last_n_op_assign = T::n_total_op_assign_;

+// exercise 25.2.3 - std::swap_ranges()
 const ForwardIterator2 res = std::swap_ranges(first1, last1, first2);

+// silence bogus EDG eccp remark #550-D: variable was set
+// but never used
+_RWSTD_UNUSED (res);
+
 // check the returned value, 25.2.2 p5
 bool success = res.cur_ == last2.cur_;
 rw_assert (success, 0, line,
-   "std::swap_ranges<%s, %s> (\"%s\", \"%s\") returns: "
-   "got: %p, expected: %p",
-   it1name, it2name, seq1, seq2, res.cur_, last2.cur_);
+   "swap_ranges<%s, %s>(\"%s\", \"%s\") == first + %td, "
+   "got first + %td",
+   it1name, it2name, seq1, seq2, res.cur_ - tseq2,
+   last2.cur_ - tseq2);

Printing out offsets rather than pointers is more informative.

Martin
--- /nfs/b20/sebor/tmp/25.swap.cpp  Wed Jan 18 11:39:06 2006
+++ /build/sebor/dev/stdlib/tests/algorithm/25_swap.cpp Wed Jan 18 12:06:10 2006
@@ -54,10 +54,11 @@
 /**/
 
 template 
-void test_iter_swap (int line, const char* seq, 
- ForwardIterator1 dummy1,
- ForwardIterator2 dummy2,
- const T*,
+void test_iter_swap (int line,
+ const char*  seq, 
+ ForwardIterator1 /* dummy */,
+ ForwardIterator2 /* dummy */,
+ const T* /* dummy */,
  bool it_swap,
  const char*  it1name,
  const char*  it2name,
@@ -67,7 +68,7 @@
 const std::size_t nseq = std::strlen (seq);
 
 // construct a sequence of `nseq' elements to pass to swap
-T* const tseq = T::from_char (seq, nseq);
+T* const tseq = T::from_char (seq, nseq + 1);
 
 int a_val, b_val;
 bool success = true;
@@ -92,8 +93,8 @@
 }
 
 rw_assert (success, 0, line,
-   "std::%s<%s%{?}, %s%{;}> ('%c', '%c'): got: ('%c', '%c') "
-   "expected: ('%5$c', '%4$c') at step %zu",
+   "%s<%s%{?}, %s%{;}>(%#c, %#c): got: { %#c, %#c } "
+   "expected: { %5$#c, %4$#c } at step %zu",
fname, it1name, it_swap, it2name, a_val, b_val, tseq->val_, 
(tseq + i)->val_, i);
 
@@ -135,7 +136,7 @@
const char*  seq2, 
ForwardIterator1 it1, 
ForwardIterator2 it2,
-   const T*,
+ 

[jira] Assigned: (STDCXX-12) publish Class Reference and User Guide on the stdcxx site

2006-01-18 Thread Martin Sebor (JIRA)
 [ http://issues.apache.org/jira/browse/STDCXX-12?page=all ]

Martin Sebor reassigned STDCXX-12:
--

Assign To: Martin Sebor

> publish Class Reference and User Guide on the stdcxx site
> -
>
>  Key: STDCXX-12
>  URL: http://issues.apache.org/jira/browse/STDCXX-12
>  Project: STDCXX
> Type: Improvement
>   Components: Web
> Versions: 4.1.2
>  Environment: All
> Reporter: Martin Sebor
> Assignee: Martin Sebor
> Priority: Critical
>  Fix For: 4.1.4

>
> The stdcxx documentation in svn needs to be published in a browsable format 
> on the project Web site. Currently only the sources in svn are viewable.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



Re: question about serving pages from a database

2006-01-18 Thread Martin Sebor

Benjamin Gomez wrote:

Ok, after looking into this.  Apache serves these pages through a cgi script
and an anonymous checkout procedure.

The links need to look like this at least the initial link to the
documentation:
http://svn.apache.org/viewcvs.cgi/*checkout*/incubator/stdcxx/trunk/doc/stdl
ibref/index.html

Note the viewcvs.cgi/*checkout*/


Cool beans!

I committed a patch with your solution to the project Web page
here: http://svn.apache.org/viewcvs.cgi?rev=370222&view=rev
The live site should be updated within an hour.

Thanks a lot for the research!
Martin



The internal documentation links work fine as they are relative links, so we
just need to make the link to access the documentation like the one above
and it should work from there.

Ben

-Original Message-
From: Martin Sebor [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, January 18, 2006 11:04 AM

To: stdcxx-dev@incubator.apache.org
Subject: Re: question about serving pages from a database

Benjamin Gomez wrote:


The headers are actually produced by whatever script or program is writing
the pages to the browser.



I see. Thanks for the tutorial! :)

[...]


Do we have access to the actual code that serves the pages out of the DB?




I'm sure with some effort we could find it. Subversion comes with
its own simple Web server called svnserve:
http://svnbook.red-bean.com/nightly/en/svn-book.html#svn.serverconfig.svnser
ve

Here's the source:
http://svn.collab.net/viewcvs/svn/trunk/subversion/svnserve/

But I suspect the interface we're using might be some Apache
Subversion access module. I guess [EMAIL PROTECTED] would be
the place to find out for sure.

Martin




RE: question about serving pages from a database

2006-01-18 Thread Benjamin Gomez
Ok, after looking into this.  Apache serves these pages through a cgi script
and an anonymous checkout procedure.

The links need to look like this at least the initial link to the
documentation:
http://svn.apache.org/viewcvs.cgi/*checkout*/incubator/stdcxx/trunk/doc/stdl
ibref/index.html

Note the viewcvs.cgi/*checkout*/

The internal documentation links work fine as they are relative links, so we
just need to make the link to access the documentation like the one above
and it should work from there.

Ben

-Original Message-
From: Martin Sebor [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, January 18, 2006 11:04 AM
To: stdcxx-dev@incubator.apache.org
Subject: Re: question about serving pages from a database

Benjamin Gomez wrote:
> The headers are actually produced by whatever script or program is writing
> the pages to the browser.

I see. Thanks for the tutorial! :)

[...]
> Do we have access to the actual code that serves the pages out of the DB?


I'm sure with some effort we could find it. Subversion comes with
its own simple Web server called svnserve:
http://svnbook.red-bean.com/nightly/en/svn-book.html#svn.serverconfig.svnser
ve

Here's the source:
http://svn.collab.net/viewcvs/svn/trunk/subversion/svnserve/

But I suspect the interface we're using might be some Apache
Subversion access module. I guess [EMAIL PROTECTED] would be
the place to find out for sure.

Martin


Re: question about serving pages from a database

2006-01-18 Thread Martin Sebor

Benjamin Gomez wrote:

The headers are actually produced by whatever script or program is writing
the pages to the browser.


I see. Thanks for the tutorial! :)

[...]
Do we have access to the actual code that serves the pages out of the DB?  


I'm sure with some effort we could find it. Subversion comes with
its own simple Web server called svnserve:
http://svnbook.red-bean.com/nightly/en/svn-book.html#svn.serverconfig.svnserve

Here's the source:
http://svn.collab.net/viewcvs/svn/trunk/subversion/svnserve/

But I suspect the interface we're using might be some Apache
Subversion access module. I guess [EMAIL PROTECTED] would be
the place to find out for sure.

Martin


RE: z/OS and z/TPF Development

2006-01-18 Thread Nicole Willson
A port was done for SourcePro Stdlib ed7 on z/OS 1.4 (tho, not fully
certified - we just made sure the examples worked), and will be done for ed9
(possibly on z/OS 1.7 and again, not fully certified) - soon, I think.

Nicole Willson
Consulting Engineer
Rogue Wave Software, Inc.
A Division of Quovadx
303-545-3210


-Original Message-
From: Martin Sebor [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, January 17, 2006 7:39 PM
To: stdcxx-dev@incubator.apache.org
Cc: stdcxx-user@incubator.apache.org
Subject: Re: z/OS and z/TPF Development

Craig Chariton wrote:
> Is anyone currently working on porting stdcxx for IBM TPF 4.1, z/OS and
> z/TPF? I know IBM has ported STLPort for these platforms, and there is a
> porting of the GNU C++ library for TPF 4.1 and z/TPF. However, porting
> stdcxx may provide another option for users. If no one is currently
working
> on this, does anyone know of contacts who may be interested in such a
> project? 

I'm not aware of any effort currently underway but it would certainly
be an interesting exercise. In addition, we (Rogue Wave) might need to
port the project there in the future so getting a head start now would
come in handy. I'm not sure if we have access to a z/OS box at the
moment (IIRC, John Hollis had a z/OS laptop at some point) so it might
be useful to find out if IBM offers some sort of a "test drive" program
similar to the one offered by HP: http://www.testdrive.hp.com/

Martin


RE: question about serving pages from a database

2006-01-18 Thread Benjamin Gomez
The headers are actually produced by whatever script or program is writing
the pages to the browser.

Usually it's something like the following depending on the language:
setContentType("text/html");  //  If this line is missing, or is set to 
  //"text/plain" Then we get the results we're
  // seeing now.
out.println("");
out.println("");
out.println("");

string title = "SessionExample";
out.println("" + title + "");
out.println("");
out.println("");

Do we have access to the actual code that serves the pages out of the DB?  

Ben


-Original Message-
From: Martin Sebor [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, January 18, 2006 10:03 AM
To: stdcxx-dev@incubator.apache.org
Subject: Re: question about serving pages from a database

Benjamin Gomez wrote:
> Hi Martin,
> 
> The problem is that the headers being returned from the server include a
> content-type of text/plain instead of text/html.  IE picks up the fact
that
> it is formatted as a web page and displays as a web page, but Mozilla
> formats it as it is supposed to.

Thanks. I assume the headers are part of the files themselves,
correct? I made a change to this page and added a meta tag with
the text/html content but still no dice. Do you see anything
wrong with what I did?
http://svn.apache.org/repos/asf/incubator/stdcxx/trunk/doc/index.html

Martin


RE: question about serving pages from a database

2006-01-18 Thread Eric Lemings

I'm not 100% sure but I'd say PHP (http://www.php.net/manual/en/)
would be your best bet.  It has a ton of interfaces:  I'm sure
Subversions support is out there somewhere.

Brad.

> -Original Message-
> From: Martin Sebor [mailto:[EMAIL PROTECTED] 
> Sent: Tuesday, January 17, 2006 4:24 PM
> To: [EMAIL PROTECTED]
> Cc: stdcxx-dev@incubator.apache.org
> Subject: question about serving pages from a database
> 
> 
> Does anyone have any suggestion for how to get browsers to 
> render html files stored in a Subversion database? Here's 
> some more detail about the problem we're trying to solve:
> 
>http://issues.apache.org/jira/browse/STDCXX-12
>http://issues.apache.org/jira/browse/STDCXX-122
> 
> Thanks
> Martin
> 


Re: question about serving pages from a database

2006-01-18 Thread Martin Sebor

Benjamin Gomez wrote:

Hi Martin,

The problem is that the headers being returned from the server include a
content-type of text/plain instead of text/html.  IE picks up the fact that
it is formatted as a web page and displays as a web page, but Mozilla
formats it as it is supposed to.


Thanks. I assume the headers are part of the files themselves,
correct? I made a change to this page and added a meta tag with
the text/html content but still no dice. Do you see anything
wrong with what I did?
http://svn.apache.org/repos/asf/incubator/stdcxx/trunk/doc/index.html

Martin


Re: Re: test for lig.alg.swap

2006-01-18 Thread Anton Pevtsov

Martin Sebor wrote:


Thanks! Your idea of reducing code duplication is neat. Unfortunately,
 


there is a problem with it that prevents us from taking advantage of
it in its current form: the library is designed to handle compilers that
do not provide support or fully implement member templates (the
configuration macro _RWSTD_NO_MEMBER_TEMPLATES). Thus the testsuite
cannot assume that member templates are supported.
[...]


in a new simple forwarding function called from the first overload of
 


test_swap() should do, don't you think?

Great idea! Thank you!
The attach contains the updated test version.


With best wishes,
Anton Pevtsov


-Original Message-
From: Martin Sebor [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, January 18, 2006 05:00

To: stdcxx-dev@incubator.apache.org
Subject: Re: test for lig.alg.swap


Anton Pevtsov wrote:


The attached file contains my attempt to update lib.alg.swap tests and
 




port them to new test driver.
 



Thanks! Your idea of reducing code duplication is neat. Unfortunately,
there is a problem with it that prevents us from taking advantage of it
in its current form: the library is designed to handle compilers that do
not provide support or fully implement member templates (the
configuration macro _RWSTD_NO_MEMBER_TEMPLATES). Thus the testsuite
cannot assume that member templates are supported.

[...]


// classes used to exercise swap functions and to reduce code lines 
struct TestIterSwap {

TestIterSwap (int dummy) : dummy_(dummy) {}

template 
void test_swap (ForwardIterator1 it1, ForwardIterator2 it2, const 
T* )
 



This is the problem. But I think we should be able to deal with it quite
easily. We don't need member templates to avoid code duplication
-- a simple

if (test_swap_ranges)
test_swap_ranges (it1, it2, (T*)0);
else
test_iter_swap (it1, it2, (T*)0, true);

in a new simple forwarding function called from the first overload of
test_swap() should do, don't you think?

Martin

/***
 *
 * swap.cpp - test exercising 25.2.2 [lib.alg.swap]
 *
 * $Id: //stdlib/dev/tests/stdlib/algorithm/swap.cpp#18 $
 *
 ***
 *
 * Copyright (c) 1994-2005 Quovadx,  Inc., acting through its  Rogue Wave
 * Software division. Licensed under the Apache License, Version 2.0 (the
 * "License");  you may  not use this file except  in compliance with the
 * License.Youmay   obtain   a   copy   ofthe   Licenseat
 * http://www.apache.org/licenses/LICENSE-2.0.Unless   requiredby
 * applicable law  or agreed to  in writing,  software  distributed under
 * the License is distributed on an "AS IS" BASIS,  WITHOUT WARRANTIES OR
 * CONDITIONS OF  ANY KIND, either  express or implied.  See  the License
 * for the specific language governing permissions  and limitations under
 * the License.
 * 
 **/

#include // for swap, swap_ranges, iter_swap
#include   // for strlen

#include 
#include  // for rw_test()


_RWSTD_NAMESPACE (std) { 

// disable explicit instantiation for compilers (like MSVC)
// that can't handle it
#ifndef _RWSTD_NO_EXPLICIT_INSTANTIATION

template
void
swap (assign >&, assign >&);

template
FwdIter > >
swap_ranges (FwdIter > >, 
 FwdIter > >, 
 FwdIter > >);

template
void
iter_swap (FwdIter > >, 
   FwdIter > >);

#endif // _RWSTD_NO_EXPLICIT_INSTANTIATION

}   // namespace std

/**/

template 
void test_iter_swap (int line, const char* seq, 
 ForwardIterator1 dummy1, 
 ForwardIterator2 dummy2, 
 const T* , bool it_swap)
{
const char* const it1name = 
it_swap ? type_name (dummy1, (T*)0) : "X";
const char* const it2name = 
it_swap ? type_name (dummy2, (T*)0) : "X";
const char* const fname = 
it_swap ? "iter_swap" : "swap";

// generate sequential values for each default constructed T 
const std::size_t nseq = std::strlen (seq);

// construct a sequence of `nseq' elements to pass to swap
T* const tseq = T::from_char (seq, nseq);

int a_val, b_val;
bool success = true;
std::size_t i = 1;
for ( ; i < nseq; ++i) {

const ForwardIterator1 it1 = 
make_iter (tseq, tseq, tseq + nseq, it1);

const ForwardIterator2 it2 = 
make_iter (tseq + i, tseq, tseq + nseq, it2);

a_val = (*it1).val_;
b_val = (*it2).val_;

it_swap ? std::iter_swap (it1, it2) : std::swap(*it1, *it2);

// verify 25.2.2, p2, p7
success = a_val == (*it2).val_ && b_val == (*it1).val_;
if (!success)
break;
}

rw_assert (success, 0, line,
   "std::%s<%s%{?}, %s%{;}> ('%c', '%c'):

RE: question about serving pages from a database

2006-01-18 Thread Benjamin Gomez
Hi Martin,

The problem is that the headers being returned from the server include a
content-type of text/plain instead of text/html.  IE picks up the fact that
it is formatted as a web page and displays as a web page, but Mozilla
formats it as it is supposed to.

Ben

-Original Message-
From: Martin Sebor [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, January 17, 2006 4:24 PM
To: [EMAIL PROTECTED]
Cc: stdcxx-dev@incubator.apache.org
Subject: question about serving pages from a database

Does anyone have any suggestion for how to get browsers to render
html files stored in a Subversion database? Here's some more detail
about the problem we're trying to solve:

   http://issues.apache.org/jira/browse/STDCXX-12
   http://issues.apache.org/jira/browse/STDCXX-122

Thanks
Martin