* Importing Mozilla CVS into git
@ 2006-06-01 22:21 Jon Smirl
2006-06-01 23:20 ` Keith Packard
` (2 more replies)
0 siblings, 3 replies; 47+ messages in thread
From: Jon Smirl @ 2006-06-01 22:21 UTC (permalink / raw)
To: git
I've been working on importing the Mozilla CVS into git for the last
few days. I've fixed up parsecvs so that it can parse the entire
repository without errors. Now I'm running into problems because there
are over 300 branches.
I just run into a problem with git show-branch. Mozilla CVS has a lot
more than 29 refs, is this something that can be expanded?
Is anyone interested in helping out with this? My knowledge of git and
CVS is limited. Mozilla CVS is about 3GB and it is available via
rsync. I can post the parsecvs changes if wanted.
rsync -az cvs-mirror.mozilla.org::mozilla ~/mozilla/cvs-mirror
--
Jon Smirl
jonsmirl@gmail.com
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Importing Mozilla CVS into git
2006-06-01 22:21 Importing Mozilla CVS into git Jon Smirl
@ 2006-06-01 23:20 ` Keith Packard
2006-06-02 0:55 ` Jon Smirl
2006-06-01 23:48 ` Linus Torvalds
2006-06-02 4:14 ` Martin Langhoff
2 siblings, 1 reply; 47+ messages in thread
From: Keith Packard @ 2006-06-01 23:20 UTC (permalink / raw)
To: Jon Smirl; +Cc: keithp, git
[-- Attachment #1: Type: text/plain, Size: 424 bytes --]
On Thu, 2006-06-01 at 18:21 -0400, Jon Smirl wrote:
> Is anyone interested in helping out with this? My knowledge of git and
> CVS is limited. Mozilla CVS is about 3GB and it is available via
> rsync. I can post the parsecvs changes if wanted.
Yes, please post parsecvs changes; I've been able to import several
repositories of this size without problems (given sufficient memory).
--
keith.packard@intel.com
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Importing Mozilla CVS into git
2006-06-01 22:21 Importing Mozilla CVS into git Jon Smirl
2006-06-01 23:20 ` Keith Packard
@ 2006-06-01 23:48 ` Linus Torvalds
2006-06-02 0:59 ` Jon Smirl
2006-06-02 4:14 ` Martin Langhoff
2 siblings, 1 reply; 47+ messages in thread
From: Linus Torvalds @ 2006-06-01 23:48 UTC (permalink / raw)
To: Jon Smirl; +Cc: git
On Thu, 1 Jun 2006, Jon Smirl wrote:
>
> I've been working on importing the Mozilla CVS into git for the last
> few days. I've fixed up parsecvs so that it can parse the entire
> repository without errors. Now I'm running into problems because there
> are over 300 branches.
>
> I just run into a problem with git show-branch. Mozilla CVS has a lot
> more than 29 refs, is this something that can be expanded?
Hmm.. Any reason you care about "show-branch --all" in particular?
The algorithm used for show-branch really doesn't scale well, it needs one
bit per commit per branch, and I didn't realize anybody could ever really
care.
Linus
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Importing Mozilla CVS into git
2006-06-01 23:20 ` Keith Packard
@ 2006-06-02 0:55 ` Jon Smirl
2006-06-02 2:07 ` Keith Packard
2006-06-03 4:28 ` Jon Smirl
0 siblings, 2 replies; 47+ messages in thread
From: Jon Smirl @ 2006-06-02 0:55 UTC (permalink / raw)
To: Keith Packard; +Cc: git
[-- Attachment #1: Type: text/plain, Size: 1387 bytes --]
With the attached patch you can parse the entire Mozilla tree. The
tree has over 100,000 files in it and about 300 branches.
I ran this overnight and it failed with out of memory on a 1GB machine
with 1GB swap. If failed in the branch processing, the parse phase
succeeded.
How much memory does something like this need?
If you want to quickly check out the branch processing problems use
rsync to pull down just a copy of repository files.
I am getting 1000s of warnings like these and I haven't figured out why yet.
Warning: ../mozilla/mozilla/build/mac/build_scripts/Attic/MozillaCheckoutList.txt,v:
unnamed branch from master
Warning: ../mozilla/mozilla/build/unix/run-mozilla.sh,v: unnamed
branch from master
Warning: ../mozilla/mozilla/Makefile.in,v: unnamed branch from master of 99855
Warning: ../mozilla/mozilla/Makefile.in,v: unnamed branch from master
Warning: ../mozilla/mozilla/allmakefiles.sh,v: unnamed branch from master99855
Warning: ../mozilla/mozilla/allmakefiles.sh,v: unnamed branch from master
Warning: ../mozilla/mozilla/cmd/macfe/MailNews/AddressBook/Attic/UAddressBookUtilities.cp,v:
unnamed branch from master
Warning: ../mozilla/mozilla/cmd/macfe/MailNews/AddressBook/Attic/UAddressBookUtilities.h,v:
unnamed branch from master
Warning: ../mozilla/mozilla/cmd/macfe/central/Attic/msv2dsk.cp,v:
unnamed branch from master
--
Jon Smirl
jonsmirl@gmail.com
[-- Attachment #2: patch --]
[-- Type: application/octet-stream, Size: 1618 bytes --]
diff --git a/gram.y b/gram.y
index 502991e..4566628 100644
--- a/gram.y
+++ b/gram.y
@@ -18,6 +18,7 @@
*/
#include "cvs.h"
+#define YYDEBUG 1
void yyerror (char *msg);
@@ -72,6 +73,7 @@ header : HEAD NUMBER SEMI
| symbollist
{ this_file->symbols = $1; }
| LOCKS SEMI lock_type SEMI
+ | LOCKS NAME COLON NUMBER SEMI lock_type SEMI
| COMMENT DATA SEMI
| EXPAND DATA SEMI
;
@@ -91,6 +93,21 @@ symbol : NAME COLON NUMBER
$$->name = $1;
$$->number = $3;
}
+ | NUMBER COLON NUMBER
+ {
+ char buffer[200];
+ int i, j;
+
+ j = 0;
+ for (i = 0; i < $1.c; i++) {
+ if (i != 0)
+ j += sprintf(&buffer[j], ".");
+ j += sprintf(&buffer[j], "%d", $1.n[i]);
+ }
+ $$ = calloc (1, sizeof (cvs_symbol));
+ $$->name = atom(buffer);
+ $$->number = $3;
+ }
;
revisions : revision revisions
{ $1->next = $2; $$ = $1; }
diff --git a/lex.l b/lex.l
index f25b8a5..956eed7 100644
--- a/lex.l
+++ b/lex.l
@@ -52,7 +52,7 @@ #define YY_INPUT(buf,result,max_size) {
BEGIN(INITIAL);
return TEXT_DATA;
}
-<CONTENT>[-a-zA-Z_0-9+][-a-zA-Z_0-9+/]* {
+<CONTENT>[-a-zA-Z_+][-a-zA-Z_0-9+/.%]* {
yylval.s = atom (yytext);
return NAME;
}
diff --git a/parsecvs.c b/parsecvs.c
index df083c6..e9b8056 100644
--- a/parsecvs.c
+++ b/parsecvs.c
@@ -27,7 +27,9 @@ #endif
cvs_file *this_file;
-rev_execution_mode rev_mode = ExecuteGit;
+//rev_execution_mode rev_mode = ExecuteGit;
+//rev_execution_mode rev_mode = ExecuteGraph;
+rev_execution_mode rev_mode = ExecuteSplits;
int elide = 0;
int difffiles = 1;
^ permalink raw reply related [flat|nested] 47+ messages in thread
* Re: Importing Mozilla CVS into git
2006-06-01 23:48 ` Linus Torvalds
@ 2006-06-02 0:59 ` Jon Smirl
2006-06-02 1:11 ` Linus Torvalds
0 siblings, 1 reply; 47+ messages in thread
From: Jon Smirl @ 2006-06-02 0:59 UTC (permalink / raw)
To: Linus Torvalds; +Cc: git
On 6/1/06, Linus Torvalds <torvalds@osdl.org> wrote:
>
>
> On Thu, 1 Jun 2006, Jon Smirl wrote:
> >
> > I've been working on importing the Mozilla CVS into git for the last
> > few days. I've fixed up parsecvs so that it can parse the entire
> > repository without errors. Now I'm running into problems because there
> > are over 300 branches.
> >
> > I just run into a problem with git show-branch. Mozilla CVS has a lot
> > more than 29 refs, is this something that can be expanded?
>
> Hmm.. Any reason you care about "show-branch --all" in particular?
>
> The algorithm used for show-branch really doesn't scale well, it needs one
> bit per commit per branch, and I didn't realize anybody could ever really
> care.
I was trying to use it to figure out what was wrong with the branch
processing in parsecvs. It doesn't have to be fixed. show-branch --all
fails with same 29 tag limit.
--
Jon Smirl
jonsmirl@gmail.com
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Importing Mozilla CVS into git
2006-06-02 0:59 ` Jon Smirl
@ 2006-06-02 1:11 ` Linus Torvalds
2006-06-02 6:40 ` Junio C Hamano
0 siblings, 1 reply; 47+ messages in thread
From: Linus Torvalds @ 2006-06-02 1:11 UTC (permalink / raw)
To: Jon Smirl; +Cc: git
On Thu, 1 Jun 2006, Jon Smirl wrote:
>
> I was trying to use it to figure out what was wrong with the branch
> processing in parsecvs. It doesn't have to be fixed. show-branch --all
> fails with same 29 tag limit.
You're much better off using "gitk --all" if you want to see the result,
the "show-branch" this is really broken. It is using the old algorithm
that we used to use for "git-rev-tree", and got rid of about a year ago
there in favour of git-rev-list ;)
Linus
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Importing Mozilla CVS into git
2006-06-02 0:55 ` Jon Smirl
@ 2006-06-02 2:07 ` Keith Packard
2006-06-02 2:36 ` Jon Smirl
2006-06-03 4:28 ` Jon Smirl
1 sibling, 1 reply; 47+ messages in thread
From: Keith Packard @ 2006-06-02 2:07 UTC (permalink / raw)
To: Jon Smirl; +Cc: keithp, git
[-- Attachment #1: Type: text/plain, Size: 2212 bytes --]
On Thu, 2006-06-01 at 20:55 -0400, Jon Smirl wrote:
> With the attached patch you can parse the entire Mozilla tree. The
> tree has over 100,000 files in it and about 300 branches.
that's good news.
> I ran this overnight and it failed with out of memory on a 1GB machine
> with 1GB swap. If failed in the branch processing, the parse phase
> succeeded.
yeah, parsecvs has some internal storage inefficiencies which need to be
addressed. In particular, every commit has a pointer to the related
revision of every file in the commit. Much like git used to store every
filename in the commit object and was changed to share common directory
contents, parsecvs should be fixed to do the same.
> How much memory does something like this need?
It's basically 4 * nrev * nfile bytes on a 32-bit machine, multiply by 2
for a 64-bit machine.
> If you want to quickly check out the branch processing problems use
> rsync to pull down just a copy of repository files.
>
> I am getting 1000s of warnings like these and I haven't figured out why yet.
>
> Warning: ../mozilla/mozilla/build/mac/build_scripts/Attic/MozillaCheckoutList.txt,v:
> unnamed branch from master
> Warning: ../mozilla/mozilla/build/unix/run-mozilla.sh,v: unnamed
> branch from master
> Warning: ../mozilla/mozilla/Makefile.in,v: unnamed branch from master of 99855
> Warning: ../mozilla/mozilla/Makefile.in,v: unnamed branch from master
> Warning: ../mozilla/mozilla/allmakefiles.sh,v: unnamed branch from master99855
> Warning: ../mozilla/mozilla/allmakefiles.sh,v: unnamed branch from master
> Warning: ../mozilla/mozilla/cmd/macfe/MailNews/AddressBook/Attic/UAddressBookUtilities.cp,v:
> unnamed branch from master
> Warning: ../mozilla/mozilla/cmd/macfe/MailNews/AddressBook/Attic/UAddressBookUtilities.h,v:
> unnamed branch from master
> Warning: ../mozilla/mozilla/cmd/macfe/central/Attic/msv2dsk.cp,v:
> unnamed branch from master
yeah, these happen when vendor branches go awry. I'll pull the
repository and take a look. X.org had similar 'issues' as the current
CVS repo was built by merging mesa, XFree86 and X.org together in a
rather haphazard fashion.
--
keith.packard@intel.com
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Importing Mozilla CVS into git
2006-06-02 2:07 ` Keith Packard
@ 2006-06-02 2:36 ` Jon Smirl
2006-06-02 2:56 ` Shawn Pearce
2006-06-02 3:39 ` Keith Packard
0 siblings, 2 replies; 47+ messages in thread
From: Jon Smirl @ 2006-06-02 2:36 UTC (permalink / raw)
To: Keith Packard; +Cc: git
On 6/1/06, Keith Packard <keithp@keithp.com> wrote:
> yeah, these happen when vendor branches go awry. I'll pull the
> repository and take a look. X.org had similar 'issues' as the current
> CVS repo was built by merging mesa, XFree86 and X.org together in a
> rather haphazard fashion.
Let me know what you find. Converting this without rewriting parsecvs
looks to be beyond the capacity of my home machine. I'm sure you have
access to giant machines at Intel.
Did I see that you can use CVS client tools to manipulate a git
repository? Mozilla has a lot of users on other OSes besides Linux. It
would be nice to change the core server over to git and leave these
other users running their existing tools.
--
Jon Smirl
jonsmirl@gmail.com
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Importing Mozilla CVS into git
2006-06-02 2:36 ` Jon Smirl
@ 2006-06-02 2:56 ` Shawn Pearce
2006-06-02 3:39 ` Keith Packard
1 sibling, 0 replies; 47+ messages in thread
From: Shawn Pearce @ 2006-06-02 2:56 UTC (permalink / raw)
To: Jon Smirl; +Cc: git
Jon Smirl <jonsmirl@gmail.com> wrote:
> Did I see that you can use CVS client tools to manipulate a git
> repository? Mozilla has a lot of users on other OSes besides Linux. It
> would be nice to change the core server over to git and leave these
> other users running their existing tools.
Yes. Look at git-cvsserver (ships standard as part of GIT).
It should also be faster than the original CVS server. :-)
--
Shawn.
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Importing Mozilla CVS into git
2006-06-02 2:36 ` Jon Smirl
2006-06-02 2:56 ` Shawn Pearce
@ 2006-06-02 3:39 ` Keith Packard
2006-06-02 3:47 ` Jon Smirl
1 sibling, 1 reply; 47+ messages in thread
From: Keith Packard @ 2006-06-02 3:39 UTC (permalink / raw)
To: Jon Smirl; +Cc: keithp, git
[-- Attachment #1: Type: text/plain, Size: 736 bytes --]
On Thu, 2006-06-01 at 22:36 -0400, Jon Smirl wrote:
> Did I see that you can use CVS client tools to manipulate a git
> repository? Mozilla has a lot of users on other OSes besides Linux. It
> would be nice to change the core server over to git and leave these
> other users running their existing tools.
It's possible, but I would not encourage people to use this for anything
other than passive monitoring of the code; CVS semantics are really too
weak to express the capabilities of the git repository, so changes made
through CVS will lose information.
Git runs fine on Windows these days; asking people to use reasonable
tools to contribute to the project doesn't seem crazy to me.
--
keith.packard@intel.com
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Importing Mozilla CVS into git
2006-06-02 3:39 ` Keith Packard
@ 2006-06-02 3:47 ` Jon Smirl
2006-06-02 3:55 ` Keith Packard
0 siblings, 1 reply; 47+ messages in thread
From: Jon Smirl @ 2006-06-02 3:47 UTC (permalink / raw)
To: Keith Packard; +Cc: git
On 6/1/06, Keith Packard <keithp@keithp.com> wrote:
> Git runs fine on Windows these days; asking people to use reasonable
> tools to contribute to the project doesn't seem crazy to me.
WIndows, Mac, Solaris and Linux will cover most Firefox developers.
Is git to go on those platforms? Is WIndows native or cygwin?
There are a few more people on weird platforms that will need a solution.
Are perl and shell script still a requirement?
--
Jon Smirl
jonsmirl@gmail.com
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Importing Mozilla CVS into git
2006-06-02 3:47 ` Jon Smirl
@ 2006-06-02 3:55 ` Keith Packard
2006-06-02 4:00 ` Jon Smirl
2006-06-03 0:09 ` Jon Smirl
0 siblings, 2 replies; 47+ messages in thread
From: Keith Packard @ 2006-06-02 3:55 UTC (permalink / raw)
To: Jon Smirl; +Cc: keithp, git
[-- Attachment #1: Type: text/plain, Size: 887 bytes --]
On Thu, 2006-06-01 at 23:47 -0400, Jon Smirl wrote:
> On 6/1/06, Keith Packard <keithp@keithp.com> wrote:
> > Git runs fine on Windows these days; asking people to use reasonable
> > tools to contribute to the project doesn't seem crazy to me.
>
> WIndows, Mac, Solaris and Linux will cover most Firefox developers.
> Is git to go on those platforms? Is WIndows native or cygwin?
I think the windows stuff may still be cygwin, but Mac and Solaris work
fine with the git, of course. It's just simple posix code, after all
> There are a few more people on weird platforms that will need a solution.
> Are perl and shell script still a requirement?
Yeah, quite a bit of both of those still. Less over time as people
figure out that C code is generally easier to fix than a nasty
combination of C code, shell scripts and perl line noise.
--
keith.packard@intel.com
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Importing Mozilla CVS into git
2006-06-02 3:55 ` Keith Packard
@ 2006-06-02 4:00 ` Jon Smirl
2006-06-02 4:11 ` Shawn Pearce
2006-06-02 4:16 ` Martin Langhoff
2006-06-03 0:09 ` Jon Smirl
1 sibling, 2 replies; 47+ messages in thread
From: Jon Smirl @ 2006-06-02 4:00 UTC (permalink / raw)
To: Keith Packard; +Cc: git
On 6/1/06, Keith Packard <keithp@keithp.com> wrote:
> On Thu, 2006-06-01 at 23:47 -0400, Jon Smirl wrote:
> > On 6/1/06, Keith Packard <keithp@keithp.com> wrote:
> > > Git runs fine on Windows these days; asking people to use reasonable
> > > tools to contribute to the project doesn't seem crazy to me.
> >
> > WIndows, Mac, Solaris and Linux will cover most Firefox developers.
> > Is git to go on those platforms? Is WIndows native or cygwin?
>
> I think the windows stuff may still be cygwin, but Mac and Solaris work
> fine with the git, of course. It's just simple posix code, after all
It is going to have to be native Windows to move some of the
developers over. They are true blue MS types that won't touch anything
close to Unix so cygwin is out.
--
Jon Smirl
jonsmirl@gmail.com
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Importing Mozilla CVS into git
2006-06-02 4:00 ` Jon Smirl
@ 2006-06-02 4:11 ` Shawn Pearce
2006-06-02 4:39 ` Pavel Roskin
2006-06-02 4:16 ` Martin Langhoff
1 sibling, 1 reply; 47+ messages in thread
From: Shawn Pearce @ 2006-06-02 4:11 UTC (permalink / raw)
To: Jon Smirl; +Cc: Keith Packard, git
Jon Smirl <jonsmirl@gmail.com> wrote:
> On 6/1/06, Keith Packard <keithp@keithp.com> wrote:
> >On Thu, 2006-06-01 at 23:47 -0400, Jon Smirl wrote:
> >> On 6/1/06, Keith Packard <keithp@keithp.com> wrote:
> >> > Git runs fine on Windows these days; asking people to use reasonable
> >> > tools to contribute to the project doesn't seem crazy to me.
> >>
> >> WIndows, Mac, Solaris and Linux will cover most Firefox developers.
> >> Is git to go on those platforms? Is WIndows native or cygwin?
> >
> >I think the windows stuff may still be cygwin, but Mac and Solaris work
> >fine with the git, of course. It's just simple posix code, after all
>
> It is going to have to be native Windows to move some of the
> developers over. They are true blue MS types that won't touch anything
> close to Unix so cygwin is out.
Then GIT on Windows might be out.
GIT today requires not only a decent UNIX shell but also, GNU tools,
Perl and Python. Porting to Solaris has recently had some more
effort put into it to remove some of the GNU tool dependencies but
perhaps one of the most important features (git-merge-recursive)
is a Python script.
I'm running GIT at work on a Windows/Cygwin installation which is
really quite bare bones. I think I have about 15 Cygwin packages
installed total and GIT is running fine in that environment.
It can't send patches by email but the corporate firewalls wouldn't
permit that anyway...
Perhaps you can tell the true blue MS types that Cygwin is a native
Windows application. After all it uses the Win32 API. :-)
--
Shawn.
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Importing Mozilla CVS into git
2006-06-01 22:21 Importing Mozilla CVS into git Jon Smirl
2006-06-01 23:20 ` Keith Packard
2006-06-01 23:48 ` Linus Torvalds
@ 2006-06-02 4:14 ` Martin Langhoff
2 siblings, 0 replies; 47+ messages in thread
From: Martin Langhoff @ 2006-06-02 4:14 UTC (permalink / raw)
To: Jon Smirl; +Cc: git
Jon,
> Is anyone interested in helping out with this? My knowledge of git and
> CVS is limited. Mozilla CVS is about 3GB and it is available via
> rsync. I can post the parsecvs changes if wanted.
Fetchin it now, I'll definitely have a play. Have you tried with a
recent git-cvsimport? In the last 2 weeks it's seen a lot of
performance & scalability improvements as we were importing the
gentoo-x86 tree.
Grab the latest 'master' branch from Junio and give the import a go.
cheers,
martin
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Importing Mozilla CVS into git
2006-06-02 4:00 ` Jon Smirl
2006-06-02 4:11 ` Shawn Pearce
@ 2006-06-02 4:16 ` Martin Langhoff
2006-06-03 23:16 ` Robin Rosenberg (list subscriber)
1 sibling, 1 reply; 47+ messages in thread
From: Martin Langhoff @ 2006-06-02 4:16 UTC (permalink / raw)
To: Jon Smirl; +Cc: Keith Packard, git
On 6/2/06, Jon Smirl <jonsmirl@gmail.com> wrote:
> It is going to have to be native Windows to move some of the
> developers over. They are true blue MS types that won't touch anything
> close to Unix so cygwin is out.
As others have pointed out, you have git-cvsserver which emulates a
CVS server on top of GIT, so it can be used with (almost any) CVS
client. They will be 2nd class citizens however...
cheers,
martin
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Importing Mozilla CVS into git
2006-06-02 4:11 ` Shawn Pearce
@ 2006-06-02 4:39 ` Pavel Roskin
2006-06-02 4:44 ` Shawn Pearce
2006-06-02 4:44 ` Jon Smirl
0 siblings, 2 replies; 47+ messages in thread
From: Pavel Roskin @ 2006-06-02 4:39 UTC (permalink / raw)
To: Shawn Pearce; +Cc: Jon Smirl, Keith Packard, git
On Fri, 2006-06-02 at 00:11 -0400, Shawn Pearce wrote:
> GIT today requires not only a decent UNIX shell but also, GNU tools,
> Perl and Python. Porting to Solaris has recently had some more
> effort put into it to remove some of the GNU tool dependencies but
> perhaps one of the most important features (git-merge-recursive)
> is a Python script.
The great thing about git is that it's modular. A single utility can be
replaced and retested in the same environment, without having to rewrite
the rest of the scripts. A dedicated programmer with good C and Python
skills could rewrite git-merge-recursive.py in C in 2 days, I believe.
Add a few days of bug fixing, of course.
Dependency on Cygwin, Perl and Python is too much. Windows is becoming
a legacy system in some circles, and it may run on legacy hardware. Yet
it's irreplaceable as a testing platform for many projects.
I really need to rewrite git-clean in C, since it doesn't handle
embedded newlines properly.
--
Regards,
Pavel Roskin
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Importing Mozilla CVS into git
2006-06-02 4:39 ` Pavel Roskin
@ 2006-06-02 4:44 ` Shawn Pearce
2006-06-02 7:46 ` Johannes Schindelin
2006-06-02 4:44 ` Jon Smirl
1 sibling, 1 reply; 47+ messages in thread
From: Shawn Pearce @ 2006-06-02 4:44 UTC (permalink / raw)
To: Pavel Roskin; +Cc: Jon Smirl, Keith Packard, git
Pavel Roskin <proski@gnu.org> wrote:
> On Fri, 2006-06-02 at 00:11 -0400, Shawn Pearce wrote:
>
> > GIT today requires not only a decent UNIX shell but also, GNU tools,
> > Perl and Python. Porting to Solaris has recently had some more
> > effort put into it to remove some of the GNU tool dependencies but
> > perhaps one of the most important features (git-merge-recursive)
> > is a Python script.
>
> The great thing about git is that it's modular. A single utility can be
> replaced and retested in the same environment, without having to rewrite
> the rest of the scripts. A dedicated programmer with good C and Python
> skills could rewrite git-merge-recursive.py in C in 2 days, I believe.
> Add a few days of bug fixing, of course.
Heh. Funny you should mention that. I was just thinking a few
minutes ago about working on that exact change...
> Dependency on Cygwin, Perl and Python is too much. Windows is becoming
> a legacy system in some circles, and it may run on legacy hardware. Yet
> it's irreplaceable as a testing platform for many projects.
Its already legacy to me. Heck its 2006 and my work desktop still
says something about 2000 when I login. :-)
--
Shawn.
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Importing Mozilla CVS into git
2006-06-02 4:39 ` Pavel Roskin
2006-06-02 4:44 ` Shawn Pearce
@ 2006-06-02 4:44 ` Jon Smirl
2006-06-07 9:02 ` Igor Bukanov
1 sibling, 1 reply; 47+ messages in thread
From: Jon Smirl @ 2006-06-02 4:44 UTC (permalink / raw)
To: Pavel Roskin; +Cc: Shawn Pearce, Keith Packard, git
On 6/2/06, Pavel Roskin <proski@gnu.org> wrote:
> Dependency on Cygwin, Perl and Python is too much. Windows is becoming
> a legacy system in some circles, and it may run on legacy hardware. Yet
> it's irreplaceable as a testing platform for many projects.
80% of Mozilla commiters are running Windows. Some are OS bilingual
but many are not.
--
Jon Smirl
jonsmirl@gmail.com
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Importing Mozilla CVS into git
2006-06-02 1:11 ` Linus Torvalds
@ 2006-06-02 6:40 ` Junio C Hamano
2006-06-02 15:53 ` Linus Torvalds
0 siblings, 1 reply; 47+ messages in thread
From: Junio C Hamano @ 2006-06-02 6:40 UTC (permalink / raw)
To: Linus Torvalds; +Cc: git
Linus Torvalds <torvalds@osdl.org> writes:
> You're much better off using "gitk --all" if you want to see the result,
> the "show-branch" this is really broken. It is using the old algorithm
> that we used to use for "git-rev-tree", and got rid of about a year ago
> there in favour of git-rev-list ;)
Are you sure about it? My recollection is it uses the
merge-base logic, naturally enhanced for multiple heads.
And enhancing it to support more than one int wide bitmap should
not be too difficult, although looking at the output would be
very taxing for human eye, so I do not know if it is worth it.
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Importing Mozilla CVS into git
2006-06-02 4:44 ` Shawn Pearce
@ 2006-06-02 7:46 ` Johannes Schindelin
0 siblings, 0 replies; 47+ messages in thread
From: Johannes Schindelin @ 2006-06-02 7:46 UTC (permalink / raw)
To: Shawn Pearce; +Cc: Pavel Roskin, Jon Smirl, Keith Packard, git
Hi,
On Fri, 2 Jun 2006, Shawn Pearce wrote:
> Pavel Roskin <proski@gnu.org> wrote:
> > On Fri, 2006-06-02 at 00:11 -0400, Shawn Pearce wrote:
> >
> > > GIT today requires not only a decent UNIX shell but also, GNU tools,
> > > Perl and Python. Porting to Solaris has recently had some more
> > > effort put into it to remove some of the GNU tool dependencies but
> > > perhaps one of the most important features (git-merge-recursive)
> > > is a Python script.
> >
> > The great thing about git is that it's modular. A single utility can be
> > replaced and retested in the same environment, without having to rewrite
> > the rest of the scripts. A dedicated programmer with good C and Python
> > skills could rewrite git-merge-recursive.py in C in 2 days, I believe.
> > Add a few days of bug fixing, of course.
>
> Heh. Funny you should mention that. I was just thinking a few
> minutes ago about working on that exact change...
I thought about this a couple of weeks ago. I recalled to have read
something about the principle: if there is more than one merge-base
candidate, it starts by merging the merge-base candidates until there is
only one 'virtual' merge-base candidate.
However, looking at the code I fainted. Sure, a lot should be way easier
in C, because the functions are already there, _but_ it seemed too much
work for one afternoon nevertheless (and I did not have more time to
spare).
Ciao,
Dscho
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Importing Mozilla CVS into git
2006-06-02 6:40 ` Junio C Hamano
@ 2006-06-02 15:53 ` Linus Torvalds
2006-06-02 16:00 ` Junio C Hamano
0 siblings, 1 reply; 47+ messages in thread
From: Linus Torvalds @ 2006-06-02 15:53 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git
On Thu, 1 Jun 2006, Junio C Hamano wrote:
> > You're much better off using "gitk --all" if you want to see the result,
> > the "show-branch" this is really broken. It is using the old algorithm
> > that we used to use for "git-rev-tree", and got rid of about a year ago
> > there in favour of git-rev-list ;)
>
> Are you sure about it? My recollection is it uses the
> merge-base logic, naturally enhanced for multiple heads.
Well, it's all the same algorithm, where just the bit usage differs.
git-rev-tree is slightly closer, if only because the original
git-merge-base only did two heads, if I recall correctly (while
git-rev-tree did 16 - the ability of git-show-branch to do 29 came from
just using all the free bits rather than the high bits like rev-tree did)
> And enhancing it to support more than one int wide bitmap should
> not be too difficult, although looking at the output would be
> very taxing for human eye, so I do not know if it is worth it.
Yeah, I don't think there is any reason to really support it. If you have
more than a few heads, you really do need the graphical version to see
what is going on, and git-show-branch doesn't buy you anything.
Linus
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Importing Mozilla CVS into git
2006-06-02 15:53 ` Linus Torvalds
@ 2006-06-02 16:00 ` Junio C Hamano
0 siblings, 0 replies; 47+ messages in thread
From: Junio C Hamano @ 2006-06-02 16:00 UTC (permalink / raw)
To: Linus Torvalds; +Cc: git
Linus Torvalds <torvalds@osdl.org> writes:
> Yeah, I don't think there is any reason to really support it. If you have
> more than a few heads, you really do need the graphical version to see
> what is going on, and git-show-branch doesn't buy you anything.
The real reason it uses a bit per given ref is what it wants to
show is different from what gitk shows. It wants to show which
ones are reachable from which head on each commit -- in gitk the
user has to follow the line to find it out.
However, to track 300 branches, you would need a terminal with
360 columns or so, _and_ you have to count columns to see if a
given commit is reachable from the ref you are interested in, so
it is not useful at all in practice to do more than a handful
refs at a time.
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Importing Mozilla CVS into git
2006-06-02 3:55 ` Keith Packard
2006-06-02 4:00 ` Jon Smirl
@ 2006-06-03 0:09 ` Jon Smirl
1 sibling, 0 replies; 47+ messages in thread
From: Jon Smirl @ 2006-06-03 0:09 UTC (permalink / raw)
To: Keith Packard; +Cc: git
If I parsecvs this pair it fails:
/home/jonsmirl/mozilla/mozilla/dom/src/base/nsFocusController.h,v
/home/jonsmirl/mozilla/mozilla/dom/src/base/nsGlobalWindow.cpp,v
[jonsmirl@jonsmirl foo]$ ../parsecvs <sm2
defaulting to local storage area
Load: nsGlobalWindow.cpp,v ....................* 2 of 2
Warning: branch point MOZILLA_1_0_BRANCH -> master matched by date
fatal: Not a valid object name (null)
git-read-tree '(null)' failed
[jonsmirl@jonsmirl foo]$
But parsecvs works on each of them individually.
--
Jon Smirl
jonsmirl@gmail.com
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Importing Mozilla CVS into git
2006-06-02 0:55 ` Jon Smirl
2006-06-02 2:07 ` Keith Packard
@ 2006-06-03 4:28 ` Jon Smirl
2006-06-06 5:55 ` Martin Langhoff
1 sibling, 1 reply; 47+ messages in thread
From: Jon Smirl @ 2006-06-03 4:28 UTC (permalink / raw)
Cc: git
On 6/1/06, Jon Smirl <jonsmirl@gmail.com> wrote:
> With the attached patch you can parse the entire Mozilla tree. The
> tree has over 100,000 files in it and about 300 branches.
I was a little low with these counts, more like 110,000 files and some
parts of the tree have 1,000 branches. Total tree size is 3GB.
--
Jon Smirl
jonsmirl@gmail.com
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Importing Mozilla CVS into git
2006-06-02 4:16 ` Martin Langhoff
@ 2006-06-03 23:16 ` Robin Rosenberg (list subscriber)
2006-06-03 23:47 ` Linus Torvalds
0 siblings, 1 reply; 47+ messages in thread
From: Robin Rosenberg (list subscriber) @ 2006-06-03 23:16 UTC (permalink / raw)
To: Martin Langhoff; +Cc: Jon Smirl, Keith Packard, git
fredag 02 juni 2006 06:16 skrev Martin Langhoff:
> On 6/2/06, Jon Smirl <jonsmirl@gmail.com> wrote:
> > It is going to have to be native Windows to move some of the
> > developers over. They are true blue MS types that won't touch anything
> > close to Unix so cygwin is out.
That could be fixed with nice packaging since many CVS users in Windows
never use a command line anyway since TortoiseCVS is so nice.
> As others have pointed out, you have git-cvsserver which emulates a
> CVS server on top of GIT, so it can be used with (almost any) CVS
> client. They will be 2nd class citizens however...
(Yet) Another problem is that many windows tools use CR LF as the line ending.
Almost all windows editors default to CRLF and some detect existing line
endings. No editing with notepad anymore. Of course that is a problem
regardless of whether a git or cvs client is used. You'll get these big
everything-changed commits that alter between CRLF and LF.
-- robin
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Importing Mozilla CVS into git
2006-06-03 23:16 ` Robin Rosenberg (list subscriber)
@ 2006-06-03 23:47 ` Linus Torvalds
2006-06-04 2:24 ` Bertrand Jacquin
` (2 more replies)
0 siblings, 3 replies; 47+ messages in thread
From: Linus Torvalds @ 2006-06-03 23:47 UTC (permalink / raw)
To: Robin Rosenberg (list subscriber)
Cc: Martin Langhoff, Jon Smirl, Keith Packard, git
On Sun, 4 Jun 2006, Robin Rosenberg (list subscriber) wrote:
>
> (Yet) Another problem is that many windows tools use CR LF as the line ending.
> Almost all windows editors default to CRLF and some detect existing line
> endings. No editing with notepad anymore. Of course that is a problem
> regardless of whether a git or cvs client is used. You'll get these big
> everything-changed commits that alter between CRLF and LF.
The only sane approach there (if you want to be at all cross-platform) is
to just force everybody to _commit_ in UNIX '\n'-only format. Especially
as most Windows tools probably handle that fine on reading (just have
trouble writing them).
And that shouldn't actually be that hard to do. The most trivial approach
is to have just a pre-trigger on commits, but let's face it, that would
not be a good "full" solution. A better one is to just make the whole
"git update-index" thing just have a "automatically ignore CR/LF" mode.
Which really shouldn't be that hard. I think it's literally a matter of
teaching "index_fd()" in sha1_file.c to recognize text-files, and remove
CR/LF from them. All done (except to add the flag that enables the
detection, of course - just so that sane systems won't have the overhead
or the "corrupt binary files" issue).
Something like this is TOTALLY UNTESTED!
(You also need to teach "diff" to ignore differences in cr/lf, and this
patch is bad because it's unconditional, and probably doesn't work
anyway, but hey, the idea is possibly sound. Maybe)
Linus
---
diff --git a/sha1_file.c b/sha1_file.c
index aea0f40..6dc6a3f 100644
--- a/sha1_file.c
+++ b/sha1_file.c
@@ -1740,9 +1740,30 @@ int index_pipe(unsigned char *sha1, int
return ret;
}
+static unsigned long autodetect_crlf(unsigned char *src, unsigned long size)
+{
+ unsigned long newsize = 0;
+ unsigned char *dst = src;
+ unsigned char last = 0;
+
+ while (size) {
+ unsigned char c = *src++;
+ if (last == '\r' && c == '\n') {
+ dst[-1] = '\n';
+ } else {
+ newsize++;
+ dst++;
+ if (dst != src)
+ dst[-1] = c;
+ }
+ last = c;
+ }
+ return newsize;
+}
+
int index_fd(unsigned char *sha1, int fd, struct stat *st, int write_object, const char *type)
{
- unsigned long size = st->st_size;
+ unsigned long size = st->st_size, use_size;
void *buf;
int ret;
unsigned char hdr[50];
@@ -1755,12 +1776,15 @@ int index_fd(unsigned char *sha1, int fd
if (buf == MAP_FAILED)
return -1;
- if (!type)
+ use_size = size;
+ if (!type) {
type = blob_type;
+ use_size = autodetect_crlf(buf, size);
+ }
if (write_object)
- ret = write_sha1_file(buf, size, type, sha1);
+ ret = write_sha1_file(buf, use_size, type, sha1);
else {
- write_sha1_file_prepare(buf, size, type, sha1, hdr, &hdrlen);
+ write_sha1_file_prepare(buf, use_size, type, sha1, hdr, &hdrlen);
ret = 0;
}
if (size)
^ permalink raw reply related [flat|nested] 47+ messages in thread
* Re: Importing Mozilla CVS into git
2006-06-03 23:47 ` Linus Torvalds
@ 2006-06-04 2:24 ` Bertrand Jacquin
2006-06-04 7:05 ` Jakub Narebski
2006-06-05 0:10 ` Yakov Lerner
2 siblings, 0 replies; 47+ messages in thread
From: Bertrand Jacquin @ 2006-06-04 2:24 UTC (permalink / raw)
To: Linus Torvalds
Cc: Robin Rosenberg (list subscriber), Martin Langhoff, Jon Smirl,
Keith Packard, git
On 6/4/06, Linus Torvalds <torvalds@osdl.org> wrote:
>
>
> On Sun, 4 Jun 2006, Robin Rosenberg (list subscriber) wrote:
> >
> > (Yet) Another problem is that many windows tools use CR LF as the line ending.
> > Almost all windows editors default to CRLF and some detect existing line
> > endings. No editing with notepad anymore. Of course that is a problem
> > regardless of whether a git or cvs client is used. You'll get these big
> > everything-changed commits that alter between CRLF and LF.
>
> The only sane approach there (if you want to be at all cross-platform) is
> to just force everybody to _commit_ in UNIX '\n'-only format. Especially
> as most Windows tools probably handle that fine on reading (just have
> trouble writing them).
>
> And that shouldn't actually be that hard to do. The most trivial approach
> is to have just a pre-trigger on commits, but let's face it, that would
> not be a good "full" solution. A better one is to just make the whole
> "git update-index" thing just have a "automatically ignore CR/LF" mode.
>
> Which really shouldn't be that hard. I think it's literally a matter of
> teaching "index_fd()" in sha1_file.c to recognize text-files, and remove
> CR/LF from them. All done (except to add the flag that enables the
> detection, of course - just so that sane systems won't have the overhead
> or the "corrupt binary files" issue).
>
> Something like this is TOTALLY UNTESTED!
>
> (You also need to teach "diff" to ignore differences in cr/lf, and this
> patch is bad because it's unconditional, and probably doesn't work
> anyway, but hey, the idea is possibly sound. Maybe)
Is it also apply for binary files ? It could corrupt files as well.
If end-user application don't understand '\n' but '\r\n', you can have
bad issues (I think to notepad here (yes crappy, but ..)). Couldn't it
be configurable ?
--
# Beber : beber@gna.org
# IM : beber@jabber.fr
# http://guybrush.ath.cx, irc://irc.freenode.net/#{e.fr,gentoofr}
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Importing Mozilla CVS into git
2006-06-03 23:47 ` Linus Torvalds
2006-06-04 2:24 ` Bertrand Jacquin
@ 2006-06-04 7:05 ` Jakub Narebski
2006-06-04 17:55 ` Linus Torvalds
2006-06-05 0:10 ` Yakov Lerner
2 siblings, 1 reply; 47+ messages in thread
From: Jakub Narebski @ 2006-06-04 7:05 UTC (permalink / raw)
To: git
On Sun, 4 Jun 2006, Linus Torvalds wrote:
> On Sun, 4 Jun 2006, Robin Rosenberg (list subscriber) wrote:
>>
>> (Yet) Another problem is that many windows tools use CR LF as the line ending.
>> Almost all windows editors default to CRLF and some detect existing line
>> endings. No editing with notepad anymore. Of course that is a problem
>> regardless of whether a git or cvs client is used. You'll get these big
>> everything-changed commits that alter between CRLF and LF.
>
> The only sane approach there (if you want to be at all cross-platform) is
> to just force everybody to _commit_ in UNIX '\n'-only format. Especially
> as most Windows tools probably handle that fine on reading (just have
> trouble writing them).
>
> And that shouldn't actually be that hard to do. The most trivial approach
> is to have just a pre-trigger on commits, but let's face it, that would
> not be a good "full" solution. A better one is to just make the whole
> "git update-index" thing just have a "automatically ignore CR/LF" mode.
Why wouldn't it be good solution?
BTW. wouldn't Mercurial encode/decode filters
http://www.selenic.com/mercurial/wiki/index.cgi/EncodeDecodeFilter
be a better solution than modifying files by "git update-index",
with all problems it can cause (not detected binary files, text files
which have to be in CR/LF line ending,...).
--
Jakub Narebski
Warsaw, Poland
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Importing Mozilla CVS into git
2006-06-04 7:05 ` Jakub Narebski
@ 2006-06-04 17:55 ` Linus Torvalds
2006-06-04 19:44 ` Robin Rosenberg (list subscriber)
0 siblings, 1 reply; 47+ messages in thread
From: Linus Torvalds @ 2006-06-04 17:55 UTC (permalink / raw)
To: Jakub Narebski; +Cc: git
On Sun, 4 Jun 2006, Jakub Narebski wrote:
> >
> > And that shouldn't actually be that hard to do. The most trivial approach
> > is to have just a pre-trigger on commits, but let's face it, that would
> > not be a good "full" solution. A better one is to just make the whole
> > "git update-index" thing just have a "automatically ignore CR/LF" mode.
>
> Why wouldn't it be good solution?
The pre-commit filter thing should work fine, and hey, maybe it's worth
doing that way. I just worry/think that it will result in tons of noise
when you do a "git diff" and "git update-index --refresh" on a file that
has been changed, but then the change reverted.
But I didn't really think it through very deeply, it was just an idle "I
think the pre-commit hook will fall down when X happens that is a
non-commit event" thought. I suspect this is one of those things where
somebody actually working in that kind of environment will figure out what
the problems are, and what the righ solution is.
> BTW. wouldn't Mercurial encode/decode filters
>
> http://www.selenic.com/mercurial/wiki/index.cgi/EncodeDecodeFilter
>
> be a better solution than modifying files by "git update-index",
> with all problems it can cause (not detected binary files, text files
> which have to be in CR/LF line ending,...).
Please do realize that the patch I sent out was absolutely _not_ meant to
be taken seriously. It was more a "somebody could try this in a windows
environment, and if it works as an approach, we can try to do it right".
I'm absolutely _not_ suggesting merging that patch as-is or even in any
form very close to it. It clearly needs a config file entry with filename
patterns etc at a minimum.
Linus
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Importing Mozilla CVS into git
2006-06-04 17:55 ` Linus Torvalds
@ 2006-06-04 19:44 ` Robin Rosenberg (list subscriber)
2006-06-04 20:00 ` Linus Torvalds
0 siblings, 1 reply; 47+ messages in thread
From: Robin Rosenberg (list subscriber) @ 2006-06-04 19:44 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Jakub Narebski, git
söndag 04 juni 2006 19:55 skrev Linus Torvalds:
> On Sun, 4 Jun 2006, Jakub Narebski wrote:
> > > And that shouldn't actually be that hard to do. The most trivial
> > > approach is to have just a pre-trigger on commits, but let's face it,
> > > that would not be a good "full" solution. A better one is to just make
> > > the whole "git update-index" thing just have a "automatically ignore
> > > CR/LF" mode.
> >
> > Why wouldn't it be good solution?
>
> The pre-commit filter thing should work fine, and hey, maybe it's worth
> doing that way. I just worry/think that it will result in tons of noise
> when you do a "git diff" and "git update-index --refresh" on a file that
> has been changed, but then the change reverted.
>
> But I didn't really think it through very deeply, it was just an idle "I
> think the pre-commit hook will fall down when X happens that is a
> non-commit event" thought. I suspect this is one of those things where
> somebody actually working in that kind of environment will figure out what
> the problems are, and what the righ solution is.
>
> > BTW. wouldn't Mercurial encode/decode filters
> >
> > http://www.selenic.com/mercurial/wiki/index.cgi/EncodeDecodeFilter
> >
> > be a better solution than modifying files by "git update-index",
> > with all problems it can cause (not detected binary files, text files
> > which have to be in CR/LF line ending,...).
>
> Please do realize that the patch I sent out was absolutely _not_ meant to
> be taken seriously. It was more a "somebody could try this in a windows
> environment, and if it works as an approach, we can try to do it right".
Other version control systems simply treat text and binary files differently.
No smart(ass) logic doing the wrong thing. A text file gets processed on
check-in AND checkout depending on it's type and the client setting.
Some heuristics may be applied when adding files. i.e look-up according to
magic cookies or looking for bytes that simply do not occur in text files
(e..g a nul byte). Those few systems that I know about treat the type as a
file (as opposed to a version specific) attribute. Some systems have lots of
file types, not just text and binary. Encoding is about the only thing that
would interest me, although not terribly important (except the file name),
but that may be off topic for this thread.
The hash-on-the whole-tree might be a reason for making the attribute
version-specific.
Mercurial's filters sounds like a good way to implement file types in a
generic way as long as git's excellent performance isn't hurt.
> I'm absolutely _not_ suggesting merging that patch as-is or even in any
> form very close to it. It clearly needs a config file entry with filename
> patterns etc at a minimum.
Do people apply your patches right away, like it's some god-like commandments?
-- robin
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Importing Mozilla CVS into git
2006-06-04 19:44 ` Robin Rosenberg (list subscriber)
@ 2006-06-04 20:00 ` Linus Torvalds
2006-06-04 21:25 ` Robin Rosenberg (list subscriber)
0 siblings, 1 reply; 47+ messages in thread
From: Linus Torvalds @ 2006-06-04 20:00 UTC (permalink / raw)
To: Robin Rosenberg (list subscriber); +Cc: Jakub Narebski, git
On Sun, 4 Jun 2006, Robin Rosenberg (list subscriber) wrote:
>
> Other version control systems simply treat text and binary files differently.
> No smart(ass) logic doing the wrong thing.
Treating text and binary file differently _is_ the "smart(ass) logic doing
the wrong thing".
Git really shouldn't do that. The patch was meant to show how you really
don't need to - the internal objects would never be "binary vs text",
there would be a way to just basically map one onto another.
> > I'm absolutely _not_ suggesting merging that patch as-is or even in any
> > form very close to it. It clearly needs a config file entry with filename
> > patterns etc at a minimum.
>
> Do people apply your patches right away, like it's some god-like commandments?
What's your problem here, exactly?
I was just trying to point out that my patch was an example, where
somebody who cares (not me) can use it as a starting point.
If you can't be civil, at least be quiet, ok?
Linus
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Importing Mozilla CVS into git
2006-06-04 20:00 ` Linus Torvalds
@ 2006-06-04 21:25 ` Robin Rosenberg (list subscriber)
2006-06-04 22:02 ` Robin Rosenberg (list subscriber)
2006-06-04 23:19 ` Linus Torvalds
0 siblings, 2 replies; 47+ messages in thread
From: Robin Rosenberg (list subscriber) @ 2006-06-04 21:25 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Jakub Narebski, git
söndag 04 juni 2006 22:00 skrev Linus Torvalds:
> On Sun, 4 Jun 2006, Robin Rosenberg (list subscriber) wrote:
> > Other version control systems simply treat text and binary files
> > differently. No smart(ass) logic doing the wrong thing.
>
> Treating text and binary file differently _is_ the "smart(ass) logic doing
> the wrong thing".
>
> Git really shouldn't do that. The patch was meant to show how you really
> don't need to - the internal objects would never be "binary vs text",
> there would be a way to just basically map one onto another.
Your patch assumes all files are text and the transformation doesn't corrupt
the file, which isn't true. CR-LF combinations cannot be translated to LF and
vice verse in all files, simply becuase what looks like CR LF isn't two
characters, but something else. Looking for a nul byte and possibly some
other magic byte would make you right more often, but not always.
[...]
> If you can't be civil, at least be quiet, ok?
>
> Linus
A bad joke, I'm sorry. It wasn't ment to be offensive.
-- robin
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Importing Mozilla CVS into git
2006-06-04 21:25 ` Robin Rosenberg (list subscriber)
@ 2006-06-04 22:02 ` Robin Rosenberg (list subscriber)
2006-06-04 23:19 ` Linus Torvalds
1 sibling, 0 replies; 47+ messages in thread
From: Robin Rosenberg (list subscriber) @ 2006-06-04 22:02 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Jakub Narebski, git
Just forget this post... @_@ (except the last line)
söndag 04 juni 2006 23:25 skrev Robin Rosenberg (list subscriber):
> söndag 04 juni 2006 22:00 skrev Linus Torvalds:
> > On Sun, 4 Jun 2006, Robin Rosenberg (list subscriber) wrote:
> > > Other version control systems simply treat text and binary files
> > > differently. No smart(ass) logic doing the wrong thing.
> >
> > Treating text and binary file differently _is_ the "smart(ass) logic
> > doing the wrong thing".
> >
> > Git really shouldn't do that. The patch was meant to show how you really
> > don't need to - the internal objects would never be "binary vs text",
> > there would be a way to just basically map one onto another.
>
> Your patch assumes all files are text and the transformation doesn't
> corrupt the file, which isn't true. CR-LF combinations cannot be translated
> to LF and vice verse in all files, simply becuase what looks like CR LF
> isn't two characters, but something else. Looking for a nul byte and
> possibly some other magic byte would make you right more often, but not
> always.
>
> [...]
>
> > If you can't be civil, at least be quiet, ok?
> >
> > Linus
>
> A bad joke, I'm sorry. It wasn't ment to be offensive.
>
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Importing Mozilla CVS into git
2006-06-04 21:25 ` Robin Rosenberg (list subscriber)
2006-06-04 22:02 ` Robin Rosenberg (list subscriber)
@ 2006-06-04 23:19 ` Linus Torvalds
1 sibling, 0 replies; 47+ messages in thread
From: Linus Torvalds @ 2006-06-04 23:19 UTC (permalink / raw)
To: Robin Rosenberg (list subscriber); +Cc: Jakub Narebski, git
On Sun, 4 Jun 2006, Robin Rosenberg (list subscriber) wrote:
>
> Your patch assumes all files are text and the transformation doesn't corrupt
> the file, which isn't true.
How do you think things get done? You test the _technology_ first, and
then if that is shown to be workable in a real environment, _then_ do you
actually add the polish to make it useful.
That was all the patch was. A technology demonstration. I'd really like to
hear whether it works in a simple CR/LF environment, because if it
doesn't, then it needs some totally different approach.
And yes, I could test it myself, but (a) I'm way too lazy and (b) I
consciously try to get others involved because it's a better long-term
strategy (because I expect to be ay too lazy in the future too)
Linus
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Importing Mozilla CVS into git
2006-06-03 23:47 ` Linus Torvalds
2006-06-04 2:24 ` Bertrand Jacquin
2006-06-04 7:05 ` Jakub Narebski
@ 2006-06-05 0:10 ` Yakov Lerner
2 siblings, 0 replies; 47+ messages in thread
From: Yakov Lerner @ 2006-06-05 0:10 UTC (permalink / raw)
To: git
On 6/4/06, Linus Torvalds <torvalds@osdl.org> wrote:
+static unsigned long autodetect_crlf(unsigned char *src, unsigned long size)
> +{
> + unsigned long newsize = 0;
> + unsigned char *dst = src;
> + unsigned char last = 0;
> +
> + while (size) {
> + unsigned char c = *src++;
size--;
is missing
> + if (last == '\r' && c == '\n') {
> + dst[-1] = '\n';
> + } else {
> + newsize++;
> + dst++;
> + if (dst != src)
> + dst[-1] = c;
> + }
> + last = c;
> + }
> + return newsize;
> +}
Yakov
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Importing Mozilla CVS into git
2006-06-03 4:28 ` Jon Smirl
@ 2006-06-06 5:55 ` Martin Langhoff
2006-06-06 15:13 ` Jon Smirl
0 siblings, 1 reply; 47+ messages in thread
From: Martin Langhoff @ 2006-06-06 5:55 UTC (permalink / raw)
To: Jon Smirl; +Cc: git
On 6/3/06, Jon Smirl <jonsmirl@gmail.com> wrote:
> On 6/1/06, Jon Smirl <jonsmirl@gmail.com> wrote:
> > With the attached patch you can parse the entire Mozilla tree. The
> > tree has over 100,000 files in it and about 300 branches.
>
> I was a little low with these counts, more like 110,000 files and some
> parts of the tree have 1,000 branches. Total tree size is 3GB.
I don't think it really has that many branches. If I am to believe
cvsps (which took 3GB to walk the history), it has some branches with
recursive loops in their ancestry (MANG_MATH_BRANCH and
SpiderMonkey140_BRANCH have eachother as ancestors!?), 197969 commits
and 796 branches.
This repository has been mangled quite badly. Don't know what you guys
did with it, but it sure isn't pretty. I'm working on getting
git-cvsimport to get through a complete import.
cheers,
martin
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Importing Mozilla CVS into git
2006-06-06 5:55 ` Martin Langhoff
@ 2006-06-06 15:13 ` Jon Smirl
2006-06-06 19:57 ` Martin Langhoff
2006-06-07 0:40 ` Jon Smirl
0 siblings, 2 replies; 47+ messages in thread
From: Jon Smirl @ 2006-06-06 15:13 UTC (permalink / raw)
To: Martin Langhoff; +Cc: git
On 6/6/06, Martin Langhoff <martin.langhoff@gmail.com> wrote:
> On 6/3/06, Jon Smirl <jonsmirl@gmail.com> wrote:
> > On 6/1/06, Jon Smirl <jonsmirl@gmail.com> wrote:
> > > With the attached patch you can parse the entire Mozilla tree. The
> > > tree has over 100,000 files in it and about 300 branches.
> >
> > I was a little low with these counts, more like 110,000 files and some
> > parts of the tree have 1,000 branches. Total tree size is 3GB.
>
> I don't think it really has that many branches. If I am to believe
> cvsps (which took 3GB to walk the history), it has some branches with
> recursive loops in their ancestry (MANG_MATH_BRANCH and
> SpiderMonkey140_BRANCH have eachother as ancestors!?), 197969 commits
> and 796 branches.
It probably is 796 and not a 1,000. The branch names were scrolling
across my screen and I just estimated.
> This repository has been mangled quite badly. Don't know what you guys
> did with it, but it sure isn't pretty. I'm working on getting
> git-cvsimport to get through a complete import.
The repository is close to 10 years old and it has gone through a
number of corporate reorgs. Who knows what has happened to it over
that length of time.
Have you looked at the SVN CVS import tool? It imported Mozilla on the
first try. If you download the source they have built about 40 test
repositories with various errors. Those would make a good test suite
for cvsps. http://cvs2svn.tigris.org
I have been working on converting the svn tool to do git commands but
my git knowledge is limited so it has been slow going. The last stage,
pass 8, is very similar to what the git tools do. The svn commands
just need to be swapped for git ones.
If you get git-cvsimport working I'll use it instead. Will the cvsps
process stay small enough to run on a 32b machine? The svn tools are
very RAM efficient since they use an external db. Can cvsps read from
a local copy of the repository without using a CVS server?
We are going to have to develop some kind of incremental mechanism for
updating the new git tree. It can take up to two days to convert the
repository, Mozilla development can't be shut down that long for a
transition. Git will also need to mirror the CVS repository (check-in
still going to CVS) for a long time while we convince everyone on the
merits of switching.
My imported svn version of Mozilla has a lot of performance problems.
One of the directories has over 200,000 files in it slowing downing
the filesystem. The repository went from 3GB CVS to 8GB svn, probably
due to svn using 1000s of tiny files. I'll look around and see if svn
has a pack feature like git.
--
Jon Smirl
jonsmirl@gmail.com
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Importing Mozilla CVS into git
2006-06-06 15:13 ` Jon Smirl
@ 2006-06-06 19:57 ` Martin Langhoff
2006-06-07 0:12 ` Keith Packard
2006-06-07 0:40 ` Jon Smirl
1 sibling, 1 reply; 47+ messages in thread
From: Martin Langhoff @ 2006-06-06 19:57 UTC (permalink / raw)
To: Jon Smirl; +Cc: git
On 6/7/06, Jon Smirl <jonsmirl@gmail.com> wrote:
> Have you looked at the SVN CVS import tool? It imported Mozilla on the
> first try. If you download the source they have built about 40 test
> repositories with various errors. Those would make a good test suite
> for cvsps. http://cvs2svn.tigris.org
Haven't yet, but I'll do. I'm currently quite busy at work, but I'm
running these imports (Moz, Gentoo) and trying to address issues
arising. Will look into SVN's tool it when I have a bit more time.
What I'll probably do is steal those test cases! ;-)
> I have been working on converting the svn tool to do git commands but
> my git knowledge is limited so it has been slow going. The last stage,
> pass 8, is very similar to what the git tools do. The svn commands
> just need to be swapped for git ones.
That would be interesting. And yet, I would have to evaluate how to
transition gateways running git-cvsimport incrementally to a different
importer.
Does it do incremental imports?
> If you get git-cvsimport working I'll use it instead. Will the cvsps
> process stay small enough to run on a 32b machine? The svn tools are
Currently not, but I do hope that the moz team has access to at least
one machine with more than 32MB ;-)
With the current code, you will want a 3GB machine to run the git-cvsimport
git-cvsimport has a memory leak that I've been chasing for a while and
I'll eventually fix, so it should fit in 32MB comfortably. cvsps is
memory bound, and will probably take quite a bit of work to fix that.
However, I suspect we can make it a lot more efficient.
> very RAM efficient since they use an external db. Can cvsps read from
> a local copy of the repository without using a CVS server?
> We are going to have to develop some kind of incremental mechanism for
> updating the new git tree. It can take up to two days to convert the
> repository, Mozilla development can't be shut down that long for a
You don't have to. Run an initial import, and then freeze development
and run an incremental -- which will take an hour at the most. And
then your mozilla.git repo is ready and up to date.
> transition. Git will also need to mirror the CVS repository (check-in
> still going to CVS) for a long time while we convince everyone on the
> merits of switching.
That's easy -- run git-cvsimport on a cronjob.
> My imported svn version of Mozilla has a lot of performance problems.
> One of the directories has over 200,000 files in it slowing downing
> the filesystem. The repository went from 3GB CVS to 8GB svn, probably
> due to svn using 1000s of tiny files. I'll look around and see if svn
> has a pack feature like git.
At least they got a good importer ;-)
cheers,
martin
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Importing Mozilla CVS into git
2006-06-06 19:57 ` Martin Langhoff
@ 2006-06-07 0:12 ` Keith Packard
0 siblings, 0 replies; 47+ messages in thread
From: Keith Packard @ 2006-06-07 0:12 UTC (permalink / raw)
To: Martin Langhoff; +Cc: keithp, Jon Smirl, git
[-- Attachment #1: Type: text/plain, Size: 993 bytes --]
On Wed, 2006-06-07 at 07:57 +1200, Martin Langhoff wrote:
> git-cvsimport has a memory leak that I've been chasing for a while and
> I'll eventually fix, so it should fit in 32MB comfortably. cvsps is
> memory bound, and will probably take quite a bit of work to fix that.
> However, I suspect we can make it a lot more efficient.
Yeah, parsecvs is a memory pig as well -- it builds a giant in-memory
representation of the entire project history using flat lists of files
for every revision, just like git used to do. Fixing that should make it
run in small amounts of memory; it only needs 40 bytes per file revision
for the raw data as it converts the cvs files to git objects as it reads
them, saving only the hash value in memory.
Not relying on cvsps has been a huge feature though; cvsps loses a
tremendous amount of data, along with making several gross and difficult
to fix errors in project history from several of my repositories.
--
keith.packard@intel.com
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Importing Mozilla CVS into git
2006-06-06 15:13 ` Jon Smirl
2006-06-06 19:57 ` Martin Langhoff
@ 2006-06-07 0:40 ` Jon Smirl
1 sibling, 0 replies; 47+ messages in thread
From: Jon Smirl @ 2006-06-07 0:40 UTC (permalink / raw)
To: Martin Langhoff; +Cc: git
On 6/6/06, Jon Smirl <jonsmirl@gmail.com> wrote:
> On 6/6/06, Martin Langhoff <martin.langhoff@gmail.com> wrote:
> > On 6/3/06, Jon Smirl <jonsmirl@gmail.com> wrote:
> > > On 6/1/06, Jon Smirl <jonsmirl@gmail.com> wrote:
> > > > With the attached patch you can parse the entire Mozilla tree. The
> > > > tree has over 100,000 files in it and about 300 branches.
> > >
> > > I was a little low with these counts, more like 110,000 files and some
> > > parts of the tree have 1,000 branches. Total tree size is 3GB.
> >
> > I don't think it really has that many branches. If I am to believe
> > cvsps (which took 3GB to walk the history), it has some branches with
> > recursive loops in their ancestry (MANG_MATH_BRANCH and
> > SpiderMonkey140_BRANCH have eachother as ancestors!?), 197969 commits
> > and 796 branches.
My full import to svn just finished after a day and a half.
Here are the stats:
cvs2svn Statistics:
------------------
Total CVS Files: 99851
Total CVS Revisions: 948580
Total Unique Tags: 1505
Total Unique Branches: 1577
CVS Repos Size in KB: 2725843
Total SVN Commits: 205787
First Revision Date: Fri Mar 27 21:13:08 1998
Last Revision Date: Tue May 30 19:28:10 2006
------------------
Timings:
------------------
pass 1: 3602 seconds
pass 2: 227 seconds
pass 3: 66 seconds
pass 4: 1070 seconds
pass 8:124650 seconds
total: 124650 seconds
[jonsmirl@jonsmirl ~]$
[jonsmirl@jonsmirl svn]$ du -h
4.0K ./svntest/dav
12K ./svntest/locks
40K ./svntest/hooks
16K ./svntest/conf
7.4G ./svntest/db/revs
808M ./svntest/db/revprops
4.0K ./svntest/db/transactions
8.2G ./svntest/db
8.2G ./svntest
8.2G .
[jonsmirl@jonsmirl svn]$ find | wc
411607 411607 10891057
There are two directories that each contain about 205k files. 205K
files in a single directory is causing svn problems on Ext3.
Bottom line, cvs2svn import tool works quite well. Highest memory
consumption I saw was 100MB and it used 6GB of extra disk while
running plus space need by svn.
I don't know quite enough about git yet to replace the svn commands it
uses with git equivalents but if that were done I think most of the
cvs import problems would be solved. Obviously the svn team has put a
great deal of work into this program.
I don't think replacing the svn commands is very hard, I just haven't
figured out the right way to build branches with low-level git yet and
I don't know Python. I'll bet someone already familiar with git and
cvs import could convert it in a couple of hours.
--
Jon Smirl
jonsmirl@gmail.com
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Importing Mozilla CVS into git
2006-06-02 4:44 ` Jon Smirl
@ 2006-06-07 9:02 ` Igor Bukanov
2006-06-07 15:21 ` Pavel Roskin
2006-06-07 15:30 ` Jon Smirl
0 siblings, 2 replies; 47+ messages in thread
From: Igor Bukanov @ 2006-06-07 9:02 UTC (permalink / raw)
To: Jon Smirl; +Cc: Pavel Roskin, Shawn Pearce, Keith Packard, git
On 6/2/06, Jon Smirl <jonsmirl@gmail.com> wrote:
> On 6/2/06, Pavel Roskin <proski@gnu.org> wrote:
> > Dependency on Cygwin, Perl and Python is too much. Windows is becoming
> > a legacy system in some circles, and it may run on legacy hardware. Yet
> > it's irreplaceable as a testing platform for many projects.
>
> 80% of Mozilla commiters are running Windows. Some are OS bilingual
> but many are not.
Mozilla build system on Windows requires Cygwin and there are 198 Perl
files in Firefox tree. So it is only Python that can be problematic.
Regards, Igor
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Importing Mozilla CVS into git
2006-06-07 9:02 ` Igor Bukanov
@ 2006-06-07 15:21 ` Pavel Roskin
2006-06-07 15:30 ` Jon Smirl
1 sibling, 0 replies; 47+ messages in thread
From: Pavel Roskin @ 2006-06-07 15:21 UTC (permalink / raw)
To: Igor Bukanov; +Cc: Jon Smirl, Shawn Pearce, Keith Packard, git
On Wed, 2006-06-07 at 11:02 +0200, Igor Bukanov wrote:
> On 6/2/06, Jon Smirl <jonsmirl@gmail.com> wrote:
> > On 6/2/06, Pavel Roskin <proski@gnu.org> wrote:
> > > Dependency on Cygwin, Perl and Python is too much. Windows is becoming
> > > a legacy system in some circles, and it may run on legacy hardware. Yet
> > > it's irreplaceable as a testing platform for many projects.
> >
> > 80% of Mozilla commiters are running Windows. Some are OS bilingual
> > but many are not.
>
> Mozilla build system on Windows requires Cygwin and there are 198 Perl
> files in Firefox tree. So it is only Python that can be problematic.
Then maybe the existing 3 python files in git (I'm not counting
compat/subprocess.py) could be converted to Perl? Perl would be great
as the "common denominator" for interpreted languages.
Search for "python to perl" translator lead me to Perthon:
http://perthon.sourceforge.net/
But Perthon needs work. My attempt to run it on git-p4import.py failed:
$ perl -I `pwd`/lib perthon.pl git-p4import.py
Can't coerce array into hash at lib/Perthon/PerthonImpl.pm line 15420.
It may be a fun project for somebody who wants to learn Perl and Python.
--
Regards,
Pavel Roskin
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Importing Mozilla CVS into git
2006-06-07 9:02 ` Igor Bukanov
2006-06-07 15:21 ` Pavel Roskin
@ 2006-06-07 15:30 ` Jon Smirl
2006-06-07 15:58 ` Jakub Narebski
1 sibling, 1 reply; 47+ messages in thread
From: Jon Smirl @ 2006-06-07 15:30 UTC (permalink / raw)
To: Igor Bukanov; +Cc: Pavel Roskin, Shawn Pearce, Keith Packard, git
On 6/7/06, Igor Bukanov <igor.bukanov@gmail.com> wrote:
> On 6/2/06, Jon Smirl <jonsmirl@gmail.com> wrote:
> > On 6/2/06, Pavel Roskin <proski@gnu.org> wrote:
> > > Dependency on Cygwin, Perl and Python is too much. Windows is becoming
> > > a legacy system in some circles, and it may run on legacy hardware. Yet
> > > it's irreplaceable as a testing platform for many projects.
> >
> > 80% of Mozilla commiters are running Windows. Some are OS bilingual
> > but many are not.
>
> Mozilla build system on Windows requires Cygwin and there are 198 Perl
> files in Firefox tree. So it is only Python that can be problematic.
Other people have sent me mail saying this may not be as big as
problem as was thought, only documentation people on WIndows may be an
issues.
>
> Regards, Igor
>
--
Jon Smirl
jonsmirl@gmail.com
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Importing Mozilla CVS into git
2006-06-07 15:30 ` Jon Smirl
@ 2006-06-07 15:58 ` Jakub Narebski
2006-06-07 16:17 ` Linus Torvalds
0 siblings, 1 reply; 47+ messages in thread
From: Jakub Narebski @ 2006-06-07 15:58 UTC (permalink / raw)
To: git
Jon Smirl wrote:
> On 6/7/06, Igor Bukanov <igor.bukanov@gmail.com> wrote:
>> On 6/2/06, Jon Smirl <jonsmirl@gmail.com> wrote:
>>> On 6/2/06, Pavel Roskin <proski@gnu.org> wrote:
>>>> Dependency on Cygwin, Perl and Python is too much. Windows is becoming
>>>> a legacy system in some circles, and it may run on legacy hardware. Yet
>>>> it's irreplaceable as a testing platform for many projects.
>>>
>>> 80% of Mozilla commiters are running Windows. Some are OS bilingual
>>> but many are not.
>>
>> Mozilla build system on Windows requires Cygwin and there are 198 Perl
>> files in Firefox tree. So it is only Python that can be problematic.
>
> Other people have sent me mail saying this may not be as big as
> problem as was thought, only documentation people on WIndows may be an
> issues.
With 1.4.0 there should be tar files of documentation. For now, one can use
html and man branches of git.git repository: see the INSTALL file and/or
http://git.or.cz/gitwiki/GitDocumentation
--
Jakub Narebski
Warsaw, Poland
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Importing Mozilla CVS into git
2006-06-07 15:58 ` Jakub Narebski
@ 2006-06-07 16:17 ` Linus Torvalds
2006-06-07 18:29 ` Martin Langhoff
0 siblings, 1 reply; 47+ messages in thread
From: Linus Torvalds @ 2006-06-07 16:17 UTC (permalink / raw)
To: Jakub Narebski; +Cc: git
On Wed, 7 Jun 2006, Jakub Narebski wrote:
> > Other people have sent me mail saying this may not be as big as
> > problem as was thought, only documentation people on WIndows may be an
> > issues.
>
> With 1.4.0 there should be tar files of documentation. For now, one can use
> html and man branches of git.git repository: see the INSTALL file and/or
I think you misunderstood.
My guess is that it's the _mozilla_ documentation people that don't
necessarily have cygwin and perl, because they don't work with the normal
build.
Ie there are people who can write user documentation, without them having
any clue - or caring about - build systems.
Linus
^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Importing Mozilla CVS into git
2006-06-07 16:17 ` Linus Torvalds
@ 2006-06-07 18:29 ` Martin Langhoff
0 siblings, 0 replies; 47+ messages in thread
From: Martin Langhoff @ 2006-06-07 18:29 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Jakub Narebski, git
On 6/8/06, Linus Torvalds <torvalds@osdl.org> wrote:
> My guess is that it's the _mozilla_ documentation people that don't
> necessarily have cygwin and perl, because they don't work with the normal
> build.
>
> Ie there are people who can write user documentation, without them having
> any clue - or caring about - build systems.
Which means that git-cvsserver can probably help them -- I don't think
documentation people (and translators, graphic artists, etc) need all
the git smarts. A simplistic TortoiseCVS + git-cvsserver should fit
their usage...
cheers,
martin
^ permalink raw reply [flat|nested] 47+ messages in thread
end of thread, other threads:[~2006-06-07 18:29 UTC | newest]
Thread overview: 47+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-06-01 22:21 Importing Mozilla CVS into git Jon Smirl
2006-06-01 23:20 ` Keith Packard
2006-06-02 0:55 ` Jon Smirl
2006-06-02 2:07 ` Keith Packard
2006-06-02 2:36 ` Jon Smirl
2006-06-02 2:56 ` Shawn Pearce
2006-06-02 3:39 ` Keith Packard
2006-06-02 3:47 ` Jon Smirl
2006-06-02 3:55 ` Keith Packard
2006-06-02 4:00 ` Jon Smirl
2006-06-02 4:11 ` Shawn Pearce
2006-06-02 4:39 ` Pavel Roskin
2006-06-02 4:44 ` Shawn Pearce
2006-06-02 7:46 ` Johannes Schindelin
2006-06-02 4:44 ` Jon Smirl
2006-06-07 9:02 ` Igor Bukanov
2006-06-07 15:21 ` Pavel Roskin
2006-06-07 15:30 ` Jon Smirl
2006-06-07 15:58 ` Jakub Narebski
2006-06-07 16:17 ` Linus Torvalds
2006-06-07 18:29 ` Martin Langhoff
2006-06-02 4:16 ` Martin Langhoff
2006-06-03 23:16 ` Robin Rosenberg (list subscriber)
2006-06-03 23:47 ` Linus Torvalds
2006-06-04 2:24 ` Bertrand Jacquin
2006-06-04 7:05 ` Jakub Narebski
2006-06-04 17:55 ` Linus Torvalds
2006-06-04 19:44 ` Robin Rosenberg (list subscriber)
2006-06-04 20:00 ` Linus Torvalds
2006-06-04 21:25 ` Robin Rosenberg (list subscriber)
2006-06-04 22:02 ` Robin Rosenberg (list subscriber)
2006-06-04 23:19 ` Linus Torvalds
2006-06-05 0:10 ` Yakov Lerner
2006-06-03 0:09 ` Jon Smirl
2006-06-03 4:28 ` Jon Smirl
2006-06-06 5:55 ` Martin Langhoff
2006-06-06 15:13 ` Jon Smirl
2006-06-06 19:57 ` Martin Langhoff
2006-06-07 0:12 ` Keith Packard
2006-06-07 0:40 ` Jon Smirl
2006-06-01 23:48 ` Linus Torvalds
2006-06-02 0:59 ` Jon Smirl
2006-06-02 1:11 ` Linus Torvalds
2006-06-02 6:40 ` Junio C Hamano
2006-06-02 15:53 ` Linus Torvalds
2006-06-02 16:00 ` Junio C Hamano
2006-06-02 4:14 ` Martin Langhoff
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).