.gitlink for Summer of Code

2 messages, 2 authors, 2016-06-15 · open the first message on its own page

.gitlink for Summer of Code

From: Eric Lesh <hidden>
Date: 2016-06-15 22:43:01

I would like to tackle .gitlink for Summer of Code.  The deadline is
about a day away, but this is a chance to make sure you still think
.gitlink is a good idea, and to see if there are any big problems with
the idea in general (before a more detailed proposal is actually submitted).

.gitlink is for a lightweight checkout of a branch into a separate
directory on the local filesystem.  A .gitlink'ed checkout has its own
index+HEAD, but otherwise refers back to the main repository for
objects, refs, etc.

Junio has said (http://www.spinics.net/lists/git/msg24964.html) he
works in a similar way with many work trees which are symlinked to his
main repo:
: gitster git.wk0; ls -l .git/
total 120
drwxrwsr-x  3 junio src  4096 Mar  5 16:22 ./
drwxrwsr-x 15 junio src 16384 Mar  5 16:23 ../
-rw-rw-r--  1 junio src    41 Mar  5 16:22 HEAD
lrwxrwxrwx  1 junio src    27 Mar  3 22:53 config -> /src/git/.git/config
lrwxrwxrwx  1 junio src    26 Mar  3 22:53 hooks -> /src/git/.git/hooks/
-rw-rw-r--  1 junio src 82455 Mar  5 16:22 index
lrwxrwxrwx  1 junio src    25 Mar  3 22:53 info -> /src/git/.git/info/
drwxrwsr-x  3 junio src  4096 Mar  3 22:59 logs/
lrwxrwxrwx  1 junio src    28 Mar  3 22:53 objects -> /src/git/.git/objects/
lrwxrwxrwx  1 junio src    32 Mar  3 22:53 packed-refs -> /src/git/.git/packed-refs
lrwxrwxrwx  1 junio src    25 Mar  3 22:53 refs -> /src/git/.git/refs/
lrwxrwxrwx  1 junio src    28 Mar  3 22:53 remotes -> /src/git/.git/remotes/
lrwxrwxrwx  1 junio src    29 Mar  3 22:53 rr-cache -> /src/git/.git/rr-cache/

A .gitlink could simplify this, ridding the directory of symlinks and
instead having a .gitlink file that specifies a $GIT_DIR to which
everything refers.

My implementation will be based on Josef Weidendorfer's "[RFC]
Lightweight checkouts via ".gitlink""
(http://thread.gmane.org/gmane.comp.version-control.git/33755), which
didn't receive much objection (or comment at all).  Hopefully this
doesn't mean you simply aren't interested.

Goals:
  o Lightweight checkouts are essentially branches that reside outside of the
    main repository on the local filesystem.
  o They act as normal git checkouts (i.e. git tools know about .gitlink)
  o They can be moved around and maintain their link to the base repo
  o They can exist within other checkouts (for eventual submodule support)
  o git-clone --light-weight option to set this up
  o porcelains (i.e. cogito) don't barf

Is this something that you would like to see?  Any other comments?

Thanks,

Eric

Re: .gitlink for Summer of Code

From: Shawn O. Pearce <hidden>
Date: 2016-06-15 22:43:01

Eric Lesh [off-list ref] wrote:
I would like to tackle .gitlink for Summer of Code.  The deadline is
about a day away, but this is a chance to make sure you still think
.gitlink is a good idea, and to see if there are any big problems with
the idea in general (before a more detailed proposal is actually submitted).
...
Is this something that you would like to see?  Any other comments?
Aside from the other fork of this thread discussing the ``Lazy
Clone'' idea, I don't really have any other comments.

I don't setup the same thing as Junio, but I have the same problem.
My day job setup has at least 5 copies of the same repository.
I'd like an easy way to have them share the same odb, refs,
and config.

If you choose to submit an application please see our template
(http://git.or.cz/gitwiki/SoC2007Template) and try to talk a bit
about your background too.

-- 
Shawn.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help