Skip to content
  • Paolo Bonzini's avatar
    git-fetch, git-branch: Support local --track via a special remote '.' · 9debc324
    Paolo Bonzini authored
    
    
    This patch adds support for a dummy remote '.' to avoid having
    to declare a fake remote like
    
            [remote "local"]
                    url = .
                    fetch = refs/heads/*:refs/heads/*
    
    Such a builtin remote simplifies the operation of "git-fetch",
    which will populate FETCH_HEAD but will not pretend that two
    repositories are in use, will not create a thin pack, and will
    not perform any useless remapping of names.  The speed
    improvement is around 20%, and it should improve more if
    "git-fetch" is converted to a builtin.
    
    To this end, git-parse-remote is grown with a new kind of
    remote, 'builtin'.  In git-fetch.sh, we treat the builtin remote
    specially in that it needs no pack/store operations.  In fact,
    doing git-fetch on a builtin remote will simply populate
    FETCH_HEAD appropriately.
    
    The patch also improves of the --track/--no-track support,
    extending it so that branch.<name>.remote items referring '.'
    can be created.  Finally, it fixes a typo in git-checkout.sh.
    
    Signed-off-by: Paolo Bonzini's avatarPaolo Bonzini <bonzini@gnu.org>
    Signed-off-by: default avatarJunio C Hamano <junkio@cox.net>
    9debc324