Is ./git/branches used for anything?

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

Is ./git/branches used for anything?

From: Ron Garret <hidden>
Date: 2016-06-15 22:48:09

If so, what?  .git/refs/heads seems to contain all the branch info, so 
what is the branches directory for?

Thanks,
rg

Re: Is ./git/branches used for anything?

From: Sverre Rabbelier <hidden>
Date: 2016-06-15 22:48:09

Heya,

On Tue, Feb 2, 2010 at 09:01, Ron Garret [off-list ref] wrote:
If so, what?  .git/refs/heads seems to contain all the branch info, so
what is the branches directory for?
It's a leftover from the good ole' days. I think Cogito used it.

-- 
Cheers,

Sverre Rabbelier

Re: Is ./git/branches used for anything?

From: Ron Garret <hidden>
Date: 2016-06-15 22:48:09

In article 
[off-list ref],
 Sverre Rabbelier [off-list ref] wrote:
Heya,

On Tue, Feb 2, 2010 at 09:01, Ron Garret [off-list ref] wrote:
quoted
If so, what?  .git/refs/heads seems to contain all the branch info, so
what is the branches directory for?
It's a leftover from the good ole' days. I think Cogito used it.
Thanks!

rg

Re: Is ./git/branches used for anything?

From: Jakub Narebski <hidden>
Date: 2016-06-15 22:48:09

Ron Garret [off-list ref] writes:
If so, what?  .git/refs/heads seems to contain all the branch info, so 
what is the branches directory for?
See gitrepository-layout(5):

  branches::
        A slightly deprecated way to store shorthands to be used
        to specify URL to 'git fetch', 'git pull' and 'git push'
        commands is to store a file in `branches/<name>` and
        give 'name' to these commands in place of 'repository'
        argument.

and git-pull(1):

  REMOTES
  -------

  The name of one of the following can be used instead
  of a URL as `<repository>` argument:

  * a remote in the git configuration file: `$GIT_DIR/config`,
  * a file in the `$GIT_DIR/remotes` directory, or
  * a file in the `$GIT_DIR/branches` directory.

  All of these also allow you to omit the refspec from the command line
  because they each contain a refspec which git will use by default.

  [...]

  Named file in `$GIT_DIR/branches`
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  You can choose to provide the name of a
  file in `$GIT_DIR/branches`.
  The URL in this file will be used to access the repository.
  This file should have the following format:


  ------------
          <url>#<head>
  ------------

  `<url>` is required; `#<head>` is optional.

  Depending on the operation, git will use one of the following
  refspecs, if you don't provide one on the command line.
  `<branch>` is the name of this file in `$GIT_DIR/branches` and
  `<head>` defaults to `master`.


Ancient history, if somewhat useful for some workflow[1].  It came from
Cogito, which was alternate UI for git.

[1] Namely one of main Linux kernel developers (Linus lieutienants)
has scripts around this way of specifying remote information.

-- 
Jakub Narebski
Poland
ShadeHawk on #git
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help