1. 23 5月, 2015 14 次提交
    • J
      Merge branch 'mh/ref-directory-file' · faa4b2ec
      Junio C Hamano 提交于
      The ref API did not handle cases where 'refs/heads/xyzzy/frotz' is
      removed at the same time as 'refs/heads/xyzzy' is added (or vice
      versa) very well.
      
      * mh/ref-directory-file:
        reflog_expire(): integrate lock_ref_sha1_basic() errors into ours
        ref_transaction_commit(): delete extra "the" from error message
        ref_transaction_commit(): provide better error messages
        rename_ref(): integrate lock_ref_sha1_basic() errors into ours
        lock_ref_sha1_basic(): improve diagnostics for ref D/F conflicts
        lock_ref_sha1_basic(): report errors via a "struct strbuf *err"
        verify_refname_available(): report errors via a "struct strbuf *err"
        verify_refname_available(): rename function
        refs: check for D/F conflicts among refs created in a transaction
        ref_transaction_commit(): use a string_list for detecting duplicates
        is_refname_available(): use dirname in first loop
        struct nonmatching_ref_data: store a refname instead of a ref_entry
        report_refname_conflict(): inline function
        entry_matches(): inline function
        is_refname_available(): convert local variable "dirname" to strbuf
        is_refname_available(): avoid shadowing "dir" variable
        is_refname_available(): revamp the comments
        t1404: new tests of ref D/F conflicts within transactions
      faa4b2ec
    • J
      Merge branch 'mh/write-refs-sooner-2.4' · 91c90876
      Junio C Hamano 提交于
      Multi-ref transaction support we merged a few releases ago
      unnecessarily kept many file descriptors open, risking to fail with
      resource exhaustion.  This is for 2.4.x track.
      
      * mh/write-refs-sooner-2.4:
        ref_transaction_commit(): fix atomicity and avoid fd exhaustion
        ref_transaction_commit(): remove the local flags variable
        ref_transaction_commit(): inline call to write_ref_sha1()
        rename_ref(): inline calls to write_ref_sha1() from this function
        commit_ref_update(): new function, extracted from write_ref_sha1()
        write_ref_to_lockfile(): new function, extracted from write_ref_sha1()
        t7004: rename ULIMIT test prerequisite to ULIMIT_STACK_SIZE
        update-ref: test handling large transactions properly
        ref_transaction_commit(): fix atomicity and avoid fd exhaustion
        ref_transaction_commit(): remove the local flags variable
        ref_transaction_commit(): inline call to write_ref_sha1()
        rename_ref(): inline calls to write_ref_sha1() from this function
        commit_ref_update(): new function, extracted from write_ref_sha1()
        write_ref_to_lockfile(): new function, extracted from write_ref_sha1()
        t7004: rename ULIMIT test prerequisite to ULIMIT_STACK_SIZE
        update-ref: test handling large transactions properly
      91c90876
    • J
      Merge branch 'mg/log-decorate-HEAD' · fd707807
      Junio C Hamano 提交于
      The "log --decorate" enhancement in Git 2.4 that shows the commit
      at the tip of the current branch e.g. "HEAD -> master", did not
      work with --decorate=full.
      
      * mg/log-decorate-HEAD:
        log: do not shorten decoration names too early
        log: decorate HEAD with branch name under --decorate=full, too
      fd707807
    • J
      Merge branch 'jk/asciidoc-markup-fix' · d1caa589
      Junio C Hamano 提交于
      Various documentation mark-up fixes to make the output more
      consistent in general and also make AsciiDoctor (an alternative
      formatter) happier.
      
      * jk/asciidoc-markup-fix:
        doc: convert AsciiDoc {?foo} to ifdef::foo[]
        doc: put example URLs and emails inside literal backticks
        doc: drop backslash quoting of some curly braces
        doc: convert \--option to --option
        doc/add: reformat `--edit` option
        doc: fix length of underlined section-title
        doc: fix hanging "+"-continuation
        doc: fix unquoted use of "{type}"
        doc: fix misrendering due to `single quote'
      d1caa589
    • J
      Merge branch 'jk/stripspace-asciidoctor-fix' · c24e0e77
      Junio C Hamano 提交于
      A literal block in the tutorial had lines with unequal lengths to
      delimit it from the rest of the document, which choke GitHub's
      AsciiDoc renderer.
      
      * jk/stripspace-asciidoctor-fix:
        doc: fix unmatched code fences in git-stripspace
      c24e0e77
    • J
      Merge branch 'ja/tutorial-asciidoctor-fix' · 236794f1
      Junio C Hamano 提交于
      A literal block in the tutorial had lines with unequal lengths to
      delimit it from the rest of the document, which choke GitHub's
      AsciiDoc renderer.
      
      * ja/tutorial-asciidoctor-fix:
        doc: fix unmatched code fences
      236794f1
    • J
      Merge branch 'sg/help-subcommands' · 7928eae1
      Junio C Hamano 提交于
      A preparatory clean-up step.
      
      * sg/help-subcommands:
        command-list.txt: fix whitespace inconsistency
      7928eae1
    • J
      Merge branch 'ps/bundle-verify-arg' · 44fa7967
      Junio C Hamano 提交于
      "git bundle verify" did not diagnose extra parameters on the
      command line.
      
      * ps/bundle-verify-arg:
        bundle: verify arguments more strictly
      44fa7967
    • J
      Merge branch 'ls/http-ssl-cipher-list' · 39fa7917
      Junio C Hamano 提交于
      Introduce http.<url>.SSLCipherList configuration variable to tweak
      the list of cipher suite to be used with libcURL when talking with
      https:// sites.
      
      * ls/http-ssl-cipher-list:
        http: add support for specifying an SSL cipher list
      39fa7917
    • J
      Merge branch 'dl/subtree-avoid-tricky-echo' · b54301bd
      Junio C Hamano 提交于
      "git subtree" script (in contrib/) used "echo -n" to produce
      progress messages in a non-portable way.
      
      * dl/subtree-avoid-tricky-echo:
        contrib/subtree: portability fix for string printing
      b54301bd
    • J
      Merge branch 'jk/skip-http-tests-under-no-curl' · 8087a620
      Junio C Hamano 提交于
      Test clean-up.
      
      * jk/skip-http-tests-under-no-curl:
        tests: skip dav http-push tests under NO_EXPAT=NoThanks
        t/lib-httpd.sh: skip tests if NO_CURL is defined
      8087a620
    • J
      Merge branch 'dl/subtree-push-no-squash' · 6263f58f
      Junio C Hamano 提交于
      "git subtree" script (in contrib/) does not have --squash option
      when pushing, but the documentation and help text pretended as if
      it did.
      
      * dl/subtree-push-no-squash:
        contrib/subtree: there's no push --squash
      6263f58f
    • J
      Merge branch 'sg/completion-omit-credential-helpers' · 823ac2b6
      Junio C Hamano 提交于
      The Git subcommand completion (in contrib/) listed credential
      helpers among candidates, which is not something the end user would
      invoke interatively.
      
      * sg/completion-omit-credential-helpers:
        completion: remove credential helpers from porcelain commands
      823ac2b6
    • J
      Merge branch 'dl/branch-error-message' · 086d0d4a
      Junio C Hamano 提交于
      Error messages from "git branch" called remote-tracking branches as
      "remote branches".
      
      * dl/branch-error-message:
        branch: do not call a "remote-tracking branch" a "remote branch"
      086d0d4a
  2. 20 5月, 2015 14 次提交
    • J
      Third batch for 2.5 cycle · 6c1249c5
      Junio C Hamano 提交于
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      6c1249c5
    • J
      Merge branch 'sb/ref-lock-lose-lock-fd' · 4295abc0
      Junio C Hamano 提交于
      The refs API uses ref_lock struct which had its own "int fd", even
      though the same file descriptor was in the lock struct it contains.
      Clean-up the code to lose this redundant field.
      
      * sb/ref-lock-lose-lock-fd:
        refs.c: remove lock_fd from struct ref_lock
      4295abc0
    • J
      Merge branch 'kn/cat-file-literally' · 3b7d373a
      Junio C Hamano 提交于
      Add the "--allow-unknown-type" option to "cat-file" to allow
      inspecting loose objects of an experimental or a broken type.
      
      * kn/cat-file-literally:
        t1006: add tests for git cat-file --allow-unknown-type
        cat-file: teach cat-file a '--allow-unknown-type' option
        cat-file: make the options mutually exclusive
        sha1_file: support reading from a loose object of unknown type
      3b7d373a
    • J
      Merge branch 'nd/dwim-wildcards-as-pathspecs' · 949d1679
      Junio C Hamano 提交于
      A heuristic to help the "git <cmd> <revs> <pathspec>" command line
      convention to catch mistyped paths is to make sure all the non-rev
      parameters in the later part of the command line are names of the
      files in the working tree, but that means "git grep $str -- \*.c"
      must always be disambiguated with "--", because nobody sane will
      create a file whose name literally is asterisk-dot-see.  Loosen the
      heuristic to declare that with a wildcard string the user likely
      meant to give us a pathspec.
      
      * nd/dwim-wildcards-as-pathspecs:
        pathspec: avoid the need of "--" when wildcard is used
      949d1679
    • J
      Merge branch 'jc/merge' · bcd1ecd0
      Junio C Hamano 提交于
      "git merge FETCH_HEAD" learned that the previous "git fetch" could
      be to create an Octopus merge, i.e. recording multiple branches
      that are not marked as "not-for-merge"; this allows us to lose an
      old style invocation "git merge <msg> HEAD $commits..." in the
      implementation of "git pull" script; the old style syntax can now
      be deprecated.
      
      * jc/merge:
        merge: deprecate 'git merge <message> HEAD <commit>' syntax
        merge: handle FETCH_HEAD internally
        merge: decide if we auto-generate the message early in collect_parents()
        merge: make collect_parents() auto-generate the merge message
        merge: extract prepare_merge_message() logic out
        merge: narrow scope of merge_names
        merge: split reduce_parents() out of collect_parents()
        merge: clarify collect_parents() logic
        merge: small leakfix and code simplification
        merge: do not check argc to determine number of remote heads
        merge: clarify "pulling into void" special case
        t5520: test pulling an octopus into an unborn branch
        t5520: style fixes
        merge: simplify code flow
        merge: test the top-level merge driver
      bcd1ecd0
    • J
      Merge branch 'ph/rebase-i-redo' · eae02166
      Junio C Hamano 提交于
      "git rebase -i" moved the "current" command from "todo" to "done" a
      bit too prematurely, losing a step when a "pick" did not even start.
      
      * ph/rebase-i-redo:
        rebase -i: redo tasks that die during cherry-pick
      eae02166
    • J
      Merge branch 'jc/test-prereq-validate' · 072f391c
      Junio C Hamano 提交于
      Help us to find broken test script that splits the body part of the
      test by mistaken use of wrong kind of quotes.
      
      * jc/test-prereq-validate:
        test: validate prerequistes syntax
      072f391c
    • J
      Merge branch 'bc/connect-plink' · 7a4f8913
      Junio C Hamano 提交于
      The connection initiation code for "ssh" transport tried to absorb
      differences between the stock "ssh" and Putty-supplied "plink" and
      its derivatives, but the logic to tell that we are using "plink"
      variants were too loose and falsely triggered when "plink" appeared
      anywhere in the path (e.g. "/home/me/bin/uplink/ssh").
      
      * bc/connect-plink:
        connect: improve check for plink to reduce false positives
        t5601: fix quotation error leading to skipped tests
        connect: simplify SSH connection code path
      7a4f8913
    • J
      Merge branch 'jk/test-chain-lint' · da3d507c
      Junio C Hamano 提交于
      Developer support to automatically detect broken &&-chain in the
      test scripts is now turned on by default.
      
      * jk/test-chain-lint:
        test-lib: turn on GIT_TEST_CHAIN_LINT by default
        t7502-commit.sh: fix a broken and-chain
      da3d507c
    • J
      Merge branch 'fg/document-commit-message-stripping' · 3e199dec
      Junio C Hamano 提交于
      * fg/document-commit-message-stripping:
        Documentation: clarify how "git commit" cleans up the edited log message
      3e199dec
    • J
      Merge branch 'jk/stash-require-clean-index' · 05c39674
      Junio C Hamano 提交于
      "git stash pop/apply" forgot to make sure that not just the working
      tree is clean but also the index is clean. The latter is important
      as a stash application can conflict and the index will be used for
      conflict resolution.
      
      * jk/stash-require-clean-index:
        stash: require a clean index to apply
        t3903: avoid applying onto dirty index
        t3903: stop hard-coding commit sha1s
      05c39674
    • J
      Merge branch 'jk/git-no-more-argv0-path-munging' · 1645dbef
      Junio C Hamano 提交于
      We have prepended $GIT_EXEC_PATH and the path "git" is installed in
      (typically "/usr/bin") to $PATH when invoking subprograms and hooks
      for almost eternity, but the original use case the latter tried to
      support was semi-bogus (i.e. install git to /opt/foo/git and run it
      without having /opt/foo on $PATH), and more importantly it has
      become less and less relevant as Git grew more mainstream (i.e. the
      users would _want_ to have it on their $PATH).  Stop prepending the
      path in which "git" is installed to users' $PATH, as that would
      interfere the command search order people depend on (e.g. they may
      not like versions of programs that are unrelated to Git in /usr/bin
      and want to override them by having different ones in /usr/local/bin
      and have the latter directory earlier in their $PATH).
      
      * jk/git-no-more-argv0-path-munging:
        stop putting argv[0] dirname at front of PATH
      1645dbef
    • J
      Merge branch 'jc/gitignore-precedence' · 20cf8b54
      Junio C Hamano 提交于
      core.excludesfile (defaulting to $XDG_HOME/git/ignore) is supposed
      to be overridden by repository-specific .git/info/exclude file, but
      the order was swapped from the beginning. This belatedly fixes it.
      
      * jc/gitignore-precedence:
        ignore: info/exclude should trump core.excludesfile
      20cf8b54
    • J
      Merge branch 'nd/diff-i-t-a' · d0c69226
      Junio C Hamano 提交于
      After "git add -N", the path appeared in output of "git diff HEAD"
      and "git diff --cached HEAD", leading "git status" to classify it
      as "Changes to be committed".  Such a path, however, is not yet to
      be scheduled to be committed.  "git diff" showed the change to the
      path as modification, not as a "new file", in the header of its
      output.
      
      Treat such paths as "yet to be added to the index but Git already
      know about them"; "git diff HEAD" and "git diff --cached HEAD"
      should not talk about them, and "git diff" should show them as new
      files yet to be added to the index.
      
      * nd/diff-i-t-a:
        diff-lib.c: adjust position of i-t-a entries in diff
      d0c69226
  3. 15 5月, 2015 1 次提交
    • J
      doc: convert AsciiDoc {?foo} to ifdef::foo[] · d0258b93
      Jeff King 提交于
      The former seems to just be syntactic sugar for the latter.
      And as it's sugar that AsciiDoctor doesn't understand, it
      would be nice to avoid it. Since there are only two spots,
      and the resulting source is not significantly harder to
      read, it's worth doing.
      
      Note that this does slightly affect the generated HTML (it
      has an extra newline), but the rendered result for both HTML
      and docbook should be the same (since the newline is not
      syntactically significant there).
      Signed-off-by: NJeff King <peff@peff.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      d0258b93
  4. 14 5月, 2015 11 次提交