Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Commits on Oct 31, 2005
  1. GIT 0.99.9a

    Junio C Hamano authored
    ... to contain the RPM workaround.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  2. Work around an RPM build problem.

    Junio C Hamano authored
    The require statement at the top of git-svnimport seems to confuse
    rpmbuild dependency generation.  It uses the newer notation "v5.8.0",
    and rpm ends up requiring "perl(v5.8.0)", while we would want it to
    say something like "perl >= 0:5.008".
    
    Ryan suggests old-style "require 5.008" might fix this problem, so
    here it is.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  3. Fix rev-list documentation again (--sparse and pathspec)

    Junio C Hamano authored
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  4. Update git-pack-objects documentation.

    Junio C Hamano authored
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  5. Update git-rev-list options list in rev-parse.

    Junio C Hamano authored
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  6. Update usage string and documentation for git-rev-list.

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

    Add to usage and docs for git-add.sh

    spot authored Junio C Hamano committed
    Signed-off-by: Chris Shoemaker <c.shoemaker@cox.net>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  8. @spot

    Add to documentation of git-update-index arguments and usage.

    spot authored Junio C Hamano committed
    Removed unknown [--version] option.
    
    Signed-off-by: Chris Shoemaker <c.shoemaker@cox.net>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  9. @spot

    Add usage statement to git-checkout.sh

    spot authored Junio C Hamano committed
    Signed-off-by: Chris Shoemaker <c.shoemaker@cox.net>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  10. GIT 0.99.9 master branch.

    Junio C Hamano authored
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Oct 29, 2005
  1. GIT 0.99.9

    Junio C Hamano authored
    Done in 0.99.9
    ==============
    
    Ports
    ~~~~~
    
    * Cygwin port [HPA].
    
    * OpenBSD build [Merlyn and others].
    
    Fixes
    ~~~~~
    
    * clone request over git native protocol from a repository with
      too many refs did not work; this has been fixed.
    
    * git-daemon got safer for kernel.org use [HPA].
    
    * Extended SHA1 parser was not enforcing uniqueness for
      abbreviated SHA1; this has been fixed.
    
    * http transport does not barf on funny characters in URL.
    
    * The ref naming restrictions have been formalized and the
      coreish refuses to create funny refs; we still need to audit
      importers.  See git-check-ref-format(1).
    
    New Features and Commands
    ~~~~~~~~~~~~~~~~~~~~~~~~~
    
    * .git/config file as a per-repository configuration mechanism,
      and some commands understand it [Linus].  See
      git(7).
    
    * The core.filemode configuration item can be used to make us a
      bit more FAT friendly.  See git(7).
    
    * The extended SHA1 notation acquired Peel-the-onion operator
      ^{type} and ^{}.  See git-rev-parse(1).
    
    * SVN importer [Matthias].  See git-svnimport(1).
    
    * .git/objects/[0-9a-f]{2} directories are created on demand,
      and removed when becomes empty after prune-packed [Linus].
    
    * Filenames output from various commands without -z option are
      quoted when they embed funny characters (TAB and LF) using
      C-style quoting within double-quotes, to match the proposed
      GNU diff/patch notation [me, but many people contributed in
      the discussion].
    
    * git-mv is expected to be a better replacement for git-rename.
      While the latter has two parameter restriction, it acts more
      like the regular 'mv' that can move multiple things to one
      destinatino directory [Josef Weidendorfer].
    
    * git-checkout can take filenames to revert the changes to
      them.  See git-checkout(1)
    
    * The new program git-am is a replacement for git-applymbox that
      has saner command line options and a bit easier to use when a
      patch does not apply cleanly.
    
    * git-ls-remote can show unwrapped onions using ^{} notation, to
      help Cogito to track tags.
    
    * git-merge-recursive backend can merge unrelated projects.
    
    * git-clone over native transport leaves the result packed.
    
    * git-http-fetch issues multiple requests in parallel when
      underlying cURL library supports it [Nick and Daniel].
    
    * git-fetch-pack and git-upload-pack try harder to figure out
      better common commits [Johannes].
    
    * git-read-tree -u removes a directory when it makes it empty.
    
    * git-diff-* records abbreviated SHA1 names of original and
      resulting blob; this sometimes helps to apply otherwise an
      unapplicable patch by falling back to 3-way merge.
    
    * git-format-patch now takes series of from..to rev ranges and
      with '-m --stdout', writes them out to the standard output.
      This can be piped to 'git-am' to implement cheaper
      cherry-picking.
    
    * git-tag takes '-u' to specify the tag signer identity [Linus].
    
    * git-rev-list can take optional pathspecs to skip commits that
      do not touch them (--dense) [Linus].
    
    * Comes with new and improved gitk [Paulus and Linus].
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  2. Documentation updates.

    Junio C Hamano authored
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  3. Do not mmap-copy the whole thing; just use copy_fd()

    Junio C Hamano authored
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  4. Teach local-fetch about lazy object directories.

    Junio C Hamano authored
    The latest init-db does not create .git/objects/??/ directories
    anymore and expects the users of the repository to create them
    as they are needed.  local-fetch was not taught about it, which
    broke local cloning with Cogito.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  5. Fix recent documentation format breakage.

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

    make t5501 less annoying

    dscho authored Junio C Hamano committed
    On Linux, "mktemp tmp-XXXX" will not work. Also, redirect stderr on which,
    so it does not complain too loudly. After all, this test should only be
    executed when old binaries are available.
    
    Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  7. @dscho

    fix multi_ack.

    dscho authored Junio C Hamano committed
    Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  8. @dscho

    git-fetch-pack: Support multi_ack extension

    dscho authored Junio C Hamano committed
    The client side support for multi_ack.
    
    Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  9. @dscho

    git-upload-pack: Support the multi_ack protocol

    dscho authored Junio C Hamano committed
    This implements three things (trying very hard to be backwards
    compatible):
    
    It sends the "multi_ack" capability via the mechanism proposed by
    Sergey Vlasov.
    
    When the client sends "multi_ack" with at least one "want", multi_ack
    is enabled.
    
    When multi_ack is enabled, "continue" is appended to each "ACK" until
    either the server can not store more refs, or "done" is received.
    
    In contrast to the original protocol, as long as "continue" is sent,
    flushes are answered by a "NAK" (not just until an "ACK" was sent),
    and if "continue" was sent at least once, the last message is an
    "ACK" without "continue".
    
    Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  10. @dscho

    Support receiving server capabilities

    dscho authored Junio C Hamano committed
    This patch implements the client side of backward compatible upload-pack
    protocol extension, <20051027141619.0e8029f2.vsu@altlinux.ru> by Sergey.
    
    The updated server can append "server_capabilities" which is supposed
    to be a string containing space separated features of the server, after
    one of elements in the initial list of SHA1-refname line, hidden with
    an embedded NUL.
    
    After get_remote_heads(), check if the server supports the feature like
    
    	if (server_supports("multi_ack"))
    		do_something();
    
    Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  11. @dscho

    git-upload-pack: More efficient usage of the has_sha1 array

    dscho authored Junio C Hamano committed
    This patch is based on Junio's proposal. It marks parents of common revs
    so that they do not clutter up the has_sha1 array.
    
    Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  12. @dscho

    Implement an interoperability test for fetch-pack/upload-pack

    dscho authored Junio C Hamano committed
    The next patches will extend the pack protocol. This test assures that this
    extension is compatible to earlier versions of git-fetch-pack/git-upload-pack.
    
    All you need to do to take advantage of this test, is to install older
    known-to-be-working binaries in the path as "old-git-fetch-pack" and
    "old-git-upload-pack".
    
    Note that the warning when testing with old-git-fetch-pack is to be
    expected (it just says that the old version was not taking advantage
    of all the information which the server sent).
    
    Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  13. @dscho

    Implement a test for git-fetch-pack/git-upload-pack

    dscho authored Junio C Hamano committed
    This test provides a minimal example of what went wrong with the old
    git-fetch-pack (and now works beautifully).
    
    Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  14. @dscho

    Make maximal use of the remote refs

    dscho authored Junio C Hamano committed
    When git-fetch-pack gets the remote refs, it does not need to filter them
    right away, but it can see which refs are common (taking advantage of the
    patch which makes git-fetch-pack not use git-rev-list).
    
    This means that we ask get_remote_heads() to return all remote refs,
    including the funny refs, and filtering them with a separate function later.
    
    Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  15. @dscho

    Subject: [PATCH] git-fetch-pack: Do not use git-rev-list

    dscho authored Junio C Hamano committed
    The code used to call git-rev-list to enumerate the local revisions.
    A disadvantage of that method was that git-rev-list, lacking a
    control apart from the command line, would happily enumerate
    ancestors of acknowledged common commits, which was just taking
    unnecessary bandwidth.
    
    Therefore, do not use git-rev-list on the fetching side, but rather
    construct the list on the go. Send the revisions starting from the
    local heads, ignoring the revisions known to be common.
    
    Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  16. git-apply --numstat

    Junio C Hamano authored
    The new option, --numstat, shows number of inserted and deleted
    lines for each path.  It is similar to --stat output but is
    meant to be more machine friendly by giving number of added and
    deleted lines and unabbreviated paths.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  17. @spot

    Add usage help to git-push.sh

    spot authored Junio C Hamano committed
    Also clarify failure to push to read-only remote.  Especially,
    state why rsync:// is not used for pushing.
    
    [jc: ideally rsync should not be used for anything]
    
    Signed-off-by: Chris Shoemaker <c.shoemaker at cox.net>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  18. @spot

    Add usage help for git-reset.sh

    spot authored Junio C Hamano committed
    Signed-off-by: Chris Shoemaker <c.shoemaker at cox.net>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  19. @spot

    Minor clarifications in diffcore documentation

    spot authored Junio C Hamano committed
    Signed-off-by: Chris Shoemaker <c.shoemaker at cox.net>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  20. @spot

    Remove -r from common diff options documentation in one more place

    spot authored Junio C Hamano committed
    Signed-off-by: Chris Shoemaker <c.shoemaker at cox.net>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  21. @spot

    update usage string for git-commit.sh

    spot authored Junio C Hamano committed
    Signed-off-by: Chris Shoemaker <c.shoemaker at cox.net>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  22. @spot

    git-push.sh: Retain cuteness, add helpfulness.

    spot authored Junio C Hamano committed
    Signed-off-by: Chris Shoemaker <c.shoemaker at cox.net>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Oct 28, 2005
  1. Be more careful about reference parsing

    Linus Torvalds authored Junio C Hamano committed
    This does two things:
    
     - we don't allow "." and ".." as components of a refname. Thus get_sha1()
       will not accept "./refname" as being the same as "refname" any more.
    
     - git-rev-parse stops doing revision translation after seeing a pathname,
       to match the brhaviour of all the tools (once we see a pathname,
       everything else will also be parsed as a pathname).
    
    Basically, if you did
    
    	git log *
    
    and "gitk" was somewhere in the "*", we don't want to replace the filename
    "gitk" with the SHA1 of the branch with the same name.
    
    Of course, if there is any change of ambiguity, you should always use "--"
    to make it explicit what are filenames and what are revisions, but this
    makes the normal cases sane. The refname rule also means that instead of
    the "--", you can do the same thing we're used to doing with filenames
    that start with a slash: use "./filename" instead, and now it's a
    filename, not an option (and not a revision).
    
    So "git log ./*.c" is now actually a perfectly valid thing to do, even if
    the first C-file might have the same name as a branch.
    
    Trivial test:
    
    	git-rev-parse gitk ./gitk gitk
    
    should output something like
    
    	9843c30
    	./gitk
    	gitk
    
    where the "./gitk" isn't seen as a revision, and the second "gitk" is a
    filename simply because we've seen filenames already, and thus stopped
    doing revision parsing.
    
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  2. Be marginally more careful about removing objects

    Linus Torvalds authored Junio C Hamano committed
    The git philosophy when it comes to disk accesses is "Laugh in the face of
    danger".
    
    Notably, since we never modify an existing object, we don't really care
    that deeply about flushing things to disk, since even if the machine
    crashes in the middle of a git operation, you can never really have lost
    any old work. At most, you'd need to figure out the proper heads (which
    git-fsck-objects can do for you) and re-do the operation.
    
    However, there's two exceptions to this: pruning and repacking. Those
    operations will actually _delete_ old objects that they know about in
    other ways (ie that they just repacked, or that they have found in other
    places).
    
    However, since they actually modify old state, we should thus be a bit
    more careful about them. If the machine crashes and the duplicate new
    objects haven't been flushed to disk, you can actually be in trouble.
    
    This is trivially stupid about it by calling "sync" before removing the
    objects. Not very smart, but we're talking about special operations than
    are usually done once a week if that.
    
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  3. @spot

    Documentation changes to recursive option for git-diff-tree

    spot authored Junio C Hamano committed
    Update docs and usages regarding '-r' recursive option for git-diff-tree.
    Remove '-r' from common diff options, mention it only for git-diff-tree.
    Remove one extraneous use of '-r' with git-diff-files in get-merge.sh.
    Sync the synopsis and usage string for git-diff-tree.
    
    Signed-off-by: Chris Shoemaker <c.shoemaker at cox.net>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Something went wrong with that request. Please try again.