Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Commits on Aug 3, 2015
  1. @gitster

    Merge branch 'js/fsck-opt'

    gitster authored
    Allow ignoring fsck errors on specific set of known-to-be-bad
    objects, and also tweaking warning level of various kinds of non
    critical breakages reported.
    
    * js/fsck-opt:
      fsck: support ignoring objects in `git fsck` via fsck.skiplist
      fsck: git receive-pack: support excluding objects from fsck'ing
      fsck: introduce `git fsck --connectivity-only`
      fsck: support demoting errors to warnings
      fsck: document the new receive.fsck.<msg-id> options
      fsck: allow upgrading fsck warnings to errors
      fsck: optionally ignore specific fsck issues completely
      fsck: disallow demoting grave fsck errors to warnings
      fsck: add a simple test for receive.fsck.<msg-id>
      fsck: make fsck_tag() warn-friendly
      fsck: handle multiple authors in commits specially
      fsck: make fsck_commit() warn-friendly
      fsck: make fsck_ident() warn-friendly
      fsck: report the ID of the error/warning
      fsck (receive-pack): allow demoting errors to warnings
      fsck: offer a function to demote fsck errors to warnings
      fsck: provide a function to parse fsck message IDs
      fsck: introduce identifiers for fsck messages
      fsck: introduce fsck options
Commits on Jul 13, 2015
  1. @gitster

    Merge branch 'jc/fsck-retire-require-eoh'

    gitster authored
    A fix to a minor regression to "git fsck" in v2.2 era that started
    complaining about a body-less tag object when it lacks a separator
    empty line after its header to separate it with a non-existent body.
    
    * jc/fsck-retire-require-eoh:
      fsck: it is OK for a tag and a commit to lack the body
Commits on Jun 28, 2015
  1. @gitster

    fsck: it is OK for a tag and a commit to lack the body

    gitster authored
    When fsck validates a commit or a tag, it scans each line in the
    header of the object using helper functions such as "start_with()",
    etc. that work on a NUL terminated buffer, but before a1e920a
    (index-pack: terminate object buffers with NUL, 2014-12-08), the
    validation functions were fed the object data in a piece of memory
    that is not necessarily terminated with a NUL.
    
    We added a helper function require_end_of_header() to be called at
    the beginning of these validation functions to insist that the
    object data contains an empty line before its end.  The theory is
    that the validating functions will notice and stop when it hits an
    empty line as a normal end of header (or a required header line that
    is missing) without scanning past the end of potentially not
    NUL-terminated buffer.
    
    But the theory forgot that in the older days, Git itself happily
    created objects with only the header lines without a body. This
    caused Git 2.2 and later to issue an unnecessary warning in some
    existing repositories.
    
    With a1e920a, we do not need to require an empty line (or the body)
    in these objects to safely parse and validate them.  Drop the
    offending "must have an empty line" check from this helper function,
    while keeping the other check to make sure that there is no NUL in
    the header part of the object, and adjust the name of the helper to
    what it does accordingly.
    
    Noticed-by: Wolfgang Denk <wd@denx.de>
    Helped-by: Jeff King <peff@peff.net>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Commits on Dec 22, 2014
  1. @gitster

    Merge branch 'js/fsck-tag-validation'

    gitster authored
    New tag object format validation added in 2.2 showed garbage
    after a tagname it reported in its error message.
    
    * js/fsck-tag-validation:
      index-pack: terminate object buffers with NUL
      fsck: properly bound "invalid tag name" error message
Commits on Dec 17, 2014
  1. @gitster

    Sync with v2.1.4

    gitster authored
    * maint-2.1:
      Git 2.1.4
      Git 2.0.5
      Git 1.9.5
      Git 1.8.5.6
      fsck: complain about NTFS ".git" aliases in trees
      read-cache: optionally disallow NTFS .git variants
      path: add is_ntfs_dotgit() helper
      fsck: complain about HFS+ ".git" aliases in trees
      read-cache: optionally disallow HFS+ .git variants
      utf8: add is_hfs_dotgit() helper
      fsck: notice .git case-insensitively
      t1450: refactor ".", "..", and ".git" fsck tests
      verify_dotfile(): reject .git case-insensitively
      read-tree: add tests for confusing paths like ".." and ".git"
      unpack-trees: propagate errors adding entries to the index
  2. @gitster

    Sync with v2.0.5

    gitster authored
    * maint-2.0:
      Git 2.0.5
      Git 1.9.5
      Git 1.8.5.6
      fsck: complain about NTFS ".git" aliases in trees
      read-cache: optionally disallow NTFS .git variants
      path: add is_ntfs_dotgit() helper
      fsck: complain about HFS+ ".git" aliases in trees
      read-cache: optionally disallow HFS+ .git variants
      utf8: add is_hfs_dotgit() helper
      fsck: notice .git case-insensitively
      t1450: refactor ".", "..", and ".git" fsck tests
      verify_dotfile(): reject .git case-insensitively
      read-tree: add tests for confusing paths like ".." and ".git"
      unpack-trees: propagate errors adding entries to the index
  3. @gitster

    Sync with v1.9.5

    gitster authored
    * maint-1.9:
      Git 1.9.5
      Git 1.8.5.6
      fsck: complain about NTFS ".git" aliases in trees
      read-cache: optionally disallow NTFS .git variants
      path: add is_ntfs_dotgit() helper
      fsck: complain about HFS+ ".git" aliases in trees
      read-cache: optionally disallow HFS+ .git variants
      utf8: add is_hfs_dotgit() helper
      fsck: notice .git case-insensitively
      t1450: refactor ".", "..", and ".git" fsck tests
      verify_dotfile(): reject .git case-insensitively
      read-tree: add tests for confusing paths like ".." and ".git"
      unpack-trees: propagate errors adding entries to the index
  4. @gitster

    Sync with v1.8.5.6

    gitster authored
    * maint-1.8.5:
      Git 1.8.5.6
      fsck: complain about NTFS ".git" aliases in trees
      read-cache: optionally disallow NTFS .git variants
      path: add is_ntfs_dotgit() helper
      fsck: complain about HFS+ ".git" aliases in trees
      read-cache: optionally disallow HFS+ .git variants
      utf8: add is_hfs_dotgit() helper
      fsck: notice .git case-insensitively
      t1450: refactor ".", "..", and ".git" fsck tests
      verify_dotfile(): reject .git case-insensitively
      read-tree: add tests for confusing paths like ".." and ".git"
      unpack-trees: propagate errors adding entries to the index
Commits on Jul 9, 2014
  1. @gitster

    Merge branch 'jk/skip-prefix'

    gitster authored
    * jk/skip-prefix:
      http-push: refactor parsing of remote object names
      imap-send: use skip_prefix instead of using magic numbers
      use skip_prefix to avoid repeated calculations
      git: avoid magic number with skip_prefix
      fetch-pack: refactor parsing in get_ack
      fast-import: refactor parsing of spaces
      stat_opt: check extra strlen call
      daemon: use skip_prefix to avoid magic numbers
      fast-import: use skip_prefix for parsing input
      use skip_prefix to avoid repeating strings
      use skip_prefix to avoid magic numbers
      transport-helper: avoid reading past end-of-string
      fast-import: fix read of uninitialized argv memory
      apply: use skip_prefix instead of raw addition
      refactor skip_prefix to return a boolean
      avoid using skip_prefix as a boolean
      daemon: mark some strings as const
      parse_diff_color_slot: drop ofs parameter
Commits on Mar 31, 2014
  1. @gitster

    Merge branch 'hs/simplify-bit-setting-in-fsck-tree'

    gitster authored
    * hs/simplify-bit-setting-in-fsck-tree:
      fsck: use bitwise-or assignment operator to set flag
Commits on Mar 28, 2014
  1. @gitster

    Merge branch 'ys/fsck-commit-parsing'

    gitster authored
    * ys/fsck-commit-parsing:
      fsck.c:fsck_commit(): use skip_prefix() to verify and skip constant
      fsck.c:fsck_ident(): ident points at a const string
Commits on Sep 10, 2012
  1. @gitster

    Merge branch 'jk/maint-null-in-trees' into maint-1.7.11

    gitster authored
    "git diff" had a confusion between taking data from a path in the
    working tree and taking data from an object that happens to have
    name 0{40} recorded in a tree.
    
    * jk/maint-null-in-trees:
      fsck: detect null sha1 in tree entries
      do not write null sha1s to on-disk index
      diff: do not use null sha1 as a sentinel value
Commits on May 30, 2011
  1. @gitster

    Merge branch 'jm/maint-misc-fix' into maint

    gitster authored
    * jm/maint-misc-fix:
      read_gitfile_gently: use ssize_t to hold read result
      remove tests of always-false condition
      rerere.c: diagnose a corrupt MERGE_RR when hitting EOF between TAB and '\0'
Commits on Nov 11, 2008
  1. @gitster

    Merge branch 'maint'

    gitster authored
    * maint:
      Fix non-literal format in printf-style calls
      git-submodule: Avoid printing a spurious message.
      git ls-remote: make usage string match manpage
      Makefile: help people who run 'make check' by mistake
Commits on Mar 5, 2008
  1. @gitster

    fsck.c: fix bogus "empty tree" check

    gitster authored
    ba002f3 (builtin-fsck: move common object checking code to fsck.c) did
    more than what it claimed to.  Most notably, it wrongly made an empty tree
    object an error by pretending to only move code from fsck_tree() in
    builtin-fsck.c to fsck_tree() in fsck.c, but in fact adding a bogus check
    to barf on an empty tree.
    
    An empty tree object is _unusual_.  Recent porcelains try reasonably hard
    not to let the user create a commit that contains such a tree.  Perhaps
    warning about them in git-fsck may have some merit.
    
    HOWEVER.
    
    Being unusual and being errorneous are two quite different things.  This
    is especially true now we seem to use the same fsck_$object() code in
    places other than git-fsck itself.  For example, receive-pack should not
    reject unusual objects, even if it would be a good idea to tighten it to
    reject incorrect ones.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Something went wrong with that request. Please try again.