Permalink
Commits on Mar 26, 2007
  1. GIT 1.5.1-rc2

    Junio C Hamano committed Mar 26, 2007
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  2. git-svn: fix rel_path() when not connected to the repository root

    Eric Wong committed with Junio C Hamano Mar 25, 2007
    This should fix fetching for people who did not use
    "git svn --minimize" or cannot connect to the repository root
    due to the lack of permissions.
    
    I'm not sure what I was on when I made the change to the
    rel_path() function in 4e9f6cc
    that made it die() when we weren't connected to the repository
    root :x
    
    Thanks to Sven Verdoolaege for reporting this bug.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  3. use xmalloc in git.c and help.c

    James Bowes committed with Junio C Hamano Mar 26, 2007
    Signed-off-by: James Bowes <jbowes@dangerouslyinc.com>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  4. Merge branch 'jc/fpl'

    Junio C Hamano committed Mar 26, 2007
    * jc/fpl:
      git-log --first-parent: show only the first parent log
  5. Update README to point at a few key periodical messages to the list

    Junio C Hamano committed Mar 26, 2007
    They give a good starting point to new people who want to get
    involved.  This owes suggestions by Martin Langhoff and Steven
    Grimm.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Mar 25, 2007
  1. Merge branch 'maint'

    Junio C Hamano committed Mar 25, 2007
    * maint:
      user-manual: introduce "branch" and "branch head" differently
      glossary: clean up cross-references
      glossary: stop generating automatically
      user-manual: Use def_ instead of ref_ for glossary references.
      user-manual.txt: fix a tiny typo.
      user-manual: run xsltproc without --nonet option
  2. Merge branch 'maint' of git://linux-nfs.org/~bfields/git into maint

    Junio C Hamano committed Mar 25, 2007
    * 'maint' of git://linux-nfs.org/~bfields/git:
      user-manual: introduce "branch" and "branch head" differently
      glossary: clean up cross-references
      glossary: stop generating automatically
      user-manual: Use def_ instead of ref_ for glossary references.
      user-manual.txt: fix a tiny typo.
      user-manual: run xsltproc without --nonet option
  3. Merge branch 'js/remote-show-push'

    Junio C Hamano committed Mar 25, 2007
    * js/remote-show-push:
      Teach git-remote to list pushed branches.
  4. Merge branch 'maint'

    Junio C Hamano committed Mar 25, 2007
    * maint:
      gitweb: Add some installation notes in gitweb/INSTALL
      gitweb: Fix not marking signoff lines in "log" view
      gitweb: Don't escape attributes in CGI.pm HTML methods
      gitweb: Change to use explicitly function call cgi->escapHTML()
  5. Use diff* with --exit-code in git-am, git-rebase and git-merge-ours

    raalkml committed with Junio C Hamano Mar 25, 2007
    This simplifies the shell code, reduces its memory footprint, and
    speeds things up. The performance improvements should be noticable
    when git-rebase works on big commits.
    
    Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  6. Document --quiet option to git-diff

    raalkml committed with Junio C Hamano Mar 25, 2007
    Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  7. write_sha1_from_fd() should make new objects read-only

    Nicolas Pitre committed with Junio C Hamano Mar 24, 2007
    ... like it is done everywhere else.
    
    Signed-off-by: Nicolas Pitre <nico@cam.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  8. make it more obvious that temporary files are temporary files

    Nicolas Pitre committed with Junio C Hamano Mar 24, 2007
    When some operations are interrupted (or "die()'d" or crashed) then the
    partial object/pack/index file may remain around.  Make it more obvious
    in their name that those files are temporary stuff and can be cleaned up
    if no operation is in progress.
    
    Signed-off-by: Nicolas Pitre <nico@cam.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  9. update-hook: remove e-mail sending hook.

    andyparkins committed with Junio C Hamano Mar 23, 2007
    The update hook's only job is to decide is a particular update
    is allowed or not.  It was not the right place to send out
    update notification e-mails from to begin with, as the final
    stage of updating refs can fail after this hook runs.
    
    Signed-off-by: Andy Parkins <andyparkins@gmail.com>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  10. gitweb: Add some installation notes in gitweb/INSTALL

    jnareb committed with Junio C Hamano Mar 24, 2007
    Add some installation and configuration notes for gitweb in
    gitweb/INSTALL. Make use of filling gitweb configuration by
    Makefile.
    
    It does not cover (yet?) all the configuration variables and
    options.
    
    Some of contents duplicates information in gitweb/README file
    (it is referred from gitweb/INSTALL).
    
    Signed-off-by: Jakub Narebski <jnareb@gmail.com>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  11. gitweb: Fix not marking signoff lines in "log" view

    jnareb committed with Junio C Hamano Mar 24, 2007
    The CSS selector for signoff lines style was too strict: in the "log"
    view the commit message is not encompassed in container "page_body"
    div.
    
    Signed-off-by: Jakub Narebski <jnareb@gmail.com>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  12. gitweb: Don't escape attributes in CGI.pm HTML methods

    jnareb committed with Junio C Hamano Mar 7, 2007
    There is no need to escape HTML tag's attributes in CGI.pm
    HTML methods (like CGI::a()), because CGI.pm does attribute
    escaping automatically.
    
      $cgi->a({ ... -attribute => atribute_value }, tag_contents)
    
    is translated to
    
      <a ... attribute="attribute_value">tag_contents</a>
    
    The rules for escaping attribute values (which are string contents) are
    different. For example you have to take care about escaping embedded '"'
    and "'" characters; CGI::a() does that for us automatically.
    
    CGI::a() does not HTML escape tag_contents; we would need to write
    
      <a href="URL">some <b>bold</b> text</a>
    
    for example. So we use esc_html (or esc_path) to escape tag_contents
    as needed.
    
    Signed-off-by: Jakub Narebski <jnareb@gmail.com>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  13. gitweb: Change to use explicitly function call cgi->escapHTML()

    Li Yang committed with Junio C Hamano Mar 6, 2007
    Change to use explicitly function call cgi->escapHTML().
    This fix the problem on some systems that escapeHTML() is not
    functioning, as default CGI is not setting 'escape' parameter.
    
    Signed-off-by: Li Yang <leoli@freescale.com>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Mar 24, 2007
  1. git-am documentation: describe what is taken from where.

    Junio C Hamano committed Mar 24, 2007
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  2. git-revert: Revert revert message to old behaviour

    dscho committed with Junio C Hamano Mar 23, 2007
    When converting from the shell script, based on a misreading of the
    sed invocation, the builtin included the abbreviated commit name,
    and did _not_ include the quotes around the oneline message.
    
    This fixes it.
    
    [jc: with a fix for the typo/thinko spotted by Linus, and also
     removing the unwanted abbrev at the beginning.]
    
    Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  3. Merge branch 'maint'

    Junio C Hamano committed Mar 24, 2007
    * maint:
      gitweb: Fix "next" link in commit view
  4. Documentation: bisect: make a comment fit better in the man page.

    chriscool committed with Junio C Hamano Mar 24, 2007
    Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  5. Documentation: bisect: add some titles to some paragraphs.

    chriscool committed with Junio C Hamano Mar 24, 2007
    Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  6. Documentation: bisect: reformat more paragraphs.

    chriscool committed with Junio C Hamano Mar 24, 2007
    Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  7. Documentation: bisect: reword one paragraph.

    chriscool committed with Junio C Hamano Mar 24, 2007
    Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  8. Documentation: bisect: reformat some paragraphs.

    chriscool committed with Junio C Hamano Mar 24, 2007
    Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  9. Fix path-limited "rev-list --bisect" termination condition.

    Junio C Hamano committed Mar 23, 2007
    In a path-limited bisection, when the $bad commit is not
    changing the limited path, and the number of suspects is 1, the
    code miscounted and returned $bad from find_bisection(), which
    is not marked with TREECHANGE.  This is of course filtered by
    the output routine, resulting in an empty output, in turn
    causing git-bisect driver to say "$bad was both good and bad".
    
    Illustration.  Suppose you have these four commits, and only C
    changes path P.  You know D is bad and A is good.
    
    	A---B---C*--D
    
    git-bisect driver runs this to find a bisection point:
    
    	$ git rev-list --bisect A..D -- P
    
    which calls find_bisection() with B, C and D.  The set of
    commits that is given to this function is the same set of
    commits as rev-list without --bisect option and pathspec
    returns.  Among them, only C is marked with TREECHANGE.  Let's
    call the set of commits given to find_bisection() that are
    marked with TREECHANGE (or all of them if no path limiter is in
    effect) "the bisect set".  In the above example, the size of the
    bisect set is 1 (contains only "C").
    
    For each commit in its input, find_bisection() computes the
    number of commits it can reach in the bisect set.  For a commit
    in the bisect set, this number includes itself, so the number is
    1 or more.  This number is called "depth", and computed by
    count_distance() function.
    
    When you have a bisect set of N commits, and a commit has depth
    D, how good is your bisection if you returned that commit?  How
    good this bisection is can be measured by how many commits are
    effectively tested "together" by testing one commit.
    
    Currently you have (N-1) untested commits (the tip of the bisect
    set, although it is included in the bisect set, is already known
    to be bad).  If the commit with depth D turns out to be bad,
    then your next bisect set will have D commits and you will have
    (D-1) untested commits left, which means you tested (N-1)-(D-1)
    = (N-D) commits with this bisection.  If it turns out to be good, then
    your next bisect set will have (N-D) commits, and you will have
    (N-D-1) untested commits left, which means you tested
    (N-1)-(N-D-1) = D commits with this bisection.
    
    Therefore, the goodness of this bisection is is min(N-D, D), and
    find_bisection() function tries to find a commit that maximizes
    this, by initializing "closest" variable to 0 and whenever a
    commit with the goodness that is larger than the current
    "closest" is found, that commit and its goodness are remembered
    by updating "closest" variable.  The "the commit with the best
    goodness so far" is kept in "best" variable, and is initialized
    to a commit that happens to be at the beginning of the list of
    commits given to this function (which may or may not be in the
    bisect set when path-limit is in use).
    
    However, when N is 1, then the sole tree-changing commit has
    depth of 1, and min(N-D, D) evaluates to 0.  This is not larger
    than the initial value of "closest", and the "so far the best
    one" commit is never replaced in the loop.
    
    When path-limit is not in use, this is not a problem, as any
    commit in the input set is tree-changing.  But when path-limit
    is in use, and when the starting "bad" commit does not change
    the specified path, it is not correct to return it.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
Commits on Mar 23, 2007
  1. gitweb: Fix "next" link in commit view

    jnareb committed with Junio C Hamano Mar 23, 2007
    Fix copy'n'paste error in commit c9d193d which caused that "next"
    link for merge commits in "commit" view
      (merge: _commit_ _commit_ ...)
    was to "commitdiff" view instead of being to "commit" view.
    
    Signed-off-by: Jakub Narebski <jnareb@gmail.com>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  2. git-bisect.sh: properly dq $GIT_DIR

    Junio C Hamano committed Mar 23, 2007
    Otherwise you would be in trouble if your GIT_DIR has IFS letters in it.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  3. git-bisect: typofix

    Junio C Hamano committed Mar 23, 2007
    The branch you are on while bisecting is always "bisect", and
    checking for "refs/heads/bisect*" is wrong.  Only check if it is
    exactly "refs/heads/bisect".
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  4. checkout: report where the new HEAD is upon detaching HEAD

    Junio C Hamano committed Mar 23, 2007
    After "git reset" moves the HEAD around, it reports which commit
    you are on, which gives the user a warm fuzzy feeling of
    assurance.  Give the same assurance from git-checkout when
    moving the detached HEAD around.
    
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  5. Bisect: implement "git bisect run <cmd>..." to automatically bisect.

    chriscool committed with Junio C Hamano Mar 23, 2007
    This idea was suggested by Bill Lear
    (Message-ID: <17920.38942.364466.642979@lisa.zopyra.com>)
    and I think it is a very good one.
    
    This patch adds a new test file for "git bisect run", but there
    is currently only one basic test.
    
    Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  6. Bisect: convert revs given to good and bad to commits

    Uwe Kleine-König committed with Junio C Hamano Mar 22, 2007
    Without this the rev could be (e.g.) a tag and then the condition to end the
    bisect might fail and you have to check the already known to be bad revision
    once more.
    
    Signed-off-by: Uwe Kleine-König <ukleinek@informatik.uni-freiburg.de>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  7. t4118: be nice to non-GNU sed

    dscho committed with Junio C Hamano Mar 23, 2007
    Elias Pipping:
    > I'm on a mac, hence /usr/bin/sed is not gnu sed, which makes
    > t4118 fail.
    
    Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
    Ack'd-by: Elias Pipping <pipping@macports.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
  8. git-apply: Do not free the wrong buffer when we convert the data for …

    Junio C Hamano committed Mar 23, 2007
    …writeout
    
    When we write out the result of patch application, we sometimes
    need to munge the data (e.g. under core.autocrlf).  After doing
    so, what we should free is the temporary buffer that holds the
    converted data returned from convert_to_working_tree(), not the
    original one.
    
    This patch also moves the call to open() up in the function, as
    the caller expects us to fail cheaply if leading directories
    need to be created (and then the caller creates them and calls
    us again).  For that calling pattern, attempting conversion
    before opening the file adds unnecessary overhead.
    
    Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>