Re: Feature request/ideas

2005-03-08 Thread Frank Hemer
Here is a more detailed description of the tag-extensions:

Terminologie:

Following the mainline (backwards):
Starting from a specific rev. number X on the trunk or a branch, the line is
followed backwards up to the first revision Z on the trunk. It doesn't matter
if there are dead or missing revisions in between. If this first revision is
dead, and its the 1.1 rev., stop here.
If 1.1 is not dead, and 1.1 was created at the same time the first vendor
branch rev. was created, jump to the vendor branch, and take the latest
revision prior to the date of Y (Z is the predecessor of Y).
Otherwise take 1.1.

Absolute tag means a tag that specifies either a revision or a trunk/branch.
'.trunk', 'n.u.m.e.r.i.c' and symbolic tags are absolute tags.

Relative tag means a tag that specifies a revision relative to a certain 
starting point.
'.prev', '.next', '.root', '.origin' '.head' and '.base' are relative tags.

The 'focused branch' is used as a synonym for either the trunk or the branch,
depending on the sticky tag of the addressed file or the workdir.
If a relative tag is in head position, the absolute position is calculated from:
1. The sandbox revision's tag
2. The sandbox revision's dir-tag
3. The sandbox revisions revision number
4. The mainline
in this order, whatever is first available.

Absolute tags and relative tags may be combined. If a relative tag follows an
absolute tag, the result will be absolute. 

All relative tags are _only_ valid for individual files, not for directories.
It doesn't matter where the relative tag appears in a combined tag.

'.trunk': Serves as a synonym for the trunk-branch. Resolves to the most recent
revision of the mainline, and allows to be used as a branch tag if combined
with a date ('xxx -r ".trunk:2005-03-08 18:00:00").

'.origin': Will always resolve to the very first revision.
If a file has been added on a branch, .origin will resolve to the first 
revision on
that branch, otherwise it will follow the mainline.

'.root': Will resolv to  the predecessor of the first revision on the focused 
branch.

'.base': The current sandbox revision. May only be used in head position.

'.head': The most recent revision on the focused branch.

'.prev': The previous revision on the focused branch. Follows the mainline.

'.next': The next revision on the focused branch. Does _not_ follow the
mainline as this would prevent access to revisions on a vendor branch
that were introduced _after_ the first commit/merge onto the trunk.

If a combined tag with relative extensions is used for commands that change
the local sandbox and set sticky tags, the resulting numeric revision is used
for sticky tagging. This is because tags like .trunk.prev.prev imho don't really
make sense -
'.prev', '.next' will force usage of numeric sticky tags in any position, and 
all 
elative tags will if used not in head position. If the combined tag ends with
'.head', this will overwrite -


I hope I have addressed all issues concerning the new tags,
and would very much appreciate some feedback and maybe
some results from testing ...:-)

>> the patch >>>


Index: src/admin.c
===
RCS file: /home/frank/CVS_ROOT/ccvs/src/admin.c,v
retrieving revision 1.1.1.3
retrieving revision 1.2
diff -b -B -u -r1.1.1.3 -r1.2
--- src/admin.c 8 Mar 2005 01:18:17 -   1.1.1.3
+++ src/admin.c 8 Mar 2005 19:37:41 -   1.2
@@ -655,6 +655,10 @@
char *branch = &admin_data->branch[2];
if (*branch != '\0' && ! isdigit ((unsigned char) *branch))
{
+   if (*branch == '.' && !strcmp (branch+1, TAG_TRUNK))
+   branch = NULL;
+   else
+   {
branch = RCS_whatbranch (rcs, admin_data->branch + 2);
if (branch == NULL)
{
@@ -663,6 +667,7 @@
status = 1;
}
}
+   }
if (status == 0)
RCS_setbranch (rcs, branch);
if (branch != NULL && branch != &admin_data->branch[2])
Index: src/commit.c
===
RCS file: /home/frank/CVS_ROOT/ccvs/src/commit.c,v
retrieving revision 1.1.1.2
retrieving revision 1.4
diff -b -B -u -r1.1.1.2 -r1.4
--- src/commit.c2 Mar 2005 01:36:28 -   1.1.1.2
+++ src/commit.c2 Mar 2005 01:40:09 -   1.4
@@ -698,6 +698,10 @@
 Lock_Cleanup ();
 dellist (&mulist);
 
+char *commitid = Xasprintf ("@%s", global_session_id);
+tag_check_valid (commitid, argc, argv, local, aflag, "", true);
+free (commitid);
+
 /* see if we need to sleep before returning to avoid time-stamp races */
 if (
 #ifdef SERVER_SUPPORT
@@ -884,8 +888,10 @@
   finfo->fullname);
goto out;
}
-   if (status == T_MODIFIED && vers->tag &&
-   !RCS_isbranch (finfo->rcs, vers->tag))
+   i

Re: [bug-gnulib] GNULIB wait-process module.

2005-03-08 Thread Bruno Haible
Derek Price wrote:
> Actually moving the code would be complicated and not symetrical.  I
> dislike having a process responsible for disposing of temporary data it
> did not create.
>
> In the CVS client/server architecture, there are two servers.  The first
> authenticates the client and interprets the data coming across in such a
> manner as to construct a duplicate of the client workspace.  It then
> launches a second server which runs, (mostly) unaware that it is not a
> CVS application running in local mode against a local repository.
> Meanwhile the first server acts in the background, translating the
> second server's output into something acceptable to the client.  When
> the second server completes its job, it exits, then the first server
> cleans up the temp space.
>
> It is this second server's core dumps that are being caught.  It
> wouldn't be impossible to make it responsible for cleaning up its own
> workspace (which it did not create), but it would be a lot of work.
> Right now, there is a simple switch in the first server which detects
> when the child dumps core and skips the workspace cleanup with an
> informative error message.

Thanks for explaining. Your objective is clear now.

But how would you want this to work on Woe32? I assume that you would
want this debugging feature also on Windows. How do you implement it
there?

> The change I'm proposing is simple.  I've attached a patch.

I'm opposed to this change because I don't see how it can be made to
work on Windows. In other words, it makes unportable assumptions.

Bruno



___
Bug-cvs mailing list
Bug-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-cvs


RE: windows-NT/mkconfig.pl & windows-NT/fix-msvc-mak.pl change

2005-03-08 Thread Conrad T. Pino
 
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Hi Derek,

> From: Derek Price [mailto:[EMAIL PROTECTED]
> 
> The two files are listed in the subject line.  :)

Oops, I need another cup of coffee!! :)

> First off, the problem cited in your output is not caused by the patch
> I just sent, but I'll deal with it anyhow.

Yes, I was aware of that but since it prevented an immediate run of the
process I wanted you to know the basis of the delay.  I didn't intend to
imply you needed to act and please don't at this time (see below).

> Secondly, I think I would prefer that you use a more modern Perl
> release (I've had good luck with the version shipped by ActiveState -
> the installer is quick & easy & it doesn't require any external
> libraries).

I'm happy to try a modern PERL.  Expect feedback in a day or two.

> Regards,

Ditto,

> Derek

Conrad

-BEGIN PGP SIGNATURE-
Version: PGP 7.0.4

iQA/AwUBQi4FMrNM28ubzTo9EQK4WwCfbFDSKfEgvkjCcRxmuILe0mZbLCUAniwR
eOM6y6eCr3YObD7vtpNIUTxL
=0DRc
-END PGP SIGNATURE-



___
Bug-cvs mailing list
Bug-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-cvs


Re: windows-NT/mkconfig.pl & windows-NT/fix-msvc-mak.pl change

2005-03-08 Thread Derek Price
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Conrad T. Pino wrote:
|
| Hi Derek,
|
|> From: Derek Price [mailto:[EMAIL PROTECTED]
|
|> I've attached the diff.  Conrad or somebody, would you mind
|> verifying that after applying this patch (on WOE32, only the two
|> named files will be relevant)...
|
|
| Please define the phrase "two named" files by enumerating the
| names.
The two files are listed in the subject line.  :)
| OK, I'm picking up the goal is run whatever on both Windows and
| UNIX to make sure the generated results are identical.
|
| File "mkconfig.pl" has changes that prevent is from running with
| PERL implementation supplied with old MKS Tool Kit I have on
| Windows 2000. Error output and MKS PERL version information follow
| at message end.
|
| I can install a modern PERL binary release which will take some
| time but I could report back results in a day or two.
|
| What's you preference (1) fix "mkconfig.pl" to run with MKS PERL I
| have or (2) install a modern PERL binary release?
First off, the problem cited in your output is not caused by the patch
I just sent, but I'll deal with it anyhow.
Secondly, I think I would prefer that you use a more modern Perl
release (I've had good luck with the version shipped by ActiveState -
the installer is quick & easy & it doesn't require any external
libraries).  If you really don't want to, you could replace the mv
call with a wrapper function which calls rename, followed by a call to
copy and a call to unlink when the initial rename fails.  This is
necessary because the source and build dirs might be on different file
systems and a simple rename will usually fail in this case.
File::Copy::mv already handles this.
| H:\Conrad\Projects\cvs-1.12\windows-NT>perl mkconfig.pl "mv" is not
| exported by the File::Copy module at
| C:\MKSToolKit/etc/perl/lib/Exporter.pm line 95 Exporter::export
| called at C:\MKSToolKit/etc/perl/lib/Exporter.pm line 149
| Exporter::import called at mkconfig.pl line 4 main::BEGIN called at
|  C:\MKSToolKit/etc/perl/lib/File/Copy.pm line 0 eval {...} called
| at C:\MKSToolKit/etc/perl/lib/File/Copy.pm line 0 Can't continue
| after import errors at mkconfig.pl line 4 BEGIN failed--compilation
| aborted at mkconfig.pl line 4.
|
| H:\Conrad\Projects\cvs-1.12\windows-NT>perl -v
|
| This is perl, version 5.003 with DEBUGGING MULTIPLICITY built under
| Windows_NT at Sep 24 1997 00:36:07 + suidperl security patch
Regards,
Derek
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.0 (Cygwin)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFCLf8TLD1OTBfyMaQRAh6BAJ96voL4e3cRX+UYLMCq/ZzqXsIbWACgvzIp
6GeML8xDlNsGuLWUiBUmf3E=
=zm+7
-END PGP SIGNATURE-

___
Bug-cvs mailing list
Bug-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-cvs


Re: [bug-gnulib] GNULIB wait-process module.

2005-03-08 Thread Derek Price
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Any further thoughts on this patch?
| 2005-03-04  Derek R. Price  <[EMAIL PROTECTED]>
|
| * lib/wait-process.h (wait_subprocess): Accept a new exitsignal
| argument. * lib/wait-process.c (wait_subprocess): Always set
| *exitsignal to 0 when present and set it to the offending signal
| when the child exits due to one.
|
|
| Regards,
|
| Derek
|
|
| --
|
|
| Index: lib/wait-process.c
| ===
|  RCS file: /cvsroot/gnulib/gnulib/lib/wait-process.c,v retrieving
| revision 1.3 diff -u -p -r1.3 wait-process.c --- lib/wait-process.c
| 20 Jan 2004 16:47:31 -1.3 +++ lib/wait-process.c4 Mar 2005
| 16:18:13 - @@ -251,7 +251,7 @@ unregister_slave_subprocess
| (pid_t child If it didn't terminate correctly, exit if
| exit_on_error is true, otherwise return 127.  */ int
| -wait_subprocess (pid_t child, const char *progname,
| +wait_subprocess (pid_t child, const char *progname, int
| *exitsignal, bool ignore_sigpipe, bool null_stderr, bool
| slave_process, bool exit_on_error) { @@ -345,6 +345,7 @@
| wait_subprocess (pid_t child, const char WAIT_T status;
|
| *(int *) &status = 0; +  if (exitsignal) *exitsignal = 0; for (;;)
| { int result = waitpid (child, &status, 0); @@ -390,6 +391,7 @@
| wait_subprocess (pid_t child, const char if (WTERMSIG (status) ==
| SIGPIPE && ignore_sigpipe) return 0; # endif +  if (exitsignal)
| *exitsignal = WTERMSIG (status); if (exit_on_error || !null_stderr)
|  error (exit_on_error ? EXIT_FAILURE : 0, 0, _("%s subprocess got
| fatal signal %d"), Index: lib/wait-process.h
| ===
|  RCS file: /cvsroot/gnulib/gnulib/lib/wait-process.h,v retrieving
| revision 1.2 diff -u -p -r1.2 wait-process.h --- lib/wait-process.h
| 20 Jan 2004 16:47:31 -1.2 +++ lib/wait-process.h4 Mar 2005
| 16:18:13 - @@ -36,11 +36,14 @@ extern "C" {
|
| /* Wait for a subprocess to finish.  Return its exit code. If it
| didn't terminate correctly, exit if exit_on_error is true,
| otherwise -   return 127. +   return 127 and set exitsignal if the
| child terminated because of a signal. Arguments: - child is the pid
| of the subprocess. - progname is the name of the program executed
| by the subprocess, used for error messages. +   - exitsignal is an
| optional pointer to an int to hold the signal number of + any
| signal that caused the child to exit.  It will be set to zero if
| this + function exits with an error not caused by the child
| catching a signal. - If ignore_sigpipe is true, consider a
| subprocess termination due to SIGPIPE as equivalent to a success.
| This is suitable for processes whose only purpose is to write to
| standard output.  This flag can be safely set @@ -52,6 +55,7 @@
| extern "C" { - If exit_on_error is true, any error will cause the
| main process to exit with an error status.  */ extern int
| wait_subprocess (pid_t child, const char *progname, +int
| *exitsignal, bool ignore_sigpipe, bool null_stderr, bool
| slave_process, bool exit_on_error);
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.0 (Cygwin)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFCLgJ3LD1OTBfyMaQRAmFLAJ92TMkcy8zKktKMl1SbdC7f2/DeuACg5mbU
SJQ75ER8kCDgUBSMFKgQUdw=
=1Ocs
-END PGP SIGNATURE-

___
Bug-cvs mailing list
Bug-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-cvs


Re: lib/stdint.h intermediate file

2005-03-08 Thread Derek Price
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Conrad T. Pino wrote:
| The build process on Solaris 8 Intel Edition seems to generate
| "lib/stdint.h" as an intermediate build product.
|
| Is there any objection to adding "stdint.h" to the "lib/.cvsignore"
| file?

None whatsoever.  :)
Regards,
Derek
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.0 (Cygwin)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFCLgABLD1OTBfyMaQRAssbAKDaJeG3T3cSLXJavO7PPNsf2XqGOACeMBwl
AAqkyN+fg3gE+AP938cTPIw=
=mb+C
-END PGP SIGNATURE-

___
Bug-cvs mailing list
Bug-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-cvs


lib/stdint.h intermediate file

2005-03-08 Thread Conrad T. Pino
 
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

The build process on Solaris 8 Intel Edition seems
to generate "lib/stdint.h" as an intermediate build
product.

Is there any objection to adding "stdint.h" to the
"lib/.cvsignore" file?

-BEGIN PGP SIGNATURE-
Version: PGP 7.0.4

iQA/AwUBQi39HbNM28ubzTo9EQLydACfb4/CNDo6/fQTCmhQivqpp6frXvMAoN1x
+w0Dp9pVwQKCztiVzs204YnU
=exQ5
-END PGP SIGNATURE-



___
Bug-cvs mailing list
Bug-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-cvs


RE: windows-NT/mkconfig.pl & windows-NT/fix-msvc-mak.pl change

2005-03-08 Thread Conrad T. Pino
 
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Hi Derek,

> From: Derek Price [mailto:[EMAIL PROTECTED]
> 
> I've attached the diff.  Conrad or somebody, would you mind verifying
> that after applying this patch (on WOE32, only the two named files will
> be relevant)...

Please define the phrase "two named" files by enumerating the names.

> ...that you can still run the programs?

Yes I will but I'd appreciate an enumerated definition of "the programs"
or a list of commands to run specifying which platform (Windows 2000 or
Solar 8 Intel) to use.

> ... After this change,
> the content of these files generated in WOE or on UNIX should look the
> same (previously, WOE said generated by 'XXX.pl' where UNIX said
> generated by 'xxx').

OK, I'm picking up the goal is run whatever on both Windows and UNIX to
make sure the generated results are identical.

File "mkconfig.pl" has changes that prevent is from running with PERL
implementation supplied with old MKS Tool Kit I have on Windows 2000.
Error output and MKS PERL version information follow at message end.

I can install a modern PERL binary release which will take some time
but I could report back results in a day or two.

What's you preference (1) fix "mkconfig.pl" to run with MKS PERL I have
or (2) install a modern PERL binary release?

> Thanks,

Ditto,

> Derek

Conrad

H:\Conrad\Projects\cvs-1.12\windows-NT>perl mkconfig.pl
"mv" is not exported by the File::Copy module at 
C:\MKSToolKit/etc/perl/lib/Exporter.pm line 95
Exporter::export called at C:\MKSToolKit/etc/perl/lib/Exporter.pm line 
149
Exporter::import called at mkconfig.pl line 4
main::BEGIN called at C:\MKSToolKit/etc/perl/lib/File/Copy.pm line 0
eval {...} called at C:\MKSToolKit/etc/perl/lib/File/Copy.pm line 0
Can't continue after import errors at mkconfig.pl line 4
BEGIN failed--compilation aborted at mkconfig.pl line 4.

H:\Conrad\Projects\cvs-1.12\windows-NT>perl -v

This is perl, version 5.003 with DEBUGGING MULTIPLICITY
built under Windows_NT at Sep 24 1997 00:36:07
+ suidperl security patch

Copyright 1987-1996, Larry Wall
Win32 port Copyright 1996 by Mortice Kern Systems Inc.
MKS version 6.1 build 209

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5.0 source kit.

H:\Conrad\Projects\cvs-1.12\windows-NT>

-BEGIN PGP SIGNATURE-
Version: PGP 7.0.4

iQA/AwUBQi369rNM28ubzTo9EQIHpQCfTD5zOpubbOFMNX/+A90Z2tHoyDEAoO99
lRkHnCub4JB5AFRzXvsOIpJi
=1EEN
-END PGP SIGNATURE-



___
Bug-cvs mailing list
Bug-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-cvs


Re: cvs is slooooooow with large directories

2005-03-08 Thread Derek Price
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Larry Jones wrote:
| Andrew Morton writes:
|
|> On a dual 2.7GHz power4, the cvs client has racked up an hour of
|> CPU time so far.  There's something in there which is quadratic
|> (or worse) in the number of files in a directory.
|
|
| Yes, the fix for a release problem that Derek made a year ago
| (2004-02-25) is responsible for this behavior.  Prior to that fix,
| CVS would cache the Entries for a directory so that it wouldn't
| have to read (and possibly rewrite) the Entries file for each file
| being processed. Unfortunately, it sometimes changed to a different
| directory without flushing the cache, resulting in one directory's
| Entries ending up in a different directory.  Derek's fix removed
| the cache, so each new file being checked out ends up reading the
| Entries file, adding the new file, and then writing it back out,
| which is indeed quadratic behavior.  We need to figure out a way to
| restore the cache without reintroducing the original problem, a
| non-trivial task.
I've implemented part of this on a branch off 1.11.x named
(entries-cache).  It passes localcheck but not remotecheck - there are
still some places where client.c and maybe server.c are not accessing
Entries via the API, either writing or reading them directly.
If someone else would like to pick up the torch and correct the rest
of the entries references to use the official API, you are welcome
to.  Otherwise, I'll try and get back to this in a few days or weeks.
One final comment is that I implemented this based on 1.11.x, as noted
above.  I'm not sure this should be the final destination, but I
figured it would be easier to port forward than back.  At the very
least the current version introduces a dependency on the atexit()
function (available from GNULIB), but I am not sure this is desirable
on stable.
Regards,
Derek
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.0 (Cygwin)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD4DBQFCLeO5LD1OTBfyMaQRAsMGAJj/G84/x9VptHu4H8ReaYKRUANbAKDLFrHI
S8hSVieGbCKp8BgbP3bRrQ==
=zvUc
-END PGP SIGNATURE-

___
Bug-cvs mailing list
Bug-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-cvs


Re: GNULib save-cwd.c on Windows & Visual Studio 6.0

2005-03-08 Thread Derek Price
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Jim Meyering wrote:
| Derek Price <[EMAIL PROTECTED]> wrote:
|
|> I'm afraid I have to agree with Jim Hyslop.  Whatever Microsoft's
|>  flaws, I still believe that some of our mutual user base is at
|> least relatively innocent and should still be catered to.
|
|
| This is not about Microsoft per se, but simply about the lack of
| fchdir (or POSIX support in general) in WOE.
I'm very, very reluctant to introduce a dependency on Cygwin for a
single function...
| I suppose it's a long shot, but... is there a way, in WOE/MSVC, to
| emulate fchdir's behavior? I.e., given a file descriptor that is
| the result of opening a directory, can you obtain an absolute path
| name of that directory?
Glancing at the sources for cygwin, it looks like they decided to save
the file name via their open() function and look up the stored value
in their fchdir(), then call chdir() on it.
Regards,
Derek
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.0 (Cygwin)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFCLdnTLD1OTBfyMaQRAgH3AKCV4TwsCiIK2V1M3Ub4zKzeiKyZDgCg0zOZ
N0MOMsKS+B3K5zqbg2uzaTY=
=qePb
-END PGP SIGNATURE-

___
Bug-cvs mailing list
Bug-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-cvs


Re: GNULib save-cwd.c on Windows & Visual Studio 6.0

2005-03-08 Thread Jim Meyering
Derek Price <[EMAIL PROTECTED]> wrote:
> I'm afraid I have to agree with Jim Hyslop.  Whatever Microsoft's
> flaws, I still believe that some of our mutual user base is at least
> relatively innocent and should still be catered to.

This is not about Microsoft per se, but simply about
the lack of fchdir (or POSIX support in general) in WOE.

I suppose it's a long shot, but...
is there a way, in WOE/MSVC, to emulate fchdir's behavior?
I.e., given a file descriptor that is the result of opening a
directory, can you obtain an absolute path name of that directory?

BTW if we end up reverting the changes to save-cwd.c,
we'll also have to do something about its use of chdir_long,
which won't work on systems lacking fchdir:

#if !HAVE_FCHDIR
# undef chdir_long
# define chdir_long(d) chdir (d)
#endif


___
Bug-cvs mailing list
Bug-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-cvs


Re: GNULib save-cwd.c on Windows & Visual Studio 6.0

2005-03-08 Thread Frank Hemer
On Tuesday 08 March 2005 16:37, Derek Price wrote:
> Jim.Hyslop wrote:
> | Jim Meyering wrote:
> |> Is it an option to use a more modern/POSIX-compliant development
> |> environment on Windows?  I know that Cygwin now has fchdir and it
> |> looks like MKS has support for it, too.
> |>
> |>
> |> If you opt to continue using Visual Studio 6 in spite of this, it
> |> must have some important redeeming features.
> |
> | The problem with the cygwin build is that it requires Cygwin.dll as
> | well. The MSVC build stands alone, not requiring any external DLLs.
> |
> |
> | I don't think it is reasonable to require all Windows users to
> | download and install Cygwin just to run CVS.
>
> I'm afraid I have to agree with Jim Hyslop.  Whatever Microsoft's
> flaws, I still believe that some of our mutual user base is at least
> relatively innocent and should still be catered to.

I agree with this.
Even though I'm not an ms disciple, I know quite some users that would be 
affected ...
-- 
- The LinCVS Team -
http://www.lincvs.com



___
Bug-cvs mailing list
Bug-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-cvs


RE: GNULib save-cwd.c on Windows & Visual Studio 6.0

2005-03-08 Thread Jim.Hyslop
[CVS support for MSVC]

By the way, I just had a quick look at Visual Studio .NET 2003, and it does
not appear to have POSIX support. At least, there's not fchdir function,
which is what triggered this whole discussion ;=)

-- 
Jim Hyslop
Senior Software Designer
Leitch Technology International Inc. ( http://www.leitch.com )
Columnist, C/C++ Users Journal ( http://www.cuj.com/experts )


___
Bug-cvs mailing list
Bug-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-cvs


Re: GNULib save-cwd.c on Windows & Visual Studio 6.0

2005-03-08 Thread Derek Price
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Jim.Hyslop wrote:
| Jim Meyering wrote:
|
|> Is it an option to use a more modern/POSIX-compliant development
|> environment on Windows?  I know that Cygwin now has fchdir and it
|> looks like MKS has support for it, too.
|
|
|> If you opt to continue using Visual Studio 6 in spite of this, it
|> must have some important redeeming features.
|
|
| The problem with the cygwin build is that it requires Cygwin.dll as
| well. The MSVC build stands alone, not requiring any external DLLs.
|
|
| I don't think it is reasonable to require all Windows users to
| download and install Cygwin just to run CVS.
I'm afraid I have to agree with Jim Hyslop.  Whatever Microsoft's
flaws, I still believe that some of our mutual user base is at least
relatively innocent and should still be catered to.
Regards,
Derek
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.0 (Cygwin)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFCLcarLD1OTBfyMaQRAu5RAJ9NJMTJgEZkPrSjdOGLZBYHaIH6KQCg/RnD
un34isGInces/lodh1MM4NQ=
=emIY
-END PGP SIGNATURE-

___
Bug-cvs mailing list
Bug-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-cvs


CVS Segmentation fault filling /tmp

2005-03-08 Thread Alex Forsyth

Hi:

Using CVS 1.11.17 running as a pserver on UNIX AIX 5.1 we had a core dump of 
the CVS server when accessing with wincvs 1.3. Here is a core dump showing the 
routine causing the segmentation fault.  We have not had a problem with the 
most recent version of tortoise but wincvs seems to be having
several problems.  Another problem is that the core files are ending up in /tmp 
which causes OS problems when full.  Is this configurable to put the core 
somewhere else?

Thanks, Alex.

Alex Forsyth
TELUS National Systems
Office: 604-432-2185
Cell:   604-816-2748


[EMAIL PROTECTED]:/tmp/cvs-serv93576> dbx /usr/local/bin/cvs core
Type 'help' for help.
reading symbolic information ...warning: no source compiled with -g

[using memory image in core]

Segmentation fault in expand_catname at 0xd01f4e54 ($t1)
0xd01f4e54 (expand_catname+0x1c) 9421f780   stwu   r1,-2176(r1)
(dbx) where
expand_catname(0xf00587b0, 0x1, 0x2df23258) at 0xd01f4e54
catopen(??, ??) at 0xd01f5d24
__assert(??, ??, ??) at 0xd02767b0
stdio_buffer_shutdown(0x20234538) at 0x10029bdc
buf_shutdown(0x20234538) at 0x1002a398
server_cleanup(0x0) at 0x10026674
error_exit() at 0x100079d0
error(0x1, 0x0, 0x2aa4, 0x27c8, 0x10019e74, 0xd032, 0x6205400, 
0x2ff3aeb8) at 0x10007ddc
main_cleanup(0x6) at 0x100013a4
SIG_handle(0x6) at 0x10019eb4
abort() at 0xd01f23b4
__assert(??, ??, ??) at 0xd02769b4
stdio_buffer_shutdown(0x20234538) at 0x10029bdc
buf_shutdown(0x20234538) at 0x1002a398
server_cleanup(0x0) at 0x10026674
error_exit() at 0x100079d0
error(0x1, 0x0, 0x2aa4, 0x27c8, 0x10019e74, 0xd032, 0x6205400, 
0x2ff3aeb8) at 0x10007ddc
main_cleanup(0x6) at 0x100013a4
SIG_handle(0x6) at 0x10019eb4
abort() at 0xd01f23b4
__assert(??, ??, ??) at 0xd02769b4

___
Bug-cvs mailing list
Bug-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-cvs


RE: GNULib save-cwd.c on Windows & Visual Studio 6.0

2005-03-08 Thread Jim.Hyslop
Jim Meyering wrote:
> Is it an option to use a more modern/POSIX-compliant development
> environment on Windows?  I know that Cygwin now has fchdir 
> and it looks
> like MKS has support for it, too.

> If you opt to continue using Visual Studio 6 in
> spite of this, it must have some important redeeming features.

The problem with the cygwin build is that it requires Cygwin.dll as well.
The MSVC build stands alone, not requiring any external DLLs.

I don't think it is reasonable to require all Windows users to download and
install Cygwin just to run CVS.

-- 
Jim Hyslop
Senior Software Designer
Leitch Technology International Inc. ( http://www.leitch.com )
Columnist, C/C++ Users Journal ( http://www.cuj.com/experts )


___
Bug-cvs mailing list
Bug-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-cvs


Re: GNULib save-cwd.c on Windows & Visual Studio 6.0

2005-03-08 Thread Jim Meyering
"Conrad T. Pino" <[EMAIL PROTECTED]> wrote:
> The CVS project compiles the Windows CVS binary with Microsoft Visual
> Studio 6.0 which doesn't have a "fchdir" implementation which is used
> in "save-cwd.c" module.  The comments say:
>
>Some systems lack fchdir altogether: e.g., OS/2, pre-2001 Cygwin,
>SCO Xenix.  Also, SunOS 4 and Irix 5.3 provide the function, yet it
>doesn't work for partitions on which auditing is enabled.  If
>you're still using an obsolete system with these problems, please
>send email to the maintainer of this code.
>
> Function "fchdir" is also used in "chdir-long.c" and "openat.c" modules
> which may not be used in Windows build.
>
> What would you suggest for this issue?

Hi Conrad,

Is it an option to use a more modern/POSIX-compliant development
environment on Windows?  I know that Cygwin now has fchdir and it looks
like MKS has support for it, too.  POSIX has required fchdir for a
long time, now, and having fchdir lets programs do things like save and
restore the working directory much more efficiently and robustly than
the alternative getcwd-based implementation would.  For example, if you
`return' to a saved working directory using chdir, you have to wonder
if maybe you've been tricked into changing to some other directory --
or incur the cost of getting/saving/comparing before and after device
and inode numbers.  If you opt to continue using Visual Studio 6 in
spite of this, it must have some important redeeming features.

The Unix systems that lack support for fchdir stopped being reasonable
porting targets a couple of years ago.  And since Cygwin has had fchdir
support for over three years, I thought we'd be safe on the WOE side, too.
So about a month ago we removed from the save-cwd module support for
systems with missing or flaky fchdir support.  Although that module
could work around the lack of a working fchdir function, the openat
module cannot.  And since the chdir-long module also uses openat, its
use of fchdir is moot.

If you have no alternative, it wouldn't be hard to revert the last
change to the save-cwd module, but it'd feel like a step backwards.

Jim


___
Bug-cvs mailing list
Bug-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-cvs