ron
--dho
First of all, let me echo previous posters and say that I'm really
impressed with the quality of proposed model. I believe it is
a very solid attempt in capturing the essense of what Git does
while at the same time mapping it to Plan9 way of doing things.
I would strongly suggest that you expand your examples and
reasoning and turn it into a paper once you have reasonable
amount of implementation ready.
Now for some clarifications.
On Tue, Jun 30, 2009 at 2:31 AM, Manzur<manzu...@gmail.com> wrote:
>
> Hi All!
>
> First of all, I want to thank you all for participating in discussion.
>
> So, last week besides doing what was planned(completing file server
> interface with existing library functions), I forked the project, and
> created read-only version of gitfs with following layout:
>
> $ mount {myfs repo} mntpt
>
> $ cd mntpt
> $ ls
> drwxrxrx M 4 manzur manzur 314 Jun 25 20:22 master
> drwxrxrx M 4 manzur manzur 314 Jun 25 20:22 rdonlygitfs
>
> Each of the above entry is a branch, and each of them contains
> following files:
>
> tree - snapshot of the file tree when commit was executed. You can
> browse it and read files from it.
> parent1 - first parent of commit
> ...
> parentN - Nth parent of commit
Are parents files or subdirectories?
> Git index will be represented as a directory, so that you can use cp,
> rm instead of git add, rm. The same is with stages, each of them is a
> directory:
> index/ - files that're in stage 0
> index/1 - files that're in stage 1
> index/2 - files that're in stage 2
How does these stages map to Git's show/diff numbers?
Thanks,
Roman.
This shows promise. I think there are a couple more steps
floating around somewhere, though: a user needs to know
or recall or determine *which* files need to be added.
My proposal for a "status" file was to have the SCM present
that information to the user.
> Each file under some branch will have two modes: command
> and textual. Modes are changed by chgrping to the special
> value. By default, it's in textual mode.
>
> #we should change to command mode
> $ chgrp MAGIC file1
> $ echo log > file1
> $ cat file1
> #Log for the file1
I think this will turn out to be painful in practice. How
about presenting the log for foo.c as log/foo.c?
Dave Eckhardt