1. 27 10月, 2020 1 次提交
    • J
      Merge branch 'js/avoid-split-sideband-message' into next · 2762f353
      Junio C Hamano 提交于
      The side-band status report can be sent at the same time as the
      primary payload multiplexed, but the demultiplexer on the receiving
      end incorrectly split a single status report into two, which has
      been corrected.
      
      * js/avoid-split-sideband-message:
        sideband: report unhandled incomplete sideband messages as bugs
        sideband: avoid reporting incomplete sideband messages
      2762f353
  2. 24 10月, 2020 8 次提交
    • J
      Merge branch 'jk/symlinked-dotgitx-files' into next · e80a0c04
      Junio C Hamano 提交于
      "git fsck" and the corresponding check done during the transport
      learned to ensure that in-tree files like `.gitignore` and
      `.gitattributes` are not symbolic links.
      
      * jk/symlinked-dotgitx-files:
        docs: document symlink restrictions for .git* files
      e80a0c04
    • J
      Merge branch 'js/ci-ghwf-dedup-tests' into next · 44f61958
      Junio C Hamano 提交于
      GitHub Actions automated test improvement to skip tests on a tree
      identical to what has already been tested.
      
      * js/ci-ghwf-dedup-tests:
        ci: make the "skip-if-redundant" check more defensive
        ci: work around old records of GitHub runs
      44f61958
    • J
      Merge branch 'dl/resurrect-update-for-sha256' into next · e01bafbe
      Junio C Hamano 提交于
      "git resurrect" script (in contrib/) learned that the object names
      may be longer than 40-hex depending on the hash function in use.
      
      * dl/resurrect-update-for-sha256:
        contrib/git-resurrect.sh: use hash-agnostic OID pattern
        contrib/git-resurrect.sh: indent with tabs
      e01bafbe
    • J
      Merge branch 'cm/t7xxx-cleanup' into next · 543937ad
      Junio C Hamano 提交于
      Micro clean-up.
      
      * cm/t7xxx-cleanup:
        t7102: prepare expected output inside test_expect_* block
        t7201: put each command on a separate line
        t7201: use 'git -C' to avoid subshell
        t7102,t7201: remove whitespace after redirect operator
        t7102,t7201: remove unnecessary blank spaces in test body
        t7101,t7102,t7201: modernize test formatting
      543937ad
    • J
      Merge branch 'ct/t0000-use-test-path-is-file' into next · 3a68fc6d
      Junio C Hamano 提交于
      Micro clean-up of a test script.
      
      * ct/t0000-use-test-path-is-file:
        t0000: use test_path_is_file instead of "test -f"
      3a68fc6d
    • J
      Merge branch 'en/t7518-unflake' into next · 939d6850
      Junio C Hamano 提交于
      Work around flakiness in a test.
      
      * en/t7518-unflake:
        t7518: fix flaky grep invocation
      939d6850
    • J
      Merge branch 'cc/doc-filter-branch-typofix' into next · fc3c91db
      Junio C Hamano 提交于
      Docfix.
      
      * cc/doc-filter-branch-typofix:
        filter-branch doc: fix filter-repo typo
      fc3c91db
    • J
      Merge branch 'jk/committer-date-is-author-date-fix' into next · ee490e95
      Junio C Hamano 提交于
      In 2.29, "--committer-date-is-author-date" option of "rebase" and
      "am" subcommands lost the e-mail address by mistake, which has been
      corrected.
      
      * jk/committer-date-is-author-date-fix:
        rebase: fix broken email with --committer-date-is-author-date
        am: fix broken email with --committer-date-is-author-date
        t3436: check --committer-date-is-author-date result more carefully
      ee490e95
  3. 23 10月, 2020 15 次提交
  4. 22 10月, 2020 1 次提交
  5. 21 10月, 2020 5 次提交
    • J
      sideband: report unhandled incomplete sideband messages as bugs · 8e86cf65
      Johannes Schindelin 提交于
      It was pretty tricky to verify that incomplete sideband messages are
      handled correctly by the `recv_sideband()`/`demultiplex_sideband()`
      code: they have to be flushed out at the end of the loop in
      `recv_sideband()`, but the actual flushing is done by the
      `demultiplex_sideband()` function (which therefore has to know somehow
      that the loop will be done after it returns).
      
      To catch future bugs where incomplete sideband messages might not be
      shown by mistake, let's catch that condition and report a bug.
      Signed-off-by: NJohannes Schindelin <johannes.schindelin@gmx.de>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      8e86cf65
    • J
      sideband: avoid reporting incomplete sideband messages · 17e7dbbc
      Johannes Schindelin 提交于
      In 2b695ecd (t5500: count objects through stderr, not trace,
      2020-05-06) we tried to ensure that the "Total 3" message could be
      grepped in Git's output, even if it sometimes got chopped up into
      multiple lines in the trace machinery.
      
      However, the first instance where this mattered now goes through the
      sideband machinery, where it is _still_ possible for messages to get
      chopped up: it *is* possible for the standard error stream to be sent
      byte-for-byte and hence it can be easily interrupted. Meaning: it is
      possible for the single line that we're looking for to be chopped up
      into multiple sideband packets, with a primary packet being delivered
      between them.
      
      This seems to happen occasionally in the `vs-test` part of our CI
      builds, i.e. with binaries built using Visual C, but not when building
      with GCC or clang; The symptom is that t5500.43 fails to find a line
      matching `remote: Total 3` in the `log` file, which ends in something
      along these lines:
      
      	remote: Tota
      	remote: l 3 (delta 0), reused 0 (delta 0), pack-reused 0
      
      This should not happen, though: we have code in `demultiplex_sideband()`
      _specifically_ to stitch back together lines that were delivered in
      separate sideband packets.
      
      However, this stitching was broken in a subtle way in fbd76cd4
      (sideband: reverse its dependency on pkt-line, 2019-01-16): before that
      change, incomplete sideband lines would not be flushed upon receiving a
      primary packet, but after that patch, they would be.
      
      The subtleness of this bug comes from the fact that it is easy to get
      confused by the ambiguous meaning of the `break` keyword: after writing
      the primary packet contents, the `break;` in the original version of
      `recv_sideband()` does _not_ break out of the `while` loop, but instead
      only ends the `switch` case:
      
      	while (!retval) {
      		[...]
      		switch (band) {
      			[...]
      		case 1:
      /* Write the contents of the primary packet */
      			write_or_die(out, buf + 1, len);
      /* Here, we do *not* break out of the loop, `retval` is unchanged */
      			break;
      		[...]
      	}
      
      	if (outbuf.len) {
      /* Write any remaining sideband messages lacking a trailing LF */
      		strbuf_addch(&outbuf, '\n');
      		xwrite(2, outbuf.buf, outbuf.len);
      	}
      
      In contrast, after fbd76cd4 (sideband: reverse its dependency on
      pkt-line, 2019-01-16), the body of the `while` loop was extracted into
      `demultiplex_sideband()`, crucially _including_ the logic to write
      incomplete sideband messages:
      
      	switch (band) {
      	[...]
      	case 1:
      		*sideband_type = SIDEBAND_PRIMARY;
      /* This does not break out of the loop: the loop is in the caller */
      		break;
      	[...]
      	}
      
      cleanup:
      	[...]
      /* This logic is now no longer _outside_ the loop but _inside_ */
      	if (scratch->len) {
      		strbuf_addch(scratch, '\n');
      		xwrite(2, scratch->buf, scratch->len);
      	}
      
      The correct way to fix this is to return from `demultiplex_sideband()`
      early. The caller will then write out the contents of the primary packet
      and continue looping. The `scratch` buffer for incomplete sideband
      messages is owned by that caller, and will continue to accumulate the
      remainder(s) of those messages. The loop will only end once
      `demultiplex_sideband()` returned non-zero _and_ did not indicate a
      primary packet, which is the case only when we hit the `cleanup:` path,
      in which we take care of flushing any unfinished sideband messages and
      release the `scratch` buffer.
      
      To ensure that this does not get broken again, we introduce a pair of
      subcommands of the `pkt-line` test helper that specifically chop up the
      sideband message and squeeze a primary packet into the middle.
      
      Final note: The other test case touched by 2b695ecd (t5500: count
      objects through stderr, not trace, 2020-05-06) is not affected by this
      issue because the sideband machinery is not involved there.
      Signed-off-by: NJohannes Schindelin <johannes.schindelin@gmx.de>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      17e7dbbc
    • C
      t7102,t7201: remove unnecessary blank spaces in test body · 78b8d934
      Charvi Mendiratta 提交于
      t7102 and t7201 still follow the old style of having blank
      lines around test body, which is not consistence with our
      current practice.
      
      Let's remove those unnecessary blank lines.
      Signed-off-by: NCharvi Mendiratta <charvi077@gmail.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      78b8d934
    • C
      t7101,t7102,t7201: modernize test formatting · e166fe36
      Charvi Mendiratta 提交于
      Some tests in these scripts are formatted using a very old style:
              test_expect_success \
                  'title' \
                  'body line 1 &&
                   body line 2'
      
      Updating the formatting to the modern style:
              test_expect_success 'title' '
                  body line 1 &&
                  body line 2
              '
      Signed-off-by: NCharvi Mendiratta <charvi077@gmail.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      e166fe36
    • C
      filter-branch doc: fix filter-repo typo · 3e0a5dc9
      Christian Couder 提交于
      The name of the tool is 'git-filter-repo' not
      'git-repo-filter'.
      Signed-off-by: NChristian Couder <chriscool@tuxfamily.org>
      Reviewed-by: NElijah Newren <newren@gmail.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      3e0a5dc9
  6. 20 10月, 2020 2 次提交
  7. 19 10月, 2020 4 次提交
    • J
      Sync with master · 2f331ef7
      Junio C Hamano 提交于
      2f331ef7
    • E
      t7518: fix flaky grep invocation · 04b65a3b
      Elijah Newren 提交于
      t7518.1 added in commit 862e80a4 ("ident: handle NULL email when
      complaining of empty name", 2017-02-23), was trying to make sure that
      the test with an empty ident did not segfault and did not result in
      glibc quiety translating a NULL pointer into a name of "(null)".  It did
      the latter by ensuring that a grep for "null" didn't appear in the
      output, but on one automatic CI run I observed the following output:
      
      fatal: empty ident name (for <runner@fv-az128-670.gcliasfzo2nullsdbrimjtbyhg.cx.internal.cloudapp.net>) not allowed
      
      Note that 'null' appears as a substring of the domain name, found
      within 'gcliasfzo2nullsdbrimjtbyhg'.  Tighten the test by searching for
      "(null)" rather than "null".
      Signed-off-by: NElijah Newren <newren@gmail.com>
      Reviewed-by: NTaylor Blau <me@ttaylorr.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      04b65a3b
    • J
      Merge tag 'l10n-2.29.0-rnd2' of git://github.com/git-l10n/git-po · 2a809ecc
      Junio C Hamano 提交于
      l10n for Git 2.29.0 round 2
      
      * tag 'l10n-2.29.0-rnd2' of git://github.com/git-l10n/git-po:
        l10n: zh_CN: for git v2.29.0 l10n round 1 and 2
        l10n: de.po: Update German translation for Git 2.29.0
        l10n: vi(5013t): Updated translation for v2.29.0 rd2
        l10n: pt_PT: make on po/pt_PT.po
        l10n: Portuguese translation team has changed. Wohoo!
        l10n: bg.po: Updated Bulgarian translation (5013t)
        l10n: sv.po: Update Swedish translation (5013t0f0u)
        l10n: it.po: update the Italian translation
        l10n: tr: v2.29.0 round 2
        l10n: zh_TW.po: v2.29.0 round 2 (2 untranslated)
        l10n: fr: v2.29.0 rnd 2
        l10n: git.pot: v2.29.0 round 2 (1 new, 1 removed)
        l10n: fr: v2.29.0 rnd 1
        l10n: it.po: update the Italian translation for Git 2.29.0 round 1
        l10n: tr: v2.29.0 round 1
        l10n: Update Catalan translation
        l10n: git.pot: v2.29.0 round 1 (124 new, 42 removed)
      2a809ecc
    • C
      ac9b5475
  8. 18 10月, 2020 3 次提交
  9. 17 10月, 2020 1 次提交
    • P
      Merge branch 'sh/blame-tooltip' · 38c2ac2e
      Pratyush Yadav 提交于
      Make sure `git gui blame` tooltips are destroyed once the window loses
      focus on MacOS.
      
      * sh/blame-tooltip:
        git-gui: blame: prevent tool tips from sticking around after Command-Tab
      38c2ac2e