threads / discuss / 26426

git-new-workdir for filesystems without links (e.g. FAT32)?

Subject: git-new-workdir for filesystems without links (e.g. FAT32)?

## tl;dr

3 messages between Feb 6, 2011 and Feb 7, 2011.

replies: 2people: 2as markdown or json

Piotr Krukowiecki· Feb 6, 2011, 14:20 UTC · lore
Hi, 

git-new-workdir requires soft links to work, so obviously it will fail if file system does not support them. Is there any other way for having multiple working dirs with one repository?

Since git-new-workdir just uses soft links it should be possible to implement it natively in git. Maybe there some patches for this?

I need it because I'm using FAT32 on my dual-boot computer to share data between windows and linux.

Thanks,
-- 
Piotr Krukowiecki
Jonathan Nieder· Feb 6, 2011, 19:14 UTC · re: Piotr Krukowiecki · lore

Re: git-new-workdir for filesystems without links (e.g. FAT32)?

Hi Piotr,
Piotr Krukowiecki wrote:
> git-new-workdir requires soft links to work, so obviously it will fail if file 
> system does not support them. Is there any other way for having multiple working 
> dirs with one repository?

I assume you mean a way to share refs between repositories without using symlinks? Then alas, that is not implemented, though there is some interest. See [1] for details.

It should not be impossible, I think --- something for refs analagous to the ".git file" mechanism might make perfect sense (see v1.5.6-rc0~93^2~3, Add platform-independent .git "symlink", 2008-02-20 and "git log --grep='git file'" to see development since then). The main distinction here is that the target of a refs "symlink" should also be aware of it, to avoid garbage collecting the shared objects.

If on the other hand you just want to share objects (not refs) between repositories, the GIT_OBJECT_DIRECTORY environment variable might help.

Good luck, Jonathan

[1] http://thread.gmane.org/gmane.comp.version-control.git/150559/focus=150693
Piotr Krukowiecki· Feb 7, 2011, 12:19 UTC · re: Jonathan Nieder · lore

Re: git-new-workdir for filesystems without links (e.g. FAT32)?

On Sun, Feb 6, 2011 at 8:14 PM, Jonathan Nieder <jrnieder@gmail.com> wrote:
Show 11 quoted lines
> Hi Piotr,
>
> Piotr Krukowiecki wrote:
>
>> git-new-workdir requires soft links to work, so obviously it will fail if file
>> system does not support them. Is there any other way for having multiple working
>> dirs with one repository?
>
> I assume you mean a way to share refs between repositories without
> using symlinks?  Then alas, that is not implemented, though there
> is some interest.  See [1] for details.
[...]
> If on the other hand you just want to share objects (not refs) between
> repositories, the GIT_OBJECT_DIRECTORY environment variable might
> help.

I need several working directories (for different branches). I wanted to use git-new-workdir because, as I understand, I could do 'git svn fetch' only once and then 'git rebase' for each working dir. So the only reason was performance (network and disk).

I don't know if sharing objects is enough. If I understand correctly, if a fetch introduces e.g. new branches, then only one working directory will have information about them?

-- 
Piotrek

← back to recent threads