Permalink
Commits on Dec 27, 2007
  1. GIT 1.5.4-rc2

    gitster committed Dec 27, 2007
    Although everybody was quiet during the Christmas holiday, it's been
    a week since -rc1, so here is -rc2.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. Merge branch 'rs/pretty-safety'

    gitster committed Dec 27, 2007
    * rs/pretty-safety:
      Make "--pretty=format" parser a bit more careful.
  3. Make "--pretty=format" parser a bit more careful.

    René Scharfe committed with gitster Dec 20, 2007
    When a commit message that does not have a terminating LF is
    read in and the memory that was allocated to read it happens to
    have a LF immediately after that, the code was not careful and
    went past the terminating NUL.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  4. contrib: resurrect scripted git-revert.

    gitster committed Dec 27, 2007
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  5. Merge branch 'ar/commit-cleanup'

    gitster committed Dec 27, 2007
    * ar/commit-cleanup:
      Allow selection of different cleanup modes for commit messages
      builtin-commit: avoid double-negation in the code.
      builtin-commit: fix amending of the initial commit
      t7005: do not exit inside test.
  6. Fix rewrite_diff() name quoting.

    gitster committed Dec 27, 2007
    This moves the logic to quote two paths (prefix + path) in
    C-style introduced in the previous commit from the
    dump_quoted_path() in combine-diff.c to quote.c, and uses it to
    fix rewrite_diff() that never C-quoted the pathnames correctly.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  7. combine-diff: Fix path quoting

    gitster committed Dec 27, 2007
    Earlier when showing combined diff, the filenames on the ---/+++
    header lines were quoted incorrectly.  a/ (or b/) prefix was
    output literally and then the path was output, with c-quoting.
    
    This fixes the quoting logic, and while at it, adjusts the code
    to use the customizable prefix (a_prefix and b_prefix)
    introduced recently.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  8. Fix documentation of --first-parent in git-log and copy it to git-rev…

    gitster committed Dec 27, 2007
    …-list
    
    Credit goes to Avi Kivity for noticing the lack of description in
    rev-list manual page.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Dec 26, 2007
  1. Fix "git log --diff-filter" bug

    ArjenL committed with gitster Dec 25, 2007
    In commit b7bb760 (Fix revision
    log diff setup, avoid unnecessary diff generation) an optimization was
    made to avoid unnecessary diff generation.  This was partly fixed in
    99516e3 (Fix embarrassing "git log
    --follow" bug).  The '--diff-filter' option also needs the diff machinery
    in action.
    
    Signed-off-by: Arjen Laarhoven <arjen@yaph.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. Improve error messages when int/long cannot be parsed from config

    spearce committed with gitster Dec 25, 2007
    If a config file has become mildly corrupted due to a missing LF
    we may discover some other option joined up against the end of a
    numeric value.  For example:
    
    	[section]
    	number = 1auto
    
    where the "auto" flag was meant to occur on the next line, below
    "number", but the missing LF has caused it to no longer be its
    own option.  Instead the word "auto" is parsed as a 'unit factor'
    for the value of "number".
    
    Before this change we got the confusing error message:
    
      fatal: unknown unit: 'auto'
    
    which told us nothing about where the problem appeared.  Now we get:
    
      fatal: bad config value for 'aninvalid.unit'
    
    which at least points the user in the right direction of where to
    search for the incorrectly formatted configuration file.
    
    Noticed by erikh on #git, which received the original error from
    a simple `git checkout -b` due to a midly corrupted config.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Dec 24, 2007
  1. cvsimport: die on cvsps errors

    peff committed with gitster Dec 24, 2007
    We were not previously checking the exit status of cvsps at
    all. If it exited before producing any useful output, we
    ended up with an empty import, which caused a spew of
    confusing error messages from other parts of git:
    
    $ git-cvsimport foo
    Initialized empty Git repository in ...
    some error from cvsps
    fatal: refs/heads/origin: not a valid SHA1
    fatal: master: not a valid SHA1
    warning: You appear to be on a branch yet to be born.
    warning: Forcing checkout of HEAD.
    fatal: just how do you expect me to merge 0 trees?
    checkout failed: 256
    
    Now we get:
    
    $ git-cvsimport foo
    Initialized empty Git repository in ...
    some error from cvsps
    git-cvsimport: fatal: cvsps reported error
    
    Signed-off-by: Jeff King <peff@peff.net>
    Acked-by: Martin Langhoff <martin@catalyst.net.nz>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Dec 23, 2007
  1. shortlog manpage documentation: work around asciidoc markup issues

    hendeby committed with gitster Dec 23, 2007
    We wanted to have a list in which one (and the sole, as it happen to
    be) item in it is ".mailmap", but do not seem to be able to convince
    AsciiDoc to format it correctly for manpages.  Reformat it into a
    paragraph that describes the said file to work around the issue.
    
    Signed-off-by: Gustaf Hendeby <hendeby@isy.liu.se>
    Acked-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. Documentation: describe 'union' low-level merge driver

    gitster committed Dec 23, 2007
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  3. Allow selection of different cleanup modes for commit messages

    raalkml committed with gitster Dec 22, 2007
    Although we traditionally stripped away excess blank lines, trailing
    whitespaces and lines that begin with "#" from the commit log message,
    sometimes the message just has to be the way user wants it.
    
    For instance, a commit message template can contain lines that begin with
    "#", the message must be kept as close to its original source as possible
    if you are converting from a foreign SCM, or maybe the message has a shell
    script including its comments for future reference.
    
    The cleanup modes are default, verbatim, whitespace and strip. The
    default mode depends on if the message is being edited and will either
    strip whitespace and comments (if editor active) or just strip the
    whitespace (for where the message is given explicitely).
    
    Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  4. builtin-commit: avoid double-negation in the code.

    gitster committed Dec 23, 2007
    The flag no_edit meant "we have got final message from the user
    and will not editing it any further", but there were quite a few
    places that needed to check !no_edit.  Rename the variable to
    use_editor and reverse the logic everywhere.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  5. builtin-commit: fix amending of the initial commit

    gitster committed Dec 23, 2007
    When amending initial commit without editor, the command
    incorrectly barfed because the check to see if there is anything
    to commit referenced the non-existent HEAD^1.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  6. t7005: do not exit inside test.

    gitster committed Dec 23, 2007
    The way to signal failure is to leave non-zero in $?, not abort
    the entire test.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Dec 22, 2007
  1. Don't dereference NULL upon lookup failure.

    Jim Meyering committed with gitster Dec 21, 2007
    Instead, signal the error just like the case we do upon encountering
    an object with an unknown type.
    
    Signed-off-by: Jim Meyering <meyering@redhat.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. Emit helpful status for accidental "git stash" save

    wincent committed with gitster Dec 22, 2007
    If the user types "git stash" mistakenly thinking that this will list
    their stashes he/she may be surprised to see that it actually saved
    a new stash and reset their working tree and index.
    
    In the worst case they might not know how to recover the state. So
    help them by telling them exactly what was saved and also how to
    restore it immediately.
    
    Signed-off-by: Wincent Colaiuta <win@wincent.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  3. parse-options: Add a gitcli(5) man page.

    MadCoder committed with gitster Dec 13, 2007
    This page should hold every information about the git ways to parse command
    lines, and best practices to be used for scripting.
    
    Signed-off-by: Pierre Habouzit <madcoder@debian.org>
  4. Force the sticked form for options with optional arguments.

    MadCoder committed with gitster Dec 21, 2007
    This forbids "git tag -n <number> -l" we allowed earlier, so
    adjust t7004 while at it.
    
    Signed-off-by: Pierre Habouzit <madcoder@debian.org>
  5. Fix $EDITOR regression introduced by rewrite in C.

    gitster committed Dec 22, 2007
    When git-tag and git-commit launches the editor, they used to
    honor EDITOR="editor -options args..." but recent rewrite in C
    insisted on $EDITOR to be the path to the editor executable.
    
    This restores the older behaviour.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  6. Small comment fix for git-cvsimport.

    stspdotname committed with gitster Dec 21, 2007
    Signed-off-by: Stefan Sperling <stsp@stsp.name>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  7. Make git send-email accept $EDITOR with arguments

    hendeby committed with gitster Dec 22, 2007
    Currently git send-email does not accept $EDITOR with arguments, eg,
    emacs -nw, when starting an editor to produce a cover letter.  This
    patch changes this by letting the shell handle the option parsing.
    
    Signed-off-by:  Gustaf Hendeby <hendeby@isy.liu.se>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  8. git-tag: fix -l switch handling regression.

    MadCoder committed with gitster Dec 21, 2007
    The command itself takes an optional <pattern> argument that
    limits the shown tags to the ones that match when in listing
    mode that is triggered with '-l' option.  The <pattern> is not
    an optional option-argument to '-l'.
    
    With this fix, "git tag -l -n 4 v0.99" works as expected.
    
    It also removes a few bogus tests in t7004.
    
    Signed-off-by: Pierre Habouzit <madcoder@debian.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Dec 21, 2007
  1. Documentation: ls-files -v is about "assume unchanged".

    gitster committed Dec 21, 2007
    And refer the reader to update-index documentation.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. Re(-re)*fix trim_common_tail()

    torvalds committed with gitster Dec 21, 2007
    The tar-ball and the git archive itself is fine, but yes, the diff from
    2.6.23 to 2.6.24-rc6 is bad. It's the "trim_common_tail()" optimization
    that has caused way too much pain.
    
    Very interesting breakage. The patch was actually "correct" in a (rather
    limited) technical sense, but the context at the end was missing because
    while the trim_common_tail() code made sure to keep enough common context
    to allow a valid diff to be generated, the diff machinery itself could
    decide that it could generate the diff differently than the "obvious"
    solution.
    
    Thee sad fact is that the git optimization (which is very important for
    "git blame", which needs no context), is only really valid for that one
    case where we really don't need any context.
    
    [jc: since this is shared with "git diff -U0" codepath, context recovery
    to the end of line needs to be done even for zero context case.]
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  3. gitweb: fix whitespace in config_to_multi (indent with tab)

    jnareb committed with gitster Dec 20, 2007
    Signed-off-by: Jakub Narebski <jnareb@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  4. everyday: replace 'prune' and 'repack' with 'gc'

    Miklos Vajna committed with gitster Dec 20, 2007
    In everyday tasks, "repack -a -d -f" won't be used, so there
    is not much point mentioning "repack".  By showing the --prune
    option to "gc", we can do without mentioning "git prune", too.
    
    Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  5. Remove old generated files from .gitignore.

    hashpling committed with gitster Dec 20, 2007
    Some entries in .gitignore are obselete.  These should be cleaned up
    just for the sake of general tidiness and so that any developers who
    have a working tree that was moved forward without a clean know that
    they have old stuff in their work tree.
    
    Signed-off-by: Charles Bailey <charles@hashpling.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  6. clean up 1.5.4 release notes

    peff committed with gitster Dec 20, 2007
    Mostly typo and small grammatical fixes with one or two rewordings for
    clarity.  But note the important fix for status.relativepaths.
    
    Signed-off-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  7. Mention git-shell's "cvs" substitution in the RelNotes

    dscho committed with gitster Dec 20, 2007
    git shell became much more powerful for existing CVS setups.
    We should not hide from those people who only read release
    notes.
    
    Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Dec 20, 2007
  1. shell-scripts usage(): consistently exit with non-zero

    gitster committed Dec 20, 2007
    Earlier conversion of shell scripts to parse-options made usage()
    to run "git cmd -h" which in turn emit LONG_USAGE and exit with 0
    status.  This is inconsistent with the scripts that do not use
    parse-options, whose usage() died with the message, exiting with 1.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. Reallow git-rebase --interactive --continue if commit is unnecessary

    spearce committed with gitster Dec 20, 2007
    During git-rebase --interactive's --continue implementation we used
    to silently restart the rebase if the user had made the commit
    for us.  This is common if the user stops to edit a commit and
    does so by amending it.  My recent change to watch git-commit's
    exit status broke this behavior.
    
    Thanks to Bernt Hansen for catching it in 1.5.4-rc1.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  3. fix git commit --amend -m "new message"

    gitster committed Dec 20, 2007
    The prepare_log_message() function serves two purposes:
    
     - Prepares the commit log message template, to be given to the end
       user;
    
     - Return true if there is something committable;
    
    7168624 (Do not generate full commit
    log message if it is not going to be used) cheated to omit the former
    when we know the log message template is not going to be used.  However,
    its replacement logic to see if there is something committable was
    botched.  When amending, it should compare the index with the parent of
    the HEAD, not the current HEAD.  Otherwise you cannot run --amend to
    fix only the message without changing the tree.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>