1. 23 2月, 2008 7 次提交
    • B
      git-reflog: add option --rewrite to update reflog entries while expiring · 2b81fab2
      Brandon Casey 提交于
      Certain sanity checks on the reflog assume that each entry will contain
      a reference to the previous entry. i.e. that the "old" sha1 field of a
      reflog entry will be equal to the "new" sha1 field of the previous entry.
      
      When reflog entries are deleted, this assumption may not hold. This patch
      adds a new option to git-reflog which causes the subcommands "expire" and
      "delete" to rewrite the "old" sha1 field of each reflog entry so that it
      points to the previous reflog entry.
      Signed-off-by: NBrandon Casey <casey@nrlssc.navy.mil>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      2b81fab2
    • B
      reflog-delete: parse standard reflog options · 3c386aa3
      Brandon Casey 提交于
      Add support for some standard reflog options such as --dry-run and
      --verbose to the reflog delete subcommand.
      Signed-off-by: NBrandon Casey <casey@nrlssc.navy.mil>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      3c386aa3
    • J
      Merge branch 'bc/reflog-fix' into js/reflog-delete · 50f3ac29
      Junio C Hamano 提交于
      * bc/reflog-fix: (1490 commits)
        builtin-reflog.c: don't install new reflog on write failure
        hash: fix lookup_hash semantics
        gitweb: Better chopping in commit search results
        builtin-tag.c: remove cruft
        git-merge-index documentation: clarify synopsis
        send-email: fix In-Reply-To regression
        git-reset --hard and git-read-tree --reset: fix read_cache_unmerged()
        Teach git-grep --name-only as synonym for -l
        diff: fix java funcname pattern for solaris
        t3404: use configured shell instead of /bin/sh
        git_config_*: don't assume we are parsing a config file
        prefix_path: use is_absolute_path() instead of *orig == '/'
        git-clean: handle errors if removing files fails
        Clarified the meaning of git-add -u in the documentation
        git-clone.sh: properly configure remote even if remote's head is dangling
        git.el: Set process-environment instead of invoking env
        Documentation/git-stash: document options for git stash list
        send-email: squelch warning due to comparing undefined $_ to ""
        cvsexportcommit: be graceful when "cvs status" reorders the arguments
        Rename git-core rpm to just git and rename the meta-pacakge to git-all.
        ...
      
      Conflicts:
      
      	Documentation/git-reflog.txt
      	t/t1410-reflog.sh
      50f3ac29
    • B
      builtin-reflog.c: don't install new reflog on write failure · 4cd883d7
      Brandon Casey 提交于
      When expiring reflog entries, a new temporary log is written which contains
      only the entries to retain. After it is written, it is renamed to replace
      the existing reflog. Currently, we check that writing of the new log is
      successful and print a message on failure, but the original reflog is still
      replaced with the new reflog even on failure. This patch causes the
      original reflog to be retained if we fail when writing the new reflog.
      Signed-off-by: NBrandon Casey <casey@nrlssc.navy.mil>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      4cd883d7
    • J
      Merge branch 'maint' · 22c430ad
      Junio C Hamano 提交于
      * maint:
        hash: fix lookup_hash semantics
      22c430ad
    • J
      hash: fix lookup_hash semantics · 9ea0980a
      Jeff King 提交于
      We were returning the _address of_ the stored item (or NULL)
      instead of the item itself. While this sort of indirection
      is useful for insertion (since you can lookup and then
      modify), it is unnecessary for read-only lookup. Since the
      hash code splits these functions between the internal
      lookup_hash_entry function and the public lookup_hash
      function, it makes sense for the latter to provide what
      users of the library expect.
      
      The result of this was that the index caching returned bogus
      results on lookup. We unfortunately didn't catch this
      because we were returning a "struct cache_entry **" as a
      "void *", and accidentally assigning it to a "struct
      cache_entry *".
      
      As it happens, this actually _worked_ most of the time,
      because the entries were defined as:
      
        struct cache_entry {
      	  struct cache_entry *next;
      	  ...
        };
      
      meaning that interpreting a "struct cache_entry **" as a
      "struct cache_entry *" would yield an entry where all fields
      were totally bogus _except_ for the next pointer, which
      pointed to the actual cache entry. When walking the list, we
      would look at the bogus "name" field, which was unlikely to
      match our lookup, and then proceed to the "real" entry.
      
      The reading of bogus data was silently ignored most of the
      time, but could cause a segfault for some data (which seems
      to be more common on OS X).
      Signed-off-by: NJeff King <peff@peff.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      9ea0980a
    • J
      gitweb: Better chopping in commit search results · be8b9063
      Junio C Hamano 提交于
      When searching commit messages (commit search), if matched string is
      too long, the generated HTML was munged leading to an ill-formed XHTML
      document.
      
      Now gitweb chop leading, trailing and matched parts, HTML escapes
      those parts, then composes and marks up match info.  HTML output is
      never chopped.  Limiting matched info to 80 columns (with slop) is now
      done by dividing remaining characters after chopping match equally to
      leading and trailing part, not by chopping composed and HTML marked
      output.
      Noticed-by: NJean-Baptiste Quenot <jbq@caraldi.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      Signed-off-by: NJakub Narebski <jnareb@gmail.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      be8b9063
  2. 22 2月, 2008 4 次提交
  3. 21 2月, 2008 19 次提交
  4. 20 2月, 2008 10 次提交