Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: rust-lang/cargo
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 7d3033d2e59383fd76193daf9423c3d141972a7d
Choose a base ref
...
head repository: rust-lang/cargo
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 4a3c588b1f0a8e2dc8dd8789dbf3b6a71b02ed49
Choose a head ref

Commits on Mar 6, 2023

  1. Copy the full SHA
    7b27ff3 View commit details
  2. docs(lib): Be more succinct in intro

    This opens more room for additional content
    epage committed Mar 6, 2023
    Copy the full SHA
    2b0b3b2 View commit details
  3. docs(contrib): Move overview to lib

    Unfortunately, the intra-doc links seem to follow the same visibility
    rule as using the API items, meaning that for `lib.rs` to link to a
    `mod`, it has to have visibility of the `mod`, requiring some mods to be
    made `pub(crate)` that previously weren't.  I've gone ahead and done
    this for now as the goal of this effort is for us to catch broken docs
    through refactorings by using intra-doc links.
    
    For now, the contrib docs page that was moved just links to the nightly
    docs.  Over time, all of this will just be collapsed into the
    architecture page which will link out to the nightly docs.
    epage committed Mar 6, 2023
    Copy the full SHA
    0f9bfb9 View commit details

Commits on Mar 8, 2023

  1. Bump to 0.71.0

    weihanglo committed Mar 8, 2023
    Copy the full SHA
    4dccac6 View commit details

Commits on Mar 9, 2023

  1. Update changelog for 1.69

    weihanglo committed Mar 9, 2023
    Copy the full SHA
    d13403a View commit details
  2. Update changelog for 1.70

    weihanglo committed Mar 9, 2023
    Copy the full SHA
    ac5a799 View commit details
  3. Copy the full SHA
    2d36e8c View commit details
  4. Copy the full SHA
    140ed0f View commit details
  5. Copy the full SHA
    821db09 View commit details
  6. Make section headers a bit shorter

    * Documentation improvements -> Documentation
    * Internal improvements -> Internal
    weihanglo committed Mar 9, 2023
    Copy the full SHA
    60df49d View commit details
  7. Fix semver check for 1.68

    weihanglo committed Mar 9, 2023
    Copy the full SHA
    a6c9a21 View commit details
  8. Auto merge of #11817 - weihanglo:semvercheck-fix, r=epage

    Fix semver check for 1.68
    
    See https://github.com/rust-lang/cargo/actions/runs/4375746793/jobs/7656883351
    
    Run `cd src/doc/semver-check && cargo +stable run` to test.
    bors committed Mar 9, 2023
    Copy the full SHA
    7e6687f View commit details
  9. Bump crates-io to 0.36.0

    This was an overlook of #11600
    weihanglo committed Mar 9, 2023
    Copy the full SHA
    8296cfe View commit details
  10. Auto merge of #11809 - epage:contrib, r=weihanglo

    docs(contrib): Move overview to lib
    
    ### What does this PR try to resolve?
    
    Goals
    - Move docs closer to their use to make them more likely to be updated
    - More exhaustively rely on intra-doc links to keep the links valid through refactorings
    
    To do this, I am exploring moving contributing documentation to their relevant libraries and linking out to them instead.
    
    ### How should we test and review this PR?
    
    Look at the PR a commit at a time
    ```console
    cargo doc --open
    cargo doc --allow-private-items --open
    ```
    
    ### Additional information
    
    In moving the content over, I felt a lot of our current intro documentation was a bit verbose, so I tried to shrink it down so that adding more content would not make it overwhelming
    
    Unfortunately, the intra-doc links seem to follow the same visibility
    rule as using the API items, meaning that for `lib.rs` to link to a
    `mod`, it has to have visibility of the `mod`, requiring some mods to be
    made `pub(crate)` that previously weren't.  I've gone ahead and done
    this for now as the goal of this effort is for us to catch broken docs
    through refactorings by using intra-doc links.
    
    For now, the contrib docs page that was moved just links to the nightly
    docs.  Over time, all of this will just be collapsed into the
    architecture page which will link out to the nightly docs.
    bors committed Mar 9, 2023
    Copy the full SHA
    e1605eb View commit details
  11. Auto merge of #11815 - weihanglo:version-bump, r=epage

    Bump to 0.71.0; update changelog
    
    [Rendered](https://github.com/weihanglo/cargo/blob/version-bump/CHANGELOG.md)
    
    ## Proposal: two new sections
    
    Before, we usually just highlight user-facing changes. However, there are more and more documentation updates and internal infrastructure PRs today. To make contributors feel a part of a release, I propose to have two new section “Documentation improvements” and “Internal improvements”.
    
    To provide some data points, both [Rust Analyzer](https://rust-analyzer.github.io/thisweek/2023/03/06/changelog-171.html#internal-improvements) and [Intellij Rust](https://intellij-rust.github.io/2023/02/27/changelog-189.html#internal-improvements) get an “Internal improvements” section.
    bors committed Mar 9, 2023
    Copy the full SHA
    754b79c View commit details
  12. Auto merge of #11820 - weihanglo:bump-crates-io, r=ehuss

    Bump crates-io to 0.36.0
    
    This was an overlook of #11600
    
    Since we already got #11806 to backport, I guess it is not harmful to <https://github.com/rust-lang/cargo/labels/beta-nominated> this as well.  Maybe it do need a backport as `src/cargo/ops/registry.rs` use a new public API from that PR.
    
    BTW, please help check if it is really a breaking change.
    bors committed Mar 9, 2023
    Copy the full SHA
    0dec9a3 View commit details
  13. Copy the full SHA
    fcb5c07 View commit details
  14. Auto merge of #11822 - ehuss:gitoxide-tracking, r=weihanglo

    Add tracking issue to gitoxide unstable docs
    bors committed Mar 9, 2023
    Copy the full SHA
    d58902e View commit details

Commits on Mar 10, 2023

  1. Copy the full SHA
    9e6d0c0 View commit details
  2. Remove sneaked-in </dl>

    weihanglo committed Mar 10, 2023
    Copy the full SHA
    fc18f76 View commit details
  3. Copy the full SHA
    4ec1885 View commit details
  4. Auto merge of #11826 - weihanglo:cargo-add-target, r=epage

    Notice for potential unexpected shell expansions in help text of `cargo-add`
    bors committed Mar 10, 2023
    Copy the full SHA
    3c35bf1 View commit details
  5. Copy the full SHA
    b6205c9 View commit details
  6. Disable flaky tests for now (#11821)

    The proper fix is in https://github.com/Byron/gitoxide/releases/tag/gix-v0.41.0
    which unfortunately can't be used as it also comes with the latest `tempfile` v3.4
    which causes other issues when compiling on some platforms.
    
    Thus we first disable the flaky tests, and re-enable them with the `gix` upgrade
    which should be possible once `tempfile` doesn't hinder `cargo` on some platforms
    anymore.
    
    Related to #11821
    Byron committed Mar 10, 2023
    Copy the full SHA
    c890c64 View commit details

Commits on Mar 11, 2023

  1. Auto merge of #11829 - Muscraft:spaese-ci, r=weihanglo

    chore: Use sparse protocol on stable CI
    
    [Rust `1.68.0`](https://blog.rust-lang.org/2023/03/09/Rust-1.68.0.html) was released yesterday and it stabilized [Cargo's sparse protocol](https://blog.rust-lang.org/2023/03/09/Rust-1.68.0.html#cargos-sparse-protocol).
    
    The protocol has been used in [CI on nightly](https://github.com/rust-lang/cargo/blob/3c35bf10ad21083f04a033d2abd8179cfbd0380b/.github/workflows/main.yml#L100-L102) for some time. This PR enables the protocol for stable CI runs.
    bors committed Mar 11, 2023
    Copy the full SHA
    595cb11 View commit details
  2. Auto merge of #11825 - ehuss:cross-test-docs, r=weihanglo

    Add some documentation on writing cross-compilation tests
    
    This adds an overview of what you need to know to write tests that do cross-compilation.
    bors committed Mar 11, 2023
    Copy the full SHA
    7b2fabf View commit details
  3. Auto merge of #11830 - Byron:disable-auth-tests, r=weihanglo

    Disable flaky auth tests when `gitoxide` runs them
    
    The proper fix is in https://github.com/Byron/gitoxide/releases/tag/gix-v0.41.0
    which unfortunately can't be used as it also comes with the latest `tempfile` v3.4
    which causes other issues when compiling on some platforms.
    
    Thus we first disable the flaky tests, and re-enable them with the `gix` upgrade
    which should be possible once `tempfile` doesn't hinder `cargo` on some platforms
    anymore.
    
    Related to #11821
    
    This PR is supposed to be followed up by #11831 which re-enables the flaky tests and fixes them properly by upgrading `gix` which contains the fix.
    bors committed Mar 11, 2023
    Copy the full SHA
    d4249c9 View commit details

Commits on Mar 12, 2023

  1. Copy the full SHA
    a668956 View commit details
  2. cargo clippy + fmt

    domsleee committed Mar 12, 2023
    Copy the full SHA
    dc449bc View commit details

Commits on Mar 13, 2023

  1. review comments

    domsleee committed Mar 13, 2023
    Copy the full SHA
    ea27499 View commit details
  2. redundant escapes

    domsleee committed Mar 13, 2023
    Copy the full SHA
    3363931 View commit details
  3. Auto merge of #11835 - domsleee:git-install-bin-flag-hint, r=weihanglo

    `cargo install --git` multiple packages with binaries found hint
    
    ### What does this PR try to resolve?
    The issues discussed in: #4830
    
    namely this one:
    > 4. a multiple packages with binaries found error should give users a hint about how to specify a single crate
    
    I think improving the error message to provide a suggestion is a simple change that would help a lot of people when this happens, sorry if I'm out of line for just opening a PR here :)
    
    ### Before
    cargo 1.68.0 (115f345 2023-02-26)
    ![image](https://user-images.githubusercontent.com/14891742/224546157-d9b48bfd-f896-4fd1-9f0a-e04a3ad60ae2.png)
    
    ### After
    ![image](https://user-images.githubusercontent.com/14891742/224546182-d4b451ae-1b28-41b6-9d74-db860532512b.png)
    
    ### Additional information
    
    I added in a related test documenting existing behaviours
    * multiple_examples_error: "multiple packages with examples found" (i.e. not "binaries")
    
    I added these tests which aren't necessarily related to this PR, but could be considered if the behaviour were to change
    * `multiple_binaries_deep_select_uses_package_name`: it uses the name, not the path. Is this a problem for crates with the same name?
    * `multiple_binaries_in_selected_package_installs_all`: so `--bins` is implied when a package is specified?
    * `multiple_binaries_in_selected_package_with_bin_option_installs_only_one`: demonstrates a use case where `--bin` and `[crate]` are both used
    bors committed Mar 13, 2023
    Copy the full SHA
    9855f92 View commit details
  4. Copy the full SHA
    20a5d2b View commit details
  5. docs(contrib): Point compilation docs to doc comments

    I also verified that `src/cargo/lib.rs` points people to this location
    for learning about compilation.
    epage committed Mar 13, 2023
    Copy the full SHA
    e148231 View commit details
  6. docs(contrib): Move Design Principles earlier in the book

    This is the framing by which all contributions should happen, so this
    should come first before getting into what is needed to know to
    implement a change and test it.
    
    This is also prep for adding a new Implementations Practices section to
    pull out various tips spread through the Architecture section.  See #11841
    epage committed Mar 13, 2023
    Copy the full SHA
    67ca847 View commit details
  7. Auto merge of #11841 - epage:contrib, r=weihanglo

    docs(contrib): Point compilation docs to doc comments
    
    This is a follow up to #11809, merging the description of compilation with what is in the source code, leaving a breadcrumb for people who were used to going to the old page (for now).  The new entry point for finding this is the doc comment in `lib.rs`
    
    Like with #11809, this also meant increasing the visibility of a mod.  This mod is mostly re-exported already, so this doesn't seem too bad.  I pointed directly to the `job _queue` mod rather than `JobQueue` because the mod had more of an architecture discussion.  For `drain_the_queue`, I also pointed at the mod because it talks about it and this avoided making `DrainState` and `drain_the_queue` `pub(crate)`.
    
    This still leaves
    - Files
      - Part of this indexes the architecture based on files generated and should be in `lib.rs`
      - Part of this is filesystem best practices and should be moved out of the architecture overview into some kind of Implementation Practices
    - Package and Resolution
    - Console Output.  This also likely belongs in an Implementation section
    - Likely stuff in the testing section
    bors committed Mar 13, 2023
    Copy the full SHA
    92751f9 View commit details
  8. Auto merge of #11842 - epage:design, r=ehuss

    docs(contrib): Move Design Principles earlier in the book
    
    This is the framing by which all contributions should happen, so this should come first before getting into what is needed to know to implement a change and test it.
    
    This is also prep for adding a new Implementations Practices section to pull out various tips spread through the Architecture section.  See #11841
    bors committed Mar 13, 2023
    Copy the full SHA
    71ea049 View commit details

Commits on Mar 14, 2023

  1. Auto merge of #11839 - djc:downgrading-status, r=weihanglo

    Accurately show status when downgrading dependencies
    
    ### What does this PR try to resolve?
    
    A few times now I've ran into issues where Cargo ends up downgrading a dependency in order to satisfy a pinned dependency somewhere in the dependency graph. Unfortunately this is not clear in the output of `cargo update`, which just shows all the changed dependencies as `Updating`.
    
    References:
    
    * #5702
    * [Finding a pinned dependency edge](https://users.rust-lang.org/t/finding-a-pinned-dependency-edge/81157)
    * tokio-rs/axum#1814
    
    ### How should we test and review this PR?
    
    This is a small change that tries to make dependency downgrades stand out more in the output of `cargo update`. I have not added any new tests since the existing tests seem to cover this functionality.
    
    Some tests still fail, these refer to Git dependencies. I'm honestly not sure how to handle these, so I'd like to get some feedback on this before I fix those tests up. Git commits form a DAG, so one option is to see if the new commit is an ancestor of the old one (mark as "updating"), if the old commit is an ancestor of the new one (mark as "downgrading"), or neither (could be from parallel branches) we could compare based on timestamp in that case.
    
    ### To do
    
    * Fix up tests for Git dependency updates
    bors committed Mar 14, 2023
    Copy the full SHA
    9282cf7 View commit details
  2. Copy the full SHA
    c70fac0 View commit details
  3. Copy the full SHA
    6712c51 View commit details
  4. Auto merge of #11848 - weihanglo:rmrf, r=epage

    ci: make clean-test-output a script for reuse
    bors committed Mar 14, 2023
    Copy the full SHA
    4a3c588 View commit details
Loading