Permalink
Commits on Jun 14, 2008
  1. GIT 1.5.6-rc3

    Just a lot of small fixes, mostly documentation.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    gitster committed Jun 14, 2008
  2. Simplify and rename find_sha1_file()

    Now that we've made the loose SHA1 file reading more careful and
    streamlined, we only use the old find_sha1_file() function for checking
    whether a loose object file exists at all.
    
    As such, the whole 'return stat information' part of it was just
    pointless (nobody cares any more), and the naming of the function is not
    really all that relevant either.
    
    So simplify it to not do a 'stat()', but just an existence check (which
    is what the callers want), and rename it to 'has_loose_object()' which
    matches the use.
    
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    torvalds committed with gitster Jun 14, 2008
  3. Make loose object file reading more careful

    We used to do 'stat()+open()+mmap()+close()' to read the loose object
    file data, which does work fine, but has a couple of problems:
    
     - it unnecessarily walks the filename twice (at 'stat()' time and then
       again to open it)
    
     - NFS generally has open-close consistency guarantees, which means that
       the initial 'stat()' was technically done outside of the normal
       consistency rules.
    
    So change it to do 'open()+fstat()+mmap()+close()' instead, which avoids
    both these issues.
    
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    torvalds committed with gitster Jun 14, 2008
  4. Avoid cross-directory renames and linking on object creation

    Instead of creating new temporary objects in the top-level git object
    directory, create them in the same directory they will finally end up in
    anyway.  This avoids making the final atomic "rename to stable name"
    operation be a cross-directory event, which makes it a lot easier for
    various filesystems.
    
    Several filesystems do things like change the inode number when moving
    files across directories (or refuse to do it entirely).
    
    In particular, it can also cause problems for NFS implementations that
    change the filehandle of a file when it moves to a different directory,
    like the old user-space NFS server did, and like the Linux knfsd still
    does if you don't export your filesystems with 'no_subtree_check' or if
    you export a filesystem that doesn't have stable inode numbers across
    renames).
    
    This change also obviously implies creating the object fan-out
    subdirectory at tempfile creation time, rather than at the final
    move_temp_to_file() time.  Which actually accounts for most of the size
    of the patch.
    
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    torvalds committed with gitster Jun 14, 2008
  5. Use 'trash directory' thoroughly in t/test-lib.sh

    ...also in comments.
    
    Signed-off-by: Jakub Narebski <jnareb@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    jnareb committed with gitster Jun 14, 2008
  6. Don't allocate too much memory in quote_ref_url

    In c13b263, http_fetch_ref got "refs/" included in the ref passed to it,
    which, incidentally, makes the allocation in quote_ref_url too big, now.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    glandium committed with gitster Jun 14, 2008
  7. gitweb: Make it work with $GIT containing spaces

    This fixes single point where $GIT (which can contain full path
    to git binary) with embedded spaces gave errors.
    
    Signed-off-by: Jakub Narebski <jnareb@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    jnareb committed with gitster Jun 14, 2008
  8. completion: add more 'git add' options

    Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    szeder committed with gitster Jun 14, 2008
  9. git add: add long equivalents of '-u' and '-f' options

    The option -u stands for --update and it is a good idea to make it clear
    especially because this is the only mode of operation of "git add" that
    does something different from "adding".  Give longer --force synonym to -f
    while we are at it as well.
    
    Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    szeder committed with gitster Jun 14, 2008
  10. Merge branch 'rs/attr'

    * rs/attr:
      Ignore .gitattributes in bare repositories
    gitster committed Jun 14, 2008
  11. git-svn: test that extra blank lines aren't inserted in commit messages.

    Improve the git-svn-author test to check that extra newlines aren't inserted
    into commit messages as they take a round trip from git to svn and back.
    
    We test both with and without the --add-author-from option to git-svn.
    
    git-svn: test that svn repo doesn't have extra newlines.
    
    Signed-off-by: Avery Pennarun <apenwarr@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    apenwarr committed with gitster Jun 12, 2008
  12. git-svn: don't append extra newlines at the end of commit messages.

    In git, all commits end in exactly one newline character.  In svn, commits
    end in zero or more newlines.  Thus, when importing commits from svn into
    git, git-svn always appends two extra newlines to ensure that the
    git-svn-id: line is separated from the main commit message by at least one
    blank line.
    
    Combined with the terminating newline that's always present in svn commits
    produced by git, you usually end up with two blank lines instead of one
    between the commit message and git-svn-id: line, which is undesirable.
    
    Instead, let's remove all trailing whitespace from the git commit on the way
    through to svn.
    
    Signed-off-by: Avery Pennarun <apenwarr@gmail.com>
    Acked-by: Eric Wong <normalperson@yhbt.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    apenwarr committed with gitster Jun 12, 2008
  13. git-submodule - Fix errors regarding resolve_relative_url

    git-submodule was invoking "die" from within resolve-relative-url, but
    this does not actually cause the script to exit. Fix this by returning
    the error to the caller and have the caller exit.
    
    While we're at it, clean up the quoting on invocation of
    resolve_relative_url as it was wrong.
    
    Signed-off-by: Mark Levedahl <mlevedahl@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    mark987 committed with gitster Jun 14, 2008
  14. documentation: bisect: remove bits talking about a bisection branch

    ... because we are now bisecting using a detached HEAD.
    
    Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    chriscool committed with gitster Jun 14, 2008
  15. sha1_file.c: dead code removal

    write_sha1_from_fd() and write_sha1_to_fd() were dead code nobody called,
    neither the latter's helper repack_object() was.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    gitster committed Jun 14, 2008
  16. git-instaweb: improve auto-discovery of httpd and call conventions.

    This patch allows calling:
    
       git-instaweb -d apache2
    
    and have the script Do The Right Thing. In particular, the auto-discovery
    mechanism has been extended in order to be used for module listing as
    well, and the call convention is that if the daemon is apache2/lighttpd
    and the parameter to the "-d" option does not end by "-f", the "-f" is
    added to the end of the option itself.
    
    Change all backticks to $( ... ) as per Documentation/CodingGuidelines.
    
    Signed-off-by: Flavio Poletti <flavio@polettix.it>
    Acked-by: Eric Wong <normalperson@yhbt.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    polettix committed with gitster Jun 12, 2008
  17. t4126: fix test that happened to work due to timing

    The test did "reset --hard" (where the HEAD commit has an empty
    blob at path "empty") followed by "> empty", expecting that
    the index does not notice the file _changed_ since git wrote
    it out upon "reset" if the redirection is done quickly enough.
    
    There was no need to do the emptying, and it gave a wrong result
    if "reset --hard" happened on time T and then ">empty" happened on
    the next second T+1.  This fixes it.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    gitster committed Jun 14, 2008
Commits on Jun 13, 2008
  1. Merge branch 'om/remote-fix'

    * om/remote-fix:
      "remote prune": be quiet when there is nothing to prune
      remote show: list tracked remote branches with -n
      remote prune: print the list of pruned branches
      builtin-remote: split show_or_prune() in two separate functions
      remote show: fix the -n option
    gitster committed Jun 13, 2008
  2. fast-export: Correctly generate initial commits with no parents

    If we are exporting a commit which has no parents we may be doing
    it to a branch that already exists, causing fast-import to assume
    the branch's current revision should be the sole parent of the
    new commit.  This can cause `git fast-export | git fast-import`
    to produce an incorrect graph for:
    
       A-------M----o------o  refs/heads/master
              /
           B-+
    
    In this graph A and B are initial commits (no parents) but if A was
    output first to refs/heads/master and then B is output fast-import
    would assume the graph was this instead:
    
       A-------M----o------o  refs/heads/master
        \     /
         +-B-+
    
    Which would cause B, M, and all later commits to have a different
    SHA-1, and obviously be quite a different graph.
    
    Sending a reset command prior to B informs fast-import to clear
    the implied parent of A, allowing B to remain an initial commit.
    
    Reported-by: Ben Lynn <benlynn@gmail.com>
    Deemed-obviously-correct-by: Johannes Schindelin <johannes.schindelin@gmx.de>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    spearce committed with gitster Jun 13, 2008
  3. t/.gitattributes: only ignore whitespace errors in test files

    Only ignore whitespace errors in t/tNNNN-*.sh and the t/tNNNN
    subdirectories.  Other files (like test libraries) should still be
    checked.
    
    Also fix a whitespace error in t/test-lib.sh.
    
    Signed-off-by: Lea Wiemann <LeWiemann@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    Lea Wiemann committed with gitster Jun 12, 2008
  4. document --pretty=tformat: option

    This was introduced in 4da45be, but never documented anywhere.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    peff committed with gitster Jun 12, 2008
  5. Improve sed portability

    The behaviour of "sed" on an incomplete line is unspecified by POSIX, and
    On Solaris it apparently fails to process input that doesn't end in a LF.
    
    Consequently constructs like
    
      re=$(printf '%s' foo | sed -e 's/bar/BAR/g' $)
    
    cause re to be set to the empty string. Such a construct is used in
    git-submodule.sh.
    
    Because the LF at the end of command output are stripped away by the
    command substitution, it is a safe and sane change to add a LF at the end
    of the printf format specifier.
    
    Signed-off-by: Chris Ridd <chris.ridd@isode.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    Chris Ridd committed with gitster Jun 11, 2008
Commits on Jun 12, 2008
  1. user-manual: describe how higher stages are set during a merge

    Higher stages store the blobs involved from their side verbatim.  Removal
    of uninteresting hunks are done by "diff --cc" upon demand and not stored
    in the index.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    gitster committed Jun 12, 2008
  2. doc: adding gitman.info and *.texi to .gitignore

    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    girving committed with gitster Jun 12, 2008
  3. Documentation: exclude @pxref{[REMOTES]} from texinfo intermediate ou…

    …tput
    
    We already had a hack to exclude @pxref{[URLS]} from the texi stream that
    refers to nonexistent anchor.
    
    This allows "make info" to produce gitman.info again.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    gitster committed Jun 12, 2008
  4. Documentation/git-pull.txt: Use more standard [NOTE] markup

    Unlike other manual pages (e.g. git-blame.txt), this used *NOTE:*
    to show a side note headed with boldface string "NOTE".  Use a paragraph
    headed by [NOTE] like others instead.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    gitster committed Jun 12, 2008
  5. "remote prune": be quiet when there is nothing to prune

    The previous commit made it always say "Pruning $remote" but reported the
    URL only when there is something to prune.  Make it consistent by not
    saying anything at all when there is nothing to prune.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    gitster committed Jun 12, 2008
  6. Typo in RelNotes.

    Signed-off-by: Mikael Magnusson <mikachu@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    Mikachu committed with gitster Jun 12, 2008
Commits on Jun 11, 2008
  1. Merge git://git.kernel.org/pub/scm/gitk/gitk

    * git://git.kernel.org/pub/scm/gitk/gitk:
      gitk: Handle detached heads better
    gitster committed Jun 11, 2008
  2. Merge branch 'maint'

    * maint:
      fix typo in tutorial
    gitster committed Jun 11, 2008
  3. fix typo in tutorial

    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    FredMaranhao committed with gitster Jun 11, 2008
  4. remote show: list tracked remote branches with -n

    Signed-off-by: Olivier Marin <dkr@freesurf.fr>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    Olivier Marin committed with gitster Jun 10, 2008
  5. remote prune: print the list of pruned branches

    This command is really too quiet which make it unconfortable to use.
    
    Also implement a --dry-run option, in place of the original -n one, to
    list stale tracking branches that will be pruned, but do not actually
    prune them.
    
    Add a test case for --dry-run.
    
    Signed-off-by: Olivier Marin <dkr@freesurf.fr>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    Olivier Marin committed with gitster Jun 10, 2008
  6. builtin-remote: split show_or_prune() in two separate functions

    This allow us to add different features to each of them and keep the
    code simple at the same time. Also create a get_remote_ref_states()
    to avoid duplicated code.
    
    Signed-off-by: Olivier Marin <dkr@freesurf.fr>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    Olivier Marin committed with gitster Jun 10, 2008
  7. remote show: fix the -n option

    The perl version accepted a -n flag, to show local informations only
    without querying remote heads, that seems to have been lost in the C
    revrite.
    
    This restores the older behaviour and add a test case.
    
    Signed-off-by: Olivier Marin <dkr@freesurf.fr>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
    Olivier Marin committed with gitster Jun 10, 2008