guess default branch from HEAD

This is a saner alternative than hardcoding the default branch to be
"master". The add_repo() function will now check for a symbolic ref in
repo_path/HEAD. If there is a suitable one, overwrite repo->defbranch
with it. Note that you'll need to strip the newline from the file (->
len-17).

If HEAD is a symbolic link pointing directly to a branch below
refs/heads/, do a readlink() instead to find the ref name.

Signed-off-by: Julius Plenz <plenz@cis.fu-berlin.de>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Tento commit je obsažen v:
Julius Plenz
2011-04-07 12:59:24 +02:00
odevzdal Lars Hjemli
rodič b0d72da028
revize d711de5528
2 změnil soubory, kde provedl 38 přidání a 1 odebrání

Zobrazit soubor

@ -377,7 +377,8 @@ repo.commit-filter::
repo.defbranch::
The name of the default branch for this repository. If no such branch
exists in the repository, the first branch name (when sorted) is used
as default instead. Default value: "master".
as default instead. Default value: branch pointed to by HEAD, or
"master" if there is no suitable HEAD.
repo.desc::
The value to show as repository description. Default value: none.