* new cvsps version fixes issues for cvs2git
@ 2005-05-26 4:02 David Mansfield
2005-05-26 4:20 ` Linus Torvalds
0 siblings, 1 reply; 3+ messages in thread
From: David Mansfield @ 2005-05-26 4:02 UTC (permalink / raw)
To: Git Mailing List, Linus Torvalds; +Cc: Thomas Glanzmann
Hi,
I just put out the 2.1 tarball on
http://www.cobite.com/cvsps/cvsps-2.1.tar.gz. I tested it out with the
syslinux, mutt, and a bunch of my own repos. It fixes the following
issues that were causing some of the problems with cvs2git:
1) proper detection and reporting of branch ancestry, with the -A
option. This patch was sent under separate cover, but now I also
explicitly disallow the bogus 'import' branch from being an ancestor.
The ancestor will only be reported when a new branch appears.
2) patchset ordering problems. actual revision ancestry is considered
when ordering the patchsets. this mainly affects the 'patchset 1 and
patchset 2 are swapped' problem, but could be others
3) patchset 'globbing' problems. previously, cvsps would allow the same
file into a patchset more than once. this is clearly bogus, and now it
isn't allowed, combined with #2 and some minor date tweaking, the
ordering should be 'more perfect than ever.'
4) patchset date/time problems. the date/time handling was bogus. some
of it was patched for some time in my tree, but not released. also we
now report all dates in LOCALTIME. use the TZ variable to get a
different time. Note: 'cvs log' format is always UTC.
Linus, based on #4, you may want to set 'export TZ=UTC' before running,
and handle date/time conversion in cvs2git counting on that. otherwise,
I think problems may occur with daylight savings (apr/oct).
If there are any remaining issues, let me know.
David
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: new cvsps version fixes issues for cvs2git
2005-05-26 4:02 new cvsps version fixes issues for cvs2git David Mansfield
@ 2005-05-26 4:20 ` Linus Torvalds
2005-05-26 4:35 ` David Mansfield
0 siblings, 1 reply; 3+ messages in thread
From: Linus Torvalds @ 2005-05-26 4:20 UTC (permalink / raw)
To: David Mansfield; +Cc: Git Mailing List, Thomas Glanzmann
On Thu, 26 May 2005, David Mansfield wrote:
>
> 4) patchset date/time problems. the date/time handling was bogus. some
> of it was patched for some time in my tree, but not released. also we
> now report all dates in LOCALTIME. use the TZ variable to get a
> different time. Note: 'cvs log' format is always UTC.
>
> Linus, based on #4, you may want to set 'export TZ=UTC' before running,
> and handle date/time conversion in cvs2git counting on that. otherwise,
> I think problems may occur with daylight savings (apr/oct).
cvs2git only wants UTC times, and doesn't do any conversion, since that's
the native git format (git considers all times to be UTC, but also records
a "what timezone was the thing done in" so that if you want to, you can
print it out not in localtime, but in "localtime as it was for the
committer"). Nothing else really makes sense - it's totally senseless to
print it out as "in localtime of user".
Since the CVS information doesn't contain any timezone, it would be bogus
to use one, and the only sane git conversion is to always use UTC. Using
the timezone of the converter is also bogus, since that just makes
different converters get different results.
So I'd much rather see you add a flag that just always does the native CVS
time (ie UTC)? Quite frankly, it's wrong to do anything else, exactly
because it makes no sense to print out dates in a timezone that has no
relevance (what relevance does Pacitic time have for somebody who
committed something at 8AM Eastern? _None_).
The fact is, if we depend on people doign "TZ=UTC", people will forget,
and then people will have different conversions.
(My personal preference would be to _default_ to UTC, and instead have a
special flag that says "use localtime to print stuff out", since
localtime really is the least relevant one most of the time)
Linus
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: new cvsps version fixes issues for cvs2git
2005-05-26 4:20 ` Linus Torvalds
@ 2005-05-26 4:35 ` David Mansfield
0 siblings, 0 replies; 3+ messages in thread
From: David Mansfield @ 2005-05-26 4:35 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Git Mailing List, Thomas Glanzmann
>
> Since the CVS information doesn't contain any timezone, it would be bogus
> to use one, and the only sane git conversion is to always use UTC. Using
> the timezone of the converter is also bogus, since that just makes
> different converters get different results.
The cvs log is now properly handled as UTC. It wasn't before. That's
one good thing. And yes, git conversion better always be UTC, no
argument here.
>
> So I'd much rather see you add a flag that just always does the native CVS
> time (ie UTC)? Quite frankly, it's wrong to do anything else, exactly
> because it makes no sense to print out dates in a timezone that has no
> relevance (what relevance does Pacitic time have for somebody who
> committed something at 8AM Eastern? _None_).
It will always print in the localtime of the user running cvsps, not the
timezone of the commiter (in fact, we don't know the timezone of the
committer at all). I hate committing something, running cvsps and
having it tell me I'm about to commit in five hours, but I *do* see your
point.
>
> The fact is, if we depend on people doign "TZ=UTC", people will forget,
> and then people will have different conversions.
That's true, that would be terrible. But I'm arguing that the actual
conversion program (which actually wants machine readable output) should
make it happen. If that means we need a shell-script wrapper than
so-be-it. By letting cvsps display in any timezone, including UTC, it
can work for everyone (keep the policy out of the program).
> (My personal preference would be to _default_ to UTC, and instead have a
> special flag that says "use localtime to print stuff out", since
> localtime really is the least relevant one most of the time)
>
The thing you may be missing (and, hey, why not?) is that some people
will actually still be using cvs, and cvsps to them is a tool that
produces output for humans. For you, it is a stone in the path to git's
domination of the world.
I'll have to think about it. At the very least a flag requesting UTC,
or a flag requesting localtime makes sense. Setting environment
variables and then running a program always seemed a bit like abuse of
global variables.
David
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2005-05-26 4:33 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-05-26 4:02 new cvsps version fixes issues for cvs2git David Mansfield
2005-05-26 4:20 ` Linus Torvalds
2005-05-26 4:35 ` David Mansfield
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).