1. 06 2月, 2014 2 次提交
    • J
      Merge branch 'tb/repack-fix-renames' (early part) · 2171c0c3
      Junio C Hamano 提交于
      Finishing touches to the "rewrite repack in C" series.
      
      * 'tb/repack-fix-renames' (early part):
        repack.c: rename and unlink pack file if it exists
      2171c0c3
    • T
      repack.c: rename and unlink pack file if it exists · 9d7fbfd2
      Torsten Bögershausen 提交于
      When a repo was fully repacked, and is repacked again, we may run
      into the situation that "new" packfiles have the same name as
      already existing ones (traditionally packfiles have been named after
      the list of names of objects in them, so repacking all the objects
      in a single pack would have produced a packfile with the same name).
      
      The logic is to rename the existing ones into filename like
      "old-XXX", create the new ones and then remove the "old-" ones.
      When something went wrong in the middle, this sequence is rolled
      back by renaming the "old-" files back.
      
      The renaming into "old-" did not work as intended, because
      file_exists() was done on "XXX", not "pack-XXX".  Also when rolling
      back the change, the code tried to rename "old-pack-XXX" but the
      saved ones are named "old-XXX", so this couldn't have worked.
      Signed-off-by: NTorsten Bögershausen <tboegi@web.de>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      9d7fbfd2
  2. 01 2月, 2014 4 次提交
  3. 29 1月, 2014 2 次提交
  4. 28 1月, 2014 32 次提交
    • J
      Git 1.9-rc1 · bd3e186d
      Junio C Hamano 提交于
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      bd3e186d
    • J
      Merge branch 'as/tree-walk-fix-aggressive-short-cut' · 8bba7206
      Junio C Hamano 提交于
      * as/tree-walk-fix-aggressive-short-cut:
        tree_entry_interesting: match against all pathspecs
      8bba7206
    • J
      Merge branch 'ta/doc-http-protocol-in-html' · 1ad5417a
      Junio C Hamano 提交于
      * ta/doc-http-protocol-in-html:
        http-protocol.txt: don't use uppercase for variable names in "The Negotiation Algorithm"
        Documentation: make it easier to maintain enumerated documents
        create HTML for http-protocol.txt
      1ad5417a
    • J
      Merge branch 'mh/doc-wo-names' · 78dc48e4
      Junio C Hamano 提交于
      * mh/doc-wo-names:
        doc: remote author/documentation sections from more pages
      78dc48e4
    • J
      Merge branch 'jk/revision-o-is-in-libgit-a' · 69b024dc
      Junio C Hamano 提交于
      * jk/revision-o-is-in-libgit-a:
        Makefile: remove redundant object in git-http{fetch,push}
      69b024dc
    • J
      Merge branch 'sb/repack-in-c' · 41106398
      Junio C Hamano 提交于
      "git repack --max-pack-size=8g" stopped being parsed correctly when
      the command was reimplemented in C.
      
      * sb/repack-in-c:
        repack: propagate pack-objects options as strings
        repack: make parsed string options const-correct
        repack: fix typo in max-pack-size option
      41106398
    • J
      Merge branch 'jk/test-fixes' · cdc40bdb
      Junio C Hamano 提交于
      * jk/test-fixes:
        t7700: do not use "touch" unnecessarily
        t7501: fix "empty commit" test with NO_PERL
      cdc40bdb
    • J
      Merge branch 'nd/negative-pathspec' · 017f804e
      Junio C Hamano 提交于
      * nd/negative-pathspec:
        tree-walk.c: ignore trailing slash on submodule in tree_entry_interesting()
      017f804e
    • J
      Merge branch 'pw/git-p4' · 523f0a25
      Junio C Hamano 提交于
      Various "git p4" updates.
      
      * pw/git-p4:
        git p4 doc: use two-line style for options with multiple spellings
        git p4 test: examine behavior with locked (+l) files
        git p4: fix an error message when "p4 where" fails
        git p4: handle files with wildcards when doing RCS scrubbing
        git p4 test: do not pollute /tmp
        git p4 test: run as user "author"
        git p4 test: is_cli_file_writeable succeeds
        git p4 test: explicitly check p4 wildcard delete
        git p4: work around p4 bug that causes empty symlinks
        git p4 test: ensure p4 symlink parsing works
        git p4 test: wildcards are supported
      523f0a25
    • J
      Merge branch 'ss/safe-create-leading-dir-with-slash' · 33d4669a
      Junio C Hamano 提交于
      "git clone $origin foo\bar\baz" on Windows failed to create the
      leading directories (i.e. a moral-equivalent of "mkdir -p").
      
      * ss/safe-create-leading-dir-with-slash:
        safe_create_leading_directories(): on Windows, \ can separate path components
      33d4669a
    • J
      Merge branch 'mh/safe-create-leading-directories' · d0956cfa
      Junio C Hamano 提交于
      Code clean-up and protection against concurrent write access to the
      ref namespace.
      
      * mh/safe-create-leading-directories:
        rename_tmp_log(): on SCLD_VANISHED, retry
        rename_tmp_log(): limit the number of remote_empty_directories() attempts
        rename_tmp_log(): handle a possible mkdir/rmdir race
        rename_ref(): extract function rename_tmp_log()
        remove_dir_recurse(): handle disappearing files and directories
        remove_dir_recurse(): tighten condition for removing unreadable dir
        lock_ref_sha1_basic(): if locking fails with ENOENT, retry
        lock_ref_sha1_basic(): on SCLD_VANISHED, retry
        safe_create_leading_directories(): add new error value SCLD_VANISHED
        cmd_init_db(): when creating directories, handle errors conservatively
        safe_create_leading_directories(): introduce enum for return values
        safe_create_leading_directories(): always restore slash at end of loop
        safe_create_leading_directories(): split on first of multiple slashes
        safe_create_leading_directories(): rename local variable
        safe_create_leading_directories(): add explicit "slash" pointer
        safe_create_leading_directories(): reduce scope of local variable
        safe_create_leading_directories(): fix format of "if" chaining
      d0956cfa
    • J
      Merge branch 'tr/nth-previous-is-a-commit' · c380cf85
      Junio C Hamano 提交于
      * tr/nth-previous-is-a-commit:
        Documentation: @{-N} can refer to a commit
      c380cf85
    • J
      Merge branch 'tr/gitk-doc-range-trace' · bf393990
      Junio C Hamano 提交于
      * tr/gitk-doc-range-trace:
        Documentation/gitk: document -L option
      bf393990
    • J
      Merge branch 'jk/mark-edges-uninteresting' · a6bec001
      Junio C Hamano 提交于
      Fix performance regression in v1.8.4.x and later.
      
      * jk/mark-edges-uninteresting:
        list-objects: only look at cmdline trees with edge_hint
        t/perf: time rev-list with UNINTERESTING commits
      a6bec001
    • J
      Merge branch 'jk/diff-filespec-cleanup' · e049109e
      Junio C Hamano 提交于
      * jk/diff-filespec-cleanup:
        diff_filespec: use only 2 bits for is_binary flag
        diff_filespec: reorder is_binary field
        diff_filespec: drop xfrm_flags field
        diff_filespec: drop funcname_pattern_ident field
        diff_filespec: reorder dirty_submodule macro definitions
      e049109e
    • J
      Merge branch 'ef/mingw-write' · 7b4e2b7e
      Junio C Hamano 提交于
      * ef/mingw-write:
        mingw: remove mingw_write
        prefer xwrite instead of write
      7b4e2b7e
    • J
      Merge branch 'rk/send-email-ssl-cert' · de20e447
      Junio C Hamano 提交于
      The "if /etc/ssl/certs/ directory exists, explicitly telling the
      library to use it as SSL_ca_path" blind-defaulting in "git
      send-email" broke platforms where /etc/ssl/certs/ directory exists,
      but it cannot used as SSL_ca_path (e.g. Fedora rawhide).  Fix it by
      not specifying any SSL_ca_path/SSL_ca_file but still asking for peer
      verification in such a case.
      
      * rk/send-email-ssl-cert:
        send-email: /etc/ssl/certs/ directory may not be usable as ca_path
      de20e447
    • J
      Merge branch 'jn/ignore-doc' · a0f4525a
      Junio C Hamano 提交于
      Explicitly list $HOME/.config/git/ignore as one of the places you
      can use to keep ignore patterns that depend on your personal choice
      of tools, e.g. *~ for Emacs users.
      
      * jn/ignore-doc:
        gitignore doc: add global gitignore to synopsis
      a0f4525a
    • J
      Merge branch 'jk/interpret-branch-name-fix' · 4e9f9320
      Junio C Hamano 提交于
      Fix a handful of bugs around interpreting $branch@{upstream}
      notation and its lookalike, when $branch part has interesting
      characters, e.g. "@", and ":".
      
      * jk/interpret-branch-name-fix:
        interpret_branch_name: find all possible @-marks
        interpret_branch_name: avoid @{upstream} past colon
        interpret_branch_name: always respect "namelen" parameter
        interpret_branch_name: rename "cp" variable to "at"
        interpret_branch_name: factor out upstream handling
      4e9f9320
    • J
      Merge branch 'jk/allow-fetch-onelevel-refname' · f583ace1
      Junio C Hamano 提交于
      "git clone" would fail to clone from a repository that has a ref
      directly under "refs/", e.g. "refs/stash", because different
      validation paths do different things on such a refname.  Loosen the
      client side's validation to allow such a ref.
      
      * jk/allow-fetch-onelevel-refname:
        fetch-pack: do not filter out one-level refs
      f583ace1
    • J
      Merge branch 'jc/revision-range-unpeel' · 63763273
      Junio C Hamano 提交于
      "git log --left-right A...B" lost the "leftness" of commits
      reachable from A when A is a tag as a side effect of a recent
      bugfix.  This is a regression in 1.8.4.x series.
      
      * jc/revision-range-unpeel:
        revision: propagate flag bits from tags to pointees
        revision: mark contents of an uninteresting tree uninteresting
      63763273
    • J
      Merge branch 'mh/retire-ref-fetch-rules' · 9bb52870
      Junio C Hamano 提交于
      Code simplification.
      
      * mh/retire-ref-fetch-rules:
        refname_match(): always use the rules in ref_rev_parse_rules
      9bb52870
    • J
      Merge branch 'mh/attr-macro-doc' · ac355298
      Junio C Hamano 提交于
      * mh/attr-macro-doc:
        gitattributes: document more clearly where macros are allowed
      ac355298
    • J
      Merge branch 'jc/maint-pull-docfix' · 6d73dba8
      Junio C Hamano 提交于
      * jc/maint-pull-docfix:
        Documentation: "git pull" does not have the "-m" option
        Documentation: exclude irrelevant options from "git pull"
      6d73dba8
    • J
      Merge branch 'jk/complete-merge-base' · ba98a2f6
      Junio C Hamano 提交于
      * jk/complete-merge-base:
        completion: handle --[no-]fork-point options to git-rebase
        completion: complete merge-base options
      ba98a2f6
    • J
      Merge branch 'ab/subtree-doc' · c9e8c1aa
      Junio C Hamano 提交于
      * ab/subtree-doc:
        subtree: fix argument validation in add/pull/push
      c9e8c1aa
    • T
    • J
      Documentation: make it easier to maintain enumerated documents · 43cc5ce9
      Junio C Hamano 提交于
      Instead of starting an enumeration of documents with a DOC = doc1
      followed by DOC += doc2, DOC += doc3, ..., empty it with "DOC =" at
      the beginning and consistently add them with "DOC += ...".
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      43cc5ce9
    • T
      create HTML for http-protocol.txt · 586aa786
      Thomas Ackermann 提交于
      ./Documentation/technical/http-protocol.txt was missing from TECH_DOCS in Makefile.
      Add it and also improve HTML formatting while still retaining good readability of the ASCII text:
      - Use monospace font instead of italicized or roman font for machine output and source text
      - Use roman font for things which should be body text
      - Use double quotes consistently for "want" and "have" commands
      - Use uppercase "C" / "S" consistently for "client" / "server";
        also use "C:" / "S:" instead of "(C)" / "(S)" for consistency and
        to avoid having formatted "(C)" as copyright symbol in HTML
      - Use only spaces and not a combination of tabs and spaces for whitespace
      Signed-off-by: NThomas Ackermann <th.acker@arcor.de>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      586aa786
    • A
      tree_entry_interesting: match against all pathspecs · e4ddb057
      Andy Spencer 提交于
      The current basedir compare aborts early in order to avoid futile
      recursive searches. However, a match may still be found by another
      pathspec. This can cause an error while checking out files from a branch
      when using multiple pathspecs:
      
      $ git checkout master -- 'a/*.txt' 'b/*.txt'
      error: pathspec 'a/*.txt' did not match any file(s) known to git.
      Signed-off-by: NAndy Spencer <andy753421@gmail.com>
      Acked-by: NNguyễn Thái Ngọc Duy <pclouds@gmail.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      e4ddb057
    • J
      Makefile: remove redundant object in git-http{fetch,push} · fd78cedc
      John Keeping 提交于
      revision.o is included in libgit.a which is in $(GITLIBS), so we don't
      need to include is separately.  This fixes compilation with
      "-fwhole-program" which otherwise fails with messages like this:
      
        libgit.a(revision.o): In function `mark_tree_uninteresting':
        /home/john/src/git/revision.c:108: multiple definition of `mark_tree_uninteresting'
        /tmp/ccKQRkZV.ltrans2.ltrans.o:/home/john/src/git/revision.c:108: first defined here
      Signed-off-by: NJohn Keeping <john@keeping.me.uk>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      fd78cedc
    • M
      doc: remote author/documentation sections from more pages · 81690074
      Michael Haggerty 提交于
      We decided at 48bb914e (doc: drop author/documentation sections from
      most pages, 2011-03-11) to remove "author" and "documentation"
      sections from our documentation.  Remove a few stragglers.
      Signed-off-by: NMichael Haggerty <mhagger@alum.mit.edu>
      Reviewed-by: NJonathan Nieder <jrnieder@gmail.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      81690074