github Byron/gitoxide git-refspec-v0.2.0
git-refspec v0.2.0

2 years ago

New Features

  • Simple serialization for Instruction and RefSpecRef type.
    It's also a way to normalize input strings as there is only one way
    to serialize instructions, which themselves are already normalized
    towards what's possible.

Changed (BREAKING)

  • reject all invalid negative refspec patterns.
    Git is more lenient, but will then fail to match against such patterns
    which seems like avoidable surprising behaviour.
  • upgrade bstr to 1.0.1

Commit Statistics

  • 72 commits contributed to the release over the course of 18 calendar days.
  • 22 days passed between releases.
  • 3 commits were understood as conventional.
  • 2 unique issues were worked on: #450, #470

Thanks Clippy

Clippy helped 4 times to make code idiomatic.

Commit Details

view details
  • #450
    • A more efficient representation for validate::Fix (e819fc6)
    • Make specs in MatchGroup public to reduce API surface. (2a7df32)
    • Allow match_group::Fix to be cloned. (85c49ec)
    • fix match_group::Item to make it uniform with how we typically name refs (21420da)
    • remote todo with note about our current understanding (9dc7a3f)
    • Actually assure we don't try to write into the HEAD ref, which git avoids as well (1335618)
    • Allow 'HEAD' based refspecs to match correctly (7432a2b)
    • tests to show that empty remotes actually work (2fdec73)
    • another test which doesn't manage to trigger a certain message from git. (4f48095)
    • fully drop 'funny' names (f137d60)
    • A first version of the 'funny name' sanitization (c81e418)
    • frame for testing of fixes (9148102)
    • refactor (d37fd04)
    • all baseline specs are tested and pass (afc0a3d)
    • the first test to validate conflict reporting (aef0a46)
    • sketch of validation API along with test suite integration (70a765e)
    • refactor (547129e)
    • sketch Outcome type which can be used for later sanitization and validation. (53e17c1)
    • prepare first test for conflicts and validation (508a33a)
    • just-in-time deduplication of mappings (8ed5d01)
    • adjust expectations to make first exclusion tests work (6e1b19b)
    • reject all invalid negative refspec patterns. (4c4f821)
    • basic negation implementation along with first failure. (e4931d0)
    • first tests for multiple refspecs (77db112)
    • refactor (4c73a19)
    • refactor (00401be)
    • improved glob matching (eaf36e7)
    • basic glob matching. (a93628c)
    • type-system supprots glob matching (4b73d11)
    • more tests for simple 1:1 fetch and update specs (74de83c)
    • Make it easy to obtain the local and remote sides of RefSpecs (67506b1)
    • Don't reject object-id like heads on the receiving side. (6668c3f)
    • make object-ids in the source position type-safe (413051d)
    • prepare for dual-sided ref mapping to realize that it needs a special case. (7368fe4)
    • refactor (579e891)
    • support testing source-only object names (bb61c49)
    • preliminary matching of refs by name (426107f)
    • handle partial names as well (dc7f162)
    • generalize baseline assertion to support multiple input specs (b752e48)
    • first successful test (3625d5a)
    • top-level match-group loop without negation (c915a5f)
    • refactor to use a match-group instead. (4ba31c5)
    • not using a matchgroup right away seems like the wrong approach (7f3bc30)
    • actual expectation for first simple test (cec6905)
    • Get to the point where the matcher is invoked (cbbdf59)
    • Simple serialization for Instruction and RefSpecRef type. (abdf83f)
    • ground work for matcher tests (509764c)
    • tag specific tests (4f35485)
    • more tests to investigate conflict handling (192d4f7)
    • a more realistic sketch for Matcher, which will need a surrounding MatchGroup (dd1d824)
    • more robust baseline tests on windows (54ca267)
    • pares FETCH_HEAD (as specs without local sides); sketch Match type (44228a0)
    • restore full ref names for baseline (f6124db)
    • parse basline mapping (3000a14)
    • parse baseline reflist which serves as input to the matcher (fce877f)
    • frame for baseline for fetch-matching (2569da5)
    • upgrade bstr to 1.0.1 (99905ba)
    • prefer to represent instructions with Matchers (0887e2e)
    • more examples using fully spelled out object names as fetch destination (095a099)
    • get more clarity about git ls-remote and git fetch (1b15fe8)
    • a tiny sketch of a possible matching API (39d5ff3)
  • #470
    • update changelogs prior to release (caa7a1b)
  • Uncategorized
    • Release git-hash v0.9.10, git-features v0.22.5, git-date v0.2.0, git-actor v0.12.0, git-glob v0.4.0, git-path v0.5.0, git-quote v0.3.0, git-attributes v0.4.0, git-config-value v0.8.0, git-tempfile v2.0.5, git-validate v0.6.0, git-object v0.21.0, git-ref v0.16.0, git-sec v0.4.0, git-config v0.8.0, git-discover v0.5.0, git-traverse v0.17.0, git-index v0.5.0, git-worktree v0.5.0, git-testtools v0.9.0, git-command v0.1.0, git-prompt v0.1.0, git-url v0.9.0, git-credentials v0.5.0, git-diff v0.19.0, git-mailmap v0.4.0, git-chunk v0.3.2, git-pack v0.23.0, git-odb v0.33.0, git-packetline v0.13.0, git-transport v0.20.0, git-protocol v0.20.0, git-revision v0.5.0, git-refspec v0.2.0, git-repository v0.24.0, git-commitgraph v0.9.0, gitoxide-core v0.18.0, gitoxide v0.16.0, safety bump 28 crates (29a043b)
    • make fmt (429cccc)
    • Merge branch 'index-from-tree' (172f73c)
    • thanks clippy (74a5f22)
    • thanks clippy (016cd1f)
    • thanks clippy (b8ac13e)
    • thanks clippy (73b405f)
    • make fmt (535e967)
    • Merge branch 'git_date_parse' (75591fb)
    • Release git-hash v0.9.9 (da0716f)

Don't miss a new gitoxide release

NewReleases is sending notifications on new releases.