Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Commits on Feb 6, 2012
  1. @gitster

    mailmap: always return a plain mail address from map_user()

    gitster authored
    The callers of map_user() give email and name to it, and expect to get the
    up-to-date email and/or name to be used in their output. The function
    rewrites the given buffers in place. To optimize the majority of cases,
    the function returns 0 when it did not do anything, and it returns 1 when
    the caller should use the updated contents.
    
    The 'email' input to the function is terminated by '>' or a NUL (whichever
    comes first) for historical reasons, but when a rewrite happens, the value
    is replaced with the mailbox inside the <> pair.  However, it failed to
    meet this expectation when it only rewrote the name part without rewriting
    the email part, and the email in the input was terminated by '>'.
    
    This causes an extra '>' to appear in the output of "blame -e", because the
    caller does send in '>'-terminated email, and when the function returned 1
    to tell it that rewriting happened, it appends '>' that is necessary when
    the email part was rewritten.
    
    The patch looks bigger than it actually is, because this change makes a
    variable that points at the end of the email part in the input 'p' live
    much longer than it used to, deserving a more descriptive name.
    
    Noticed and diagnosed by Felipe Contreras and Jeff King.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Dec 14, 2011
  1. @gitster

    Merge branch 'ml/mailmap' into maint-1.7.6

    gitster authored
    * ml/mailmap:
      mailmap: xcalloc mailmap_info
    
    Conflicts:
    	mailmap.c
Commits on Nov 17, 2011
  1. @elmarco @gitster

    mailmap: xcalloc mailmap_info

    elmarco authored gitster committed
    This is to avoid reaching free of uninitialized members.
    
    With an invalid .mailmap (and perhaps in other cases), it can reach
    free(mi->name) with garbage for example.
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Oct 14, 2010
  1. @meyering @gitster

    mailmap: fix use of freed memory

    meyering authored gitster committed
    On an x86_64 system (F13-based), I ran these commands in an empty directory:
    
        git init
        printf '%s\n' \
          '<jdoe@example.com> <jdoe@example.COM>' \
          'John <jdoe@example.com>' > .mailmap
        git shortlog < /dev/null
    
    Here's the result:
    
        (reading log message from standard input)
        *** glibc detected *** git: free(): invalid pointer: 0x0000000000f53730 ***
        ======= Backtrace: =========
        /lib64/libc.so.6[0x31ba875676]
        git[0x48c2a5]
        git[0x4b9858]
        ...
        zsh: abort (core dumped)  git shortlog
    
    What happened?
    
    Some .mailmap entry is of the <email1> <email2> form,
    while a subsequent one looks like "User Name <Email2>,
    and the two email addresses on the right are not identical
    but are "equal" when using a case-insensitive comparator.
    
    Then, when add_mapping is processing the latter line, new_email is NULL
    and we free me->email, yet do not replace it with a new strdup'd string.
    Thus, when later we attempt to use the buffer behind that ->email pointer,
    we reference freed memory.
    
    The solution is to free ->email and ->name only if we're about to replace them.
    
    [jc: squashed in the tests from Jonathan]
    
    Signed-off-by: Jim Meyering <meyering@redhat.com>
    Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Jun 27, 2010
  1. @qur @gitster

    string_list: Fix argument order for string_list_lookup

    qur authored gitster committed
    Update the definition and callers of string_list_lookup to use the
    string_list as the first argument.  This helps make the string_list
    API easier to use by being more consistent.
    
    Signed-off-by: Julian Phillips <julian@quantumfyre.co.uk>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. @qur @gitster

    string_list: Fix argument order for string_list_insert_at_index

    qur authored gitster committed
    Update the definition and callers of string_list_insert_at_index to
    use the string_list as the first argument.  This helps make the
    string_list API easier to use by being more consistent.
    
    Signed-off-by: Julian Phillips <julian@quantumfyre.co.uk>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  3. @qur @gitster

    string_list: Fix argument order for string_list_insert

    qur authored gitster committed
    Update the definition and callers of string_list_insert to use the
    string_list as the first argument.  This helps make the string_list
    API easier to use by being more consistent.
    
    Signed-off-by: Julian Phillips <julian@quantumfyre.co.uk>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Jan 12, 2010
  1. @gitster

    mailmap.c: remove unused function

    gitster authored
    map_email() is not used anywhere.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Jun 21, 2009
  1. @torvalds @gitster

    Fix various sparse warnings in the git source code

    torvalds authored gitster committed
    There are a few remaining ones, but this fixes the trivial ones. It boils
    down to two main issues that sparse complains about:
    
     - warning: Using plain integer as NULL pointer
    
       Sparse doesn't like you using '0' instead of 'NULL'. For various good
       reasons, not the least of which is just the visual confusion. A NULL
       pointer is not an integer, and that whole "0 works as NULL" is a
       historical accident and not very pretty.
    
       A few of these remain: zlib is a total mess, and Z_NULL is just a 0.
       I didn't touch those.
    
     - warning: symbol 'xyz' was not declared. Should it be static?
    
       Sparse wants to see declarations for any functions you export. A lack
       of a declaration tends to mean that you should either add one, or you
       should mark the function 'static' to show that it's in file scope.
    
       A few of these remain: I only did the ones that should obviously just
       be made static.
    
    That 'wt_status_submodule_summary' one is debatable. It has a few related
    flags (like 'wt_status_use_color') which _are_ declared, and are used by
    builtin-commit.c. So maybe we'd like to export it at some point, but it's
    not declared now, and not used outside of that file, so 'static' it is in
    this patch.
    
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Apr 2, 2009
  1. @gitster

    Merge branch 'maint'

    gitster authored
    * maint:
      Documentation: Remove an odd "instead"
      fix portability problem with IS_RUN_COMMAND_ERR
      mailmap: resurrect lower-casing of email addresses
Commits on Apr 1, 2009
  1. @dotdash @gitster

    Mailmap: Allow empty email addresses to be mapped

    dotdash authored gitster committed
    While it makes no sense to map some email address to an empty one, doing
    things the other way around can be useful. For example when using
    filter-branch with an env-filter that employs a mailmap to fix up an
    import that created such broken commits with empty email addresses.
    
    Signed-off-by: Björn Steinbrink <B.Steinbrink@gmx.de>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. @dscho @gitster

    mailmap: resurrect lower-casing of email addresses

    dscho authored gitster committed
    Commit 0925ce4(Add map_user() and clear_mailmap() to mailmap) broke the
    lower-casing of email addresses.  This mostly did not matter if your
    .mailmap has only lower-case email addresses;  However, we did not
    require .mailmap to contain lowercase-only email addresses.
    
    Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Feb 8, 2009
  1. @gitster

    Add map_user() and clear_mailmap() to mailmap

    Marius Storm-Olsen authored gitster committed
    map_user() allows to lookup and replace both email and
    name of a user, based on a new style mailmap file.
    
    The possible mailmap definitions are now:
    
      proper_name <commit_email>                             # Old style
      <proper_email> <commit_email>                          # New style
      proper_name <proper_email> <commit_email>              # New style
      proper_name <proper_email> commit_name <commit_email>  # New style
    
    map_email() operates the same as before, with the
    exception that it also will to try to match on a name
    passed in through the name return buffer.
    
    clear_mailmap() is needed to now clear the more complex
    mailmap structure.
    
    Signed-off-by: Marius Storm-Olsen <marius@trolltech.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
  2. @gitster

    Add mailmap.file as configurational option for mailmap location

    Marius Storm-Olsen authored gitster committed
    This allows us to augment the repo mailmap file, and to use
    mailmap files elsewhere than the repository root. Meaning
    that the entries in mailmap.file will override the entries
    in "./.mailmap", should they match.
    
    Signed-off-by: Marius Storm-Olsen <marius@trolltech.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Jul 22, 2008
  1. @dscho @gitster

    Rename path_list to string_list

    dscho authored gitster committed
    The name path_list was correct for the first usage of that data structure,
    but it really is a general-purpose string list.
    
    $ perl -i -pe 's/path-list/string-list/g' $(git grep -l path-list)
    $ perl -i -pe 's/path_list/string_list/g' $(git grep -l path_list)
    $ git mv path-list.h string-list.h
    $ git mv path-list.c string-list.c
    $ perl -i -pe 's/has_path/has_string/g' $(git grep -l has_path)
    $ perl -i -pe 's/path/string/g' string-list.[ch]
    $ git mv Documentation/technical/api-path-list.txt \
    	Documentation/technical/api-string-list.txt
    $ perl -i -pe 's/strdup_paths/strdup_strings/g' $(git grep -l strdup_paths)
    
    ... and then fix all users of string-list to access the member "string"
    instead of "path".
    
    Documentation/technical/api-string-list.txt needed some rewrapping, too.
    
    Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Dec 8, 2007
  1. @gitster

    mailmap: fix bogus for() loop that happened to be safe by accident

    gitster authored
    The empty loop pretended to have an empty statement as its body by a
    phony indentation, but in fact was slurping the next statement into it.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Jun 7, 2007
  1. @gitster

    War on whitespace

    gitster authored
    This uses "git-apply --whitespace=strip" to fix whitespace errors that have
    crept in to our source files over time.  There are a few files that need
    to have trailing whitespaces (most notably, test vectors).  The results
    still passes the test, and build result in Documentation/ area is unchanged.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Apr 30, 2007
  1. @raalkml

    Include mailmap.h in mailmap.c to catch mailmap interface changes

    raalkml authored Junio C Hamano committed
    Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  2. @raalkml

    Fix read_mailmap to handle a caller uninterested in repo abbreviation

    raalkml authored Junio C Hamano committed
    The only such a caller builtin-blame.c would pass NULL as the place
    where to store the abbreviation.
    
    Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  3. @raalkml

    Use strlcpy instead of strncpy in mailmap.c

    raalkml authored Junio C Hamano committed
    strncpy does not NUL-terminate output in case of output buffer too short,
    and map_email prototype (and usage) does not allow for figuring out
    what the length of the name is.
    
    Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Apr 29, 2007
  1. Split out mailmap handling out of shortlog

    Junio C Hamano authored
    This splits out a few functions to deal with mailmap from
    shortlog and makes it a bit more usable from other programs.
    Most notably, it does not clobber input e-mail address anymore.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Something went wrong with that request. Please try again.