Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Commits on Oct 23, 2005
  1. GIT 0.99.8g

    Junio C Hamano authored
    Primarily to update the maintenance branch deployed on kernel.org
    machines with the git-daemon updates.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  2. Merge branch 'fixes'

    Junio C Hamano authored
  3. git-show-branch: Fix off-by-one error.

    Junio C Hamano authored
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Oct 21, 2005
  1. Merge branch 'fixes'

    Junio C Hamano authored
  2. daemon.c: remove trailing whitespace.

    Junio C Hamano authored
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  3. Fix git-daemon argument-parsing bug

    H. Peter Anvin authored Junio C Hamano committed
    Fix stupid bug in parsing the --init-timeout option.
    
    Signed-off-by: H. Peter Anvin <hpa@zytor.com>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Oct 19, 2005
  1. git-daemon: timeout, eliminate double DWIM

    H. Peter Anvin authored Junio C Hamano committed
    It turns out that not only did git-daemon do DWIM, but git-upload-pack
    does as well.  This is bad; security checks have to be performed *after*
    canonicalization, not before.
    
    Additionally, the current git-daemon can be trivially DoSed by spewing
    SYNs at the target port.
    
    This patch adds a --strict option to git-upload-pack to disable all
    DWIM, a --timeout option to git-daemon and git-upload-pack, and an
    --init-timeout option to git-daemon (which is typically set to a much
    lower value, since the initial request should come immediately from the
    client.)
    
    Signed-off-by: H. Peter Anvin <hpa@zytor.com>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  2. GIT 0.99.8f

    Junio C Hamano authored
    Yes I said 0.99.8e was the last maintenance release for 0.99.8, but it
    turns out that there was another backport necessary after git-daemon
    was unleashed on kernel.org servers.
    
    Contains the following since 0.99.8e:
    
    H. Peter Anvin:
          revised^2: git-daemon extra paranoia, and path DWIM
    
    Johannes Schindelin:
          Fix cvsimport warning when called without --no-cvs-direct
    
    Junio C Hamano:
          Do not ask for objects known to be complete.
    
    Linus Torvalds:
          git-fetch-pack: avoid unnecessary zero packing
          Optimize common case of git-rev-list
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  3. @dscho

    Fix cvsimport warning when called without --no-cvs-direct

    dscho authored Junio C Hamano committed
    Perl was warning that $opt_p was undefined in that case.
    
    Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  4. Do not ask for objects known to be complete.

    Junio C Hamano authored
    On top of optimization by Linus not to ask refs that already match, we
    can walk our refs and not issue "want" for things that are known to be
    reachable from them.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  5. Optimize common case of git-rev-list

    Linus Torvalds authored Junio C Hamano committed
    I took a look at webgit, and it looks like at least for the "projects"
    page, the most common operation ends up being basically
    
    	git-rev-list --header --parents --max-count=1 HEAD
    
    Now, the thing is, the way "git-rev-list" works, it always keeps on
    popping the parents and parsing them in order to build the list of
    parents, and it turns out that even though we just want a single commit,
    git-rev-list will invariably look up _three_ generations of commits.
    
    It will parse:
     - the commit we want (it obviously needs this)
     - it's parent(s) as part of the "pop_most_recent_commit()" logic
     - it will then pop one of the parents before it notices that it doesn't
       need any more
     - and as part of popping the parent, it will parse the grandparent (again
       due to "pop_most_recent_commit()".
    
    Now, I've strace'd it, and it really is pretty efficient on the whole, but
    if things aren't nicely cached, and with long-latency IO, doing those two
    extra objects (at a minimum - if the parent is a merge it will be more) is
    just wasted time, and potentially a lot of it.
    
    So here's a quick special-case for the trivial case of "just one commit,
    and no date-limits or other special rules".
    
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  6. revised^2: git-daemon extra paranoia, and path DWIM

    H. Peter Anvin authored Junio C Hamano committed
    This patch adds some extra paranoia to the git-daemon filename test.  In
    particular, it now rejects pathnames containing //; it also adds a
    redundant test for pathname absoluteness (belts and suspenders.)
    
    A single / at the end of the path is still permitted, however, and the
    .git and /.git append DWIM stuff is now handled in an integrated manner,
    which means the resulting path will always be subjected to pathname checks.
    
    [jc: backported to 0.99.8 maintenance branch]
    
    Signed-off-by: H. Peter Anvin <hpa@zytor.com>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  7. git-fetch-pack: avoid unnecessary zero packing

    Linus Torvalds authored Junio C Hamano committed
    If everything is up-to-date locally, we don't need to even ask for a
    pack-file from the remote, or try to unpack it.
    
    This is especially important for tags - since the pack-file common commit
    logic is based purely on the commit history, it will never be able to find
    a common tag, and will thus always end up re-fetching them.
    
    Especially notably, if the tag points to a non-commit (eg a tagged tree),
    the pack-file would be unnecessarily big, just because it cannot any most
    recent common point between commits for pruning.
    
    Short-circuiting the case where we already have that reference means that
    we avoid a lot of these in the common case.
    
    NOTE! This only matches remote ref names against the same local name,
    which works well for tags, but is not as generic as it could be. If we
    ever need to, we could match against _any_ local ref (if we have it, we
    have it), but this "match against same name" is simpler and more
    efficient, and covers the common case.
    
    Renaming of refs is common for branch heads, but since those are always
    commits, the pack-file generation can optimize that case.
    
    In some cases we might still end up fetching pack-files unnecessarily, but
    this at least avoids the re-fetching of tags over and over if you use a
    regular
    
    	git fetch --tags ...
    
    which was the main reason behind the change.
    
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Oct 18, 2005
  1. GIT 0.99.8e

    Junio C Hamano authored
    Linus Torvalds:
          make checkout-index '-a' flag saner.
    
    Junio C Hamano:
          whatchanged: document -m option from git-diff-tree.
          Functions to quote and unquote pathnames in C-style.
          Update git-apply to use C-style quoting for funny pathnames.
          Do not quote SP.
          git-checkout-index: documentation updates.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  2. Merge branch 'fixes'

    Junio C Hamano authored
  3. git-checkout-index: documentation updates.

    Junio C Hamano authored
    Now the behaviour of '-a' has been straightened out, document it.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  4. make checkout-index '-a' flag saner.

    Linus Torvalds authored Junio C Hamano committed
    The original semantics of pretending as if all files were
    specified where '-a' appeared and using only the flags given so
    far was too confusing.
    
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Oct 17, 2005
  1. Do not quote SP.

    Junio C Hamano authored
    Follow the "encode minimally" principle -- our tools, including
    git-apply and git-status, can handle pathnames with embedded SP just
    fine.  The only problematic ones are TAB and LF, and we need to quote
    the metacharacters introduced for quoting.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Oct 16, 2005
  1. Merge branch 'fixes'

    Junio C Hamano authored
  2. Update git-apply to use C-style quoting for funny pathnames.

    Junio C Hamano authored
    This is a backport so that maintenance branch can understand
    diff output that uses C-style quoting produced by newer tools.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  3. Functions to quote and unquote pathnames in C-style.

    Junio C Hamano authored
    Following the list discussion, define two functions, quote_c_style and
    unquote_c_style, to help adopting the proposed way for quoting funny
    pathname letters for GNU patch.  The rule is described in:
    
        http://marc.theaimsgroup.com/?l=git&m=112927316408690&w=2
    
    Currently we do not support the leading '!', but we probably should
    barf upon seeing it.  Rule B4. is interpreted to require always 3
    octal digits in \XYZ notation.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  4. whatchanged: document -m option from git-diff-tree.

    Junio C Hamano authored
    The documentation for git-whatchanged is meant to describe only
    the most frequently used options from git-diff-tree.  Because "why
    doesn't it show merges" was asked more than once, we'd better
    describe '-m' option there.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  5. GIT v0.99.8d

    Junio C Hamano authored
    Contains the following changes since v0.99.8c.
    
    Johannes Schindelin:
          Teach git-status about spaces in file names also on MacOSX
          t5400-send-pack relies on a working cpio
    
    Jonas Fonseca:
          git.sh: quote all paths
    
    Junio C Hamano:
          Also force LC_ALL in test scripts.
          OpenBSD needs the strcasestr replacement.
          git-check-ref-format: reject funny ref names.
          Refuse to create funny refs in clone-pack, git-fetch and receive-pack.
          Ignore funny refname sent from remote
          Introduce notation "ref^{type}".
    
    Martin Langhoff:
          cvsimport: don't pass --cvs-direct if user options contradict us
    
    Ralf Baechle:
          rsh.c: typo fix
    
    Note that "funny ref" bits are not strictly fixes but rather
    backport from the "master" branch.  They will prevent refs and
    heads with funny names from being created.  In addition, what is
    in the master branch will start feeding the clients unwrapped
    tag information to help Martin's findtags and possibly later
    Cogito.  These backported "funny ref" changes are to prevent
    clients on the "maint" branch from getting confused when talking
    with newer git-upload-pack and when reading from info/refs file
    prepared with newer git-update-server-info.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  6. Introduce notation "ref^{type}".

    Junio C Hamano authored
    Existing "tagname^0" notation means "dereference tag zero or more
    times until you cannot dereference it anymore, and make sure it is a
    commit -- otherwise barf".  But tags do not necessarily reference
    commit objects.
    
    This commit introduces a bit more generalized notation, "ref^{type}".
    Existing "ref^0" is a shorthand for "ref^{commit}".  If the type
    is empty, it just dereferences tags until it hits a non-tag object.
    
    With this, "git-rev-parse --verify 'junio-gpg-pub^{}'" shows the blob
    object name -- there is no need to manually read the tag object and
    find out the object name anymore.
    
    "git-rev-parse --verify 'HEAD^{tree}'" can be used to find out the
    tree object name of the HEAD commit.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  7. Ignore funny refname sent from remote

    Junio C Hamano authored
    This allows the remote side (most notably, upload-pack) to show
    additional information without affecting the downloader.  Peek-remote
    does not ignore them -- this is to make it useful for Pasky's
    automatic tag following.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  8. Refuse to create funny refs in clone-pack, git-fetch and receive-pack.

    Junio C Hamano authored
    Using git-check-ref-format, make sure we do not create refs with
    funny names when cloning from elsewhere (clone-pack), fast forwarding
    local heads (git-fetch), or somebody pushes into us (receive-pack).
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  9. git-check-ref-format: reject funny ref names.

    Junio C Hamano authored
    Update check_ref_format() function to reject ref names that:
    
     * has a path component that begins with a ".", or
     * has a double dots "..", or
     * has ASCII control character, "~", "^", ":" or SP, anywhere, or
     * ends with a "/".
    
    Use it in 'git-checkout -b', 'git-branch', and 'git-tag' to make sure
    that newly created refs are well-formed.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  10. Revert "Adapt tutorial to cygwin and add test case"

    Junio C Hamano authored
    This reverts 2ae6c70 commit.
  11. Revert "tutorial: update the initial commit example."

    Junio C Hamano authored
    This reverts 5990efb commit.
Commits on Oct 15, 2005
  1. Merge branch 'fixes'

    Junio C Hamano authored
Commits on Oct 13, 2005
  1. tutorial: update the initial commit example.

    Junio C Hamano authored
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  2. @dscho

    Adapt tutorial to cygwin and add test case

    dscho authored Junio C Hamano committed
    Lacking reliable symlinks, the instructions in the tutorial did not work
    in a cygwin setup. Also, a few outputs were not correct.
    
    This patch fixes these, and adds a test case which follows the
    instructions of the tutorial (except git-clone, -fetch and -push, which I
    have not done yet).
    
    Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  3. @ralfbaechle

    rsh.c: typo fix

    ralfbaechle authored Junio C Hamano committed
    Example in a comment used a wrong environment variable.
    
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Oct 12, 2005
  1. Merge branch 'fixes'

    Junio C Hamano authored
  2. [PATCH] cvsimport: don't pass --cvs-direct if user options contradict us

    Martin Langhoff authored Junio C Hamano committed
    Detecting if the user passed --no-cvs-direct and don't force the mode.
    It allows us to support all the protocol that the standard cvs client
    supports at the snail speed you should expect.
    
    This only affects the rlog reading stage.
    
    Signed-off-by: Martin Langhoff <martin@catalyst.net.nz>
Something went wrong with that request. Please try again.