[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnu-arch-users] Re: arch on mac osX and windows

From: Greek0
Subject: [Gnu-arch-users] Re: arch on mac osX and windows
Date: Tue, 18 May 2004 10:03:21 +0200

On Tue, 18 May 2004 00:36:52 +0200
William Dode <address@hidden> wrote:

> What is the main problem on windows ? The file system ?

There are several. 
On Fat filesystems the inode numbers are not consistent, so you can't
store revlibs/pristines/.. on them. So you've got to use NTFS. The other
possibility around is to disable inode signatures. You don't know
whether your revlibs/pristines got corrupted, but since you can't use
hard links on FAT any way, the major cause of corrupted revlibs is gone.
Of course you could also md5 your revlibs/pristines, but this would make
tla butt-slow :-/

The main problem is however, that windows supports only 255 char long
path names. Internally more would possible, but the api doesn't allow it
easily. Since arch needs very long path names (in mainly
pristines/revlibs), this is a major problem. And since tla relies on
patch/diff/tar for a lot of it's work, they have to be patched too.

One way would be to change the archive format, which won't happen any
time soon AFAICT.

Another one is to use an alternative api, which allows long path names
(the unicode functions with \\?\ or something like that prepended to the
path names). Johannes has implemented this in hackerlab and ported diff,
patch, tar in hackerlab. I've never used his port though. The only real
problem I can see is that explorer can't handle so deep paths, so you
can't delete, alter, or even look at these paths in explorer.

The third solution is to compress your own path names. Lode Leroy
developed a patch to do this. I've used his port for some time, worked
quite ok.
Later the idea came up to use dos-style compressed path names (SOMEDI~1,
SOMEFI~1,..) to _access_ these directories. As far as I understood this,
you'll still have long directory names that explorer can't read, but you
can access them by their short "dos" names. 
Personally I don't really like that solution, it sounds easy, but it
doesn't sound pretty nice, but it seems as if Lode & Johannes wanted to
go that way. Personally I thought that Johannes work sounded like the
right way to go, but I guess there were some major problems I didn't

As said before, only revlibs/prestines and perhaps cached revs (I've not
used them by now) cause problems. So my current setup is this: Linux in
vmWare, greedy revlib in my ~, archive in my ~, working tree (without
pristine) on NTFS, accessed over the vmware file sharing stuff. The same
thing should be doable with a seperate linux machine and samba. If you
can do this somehow, without too much trouble, I think it is the way to
go. You can use the original tla version, the setup is easy, and (as
soon as you keep pristines/revlibs on your linux box, there isn't much
to avoid.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]