Releases: cynkra/fledge
fledge 0.1.1
fledge 0.1.0
Change log management utility, initial release.
The main entry point is bump_version()
, which does the following:
- Checks that
DESCRIPTION
andNEWS.md
are clean before bumping, and that the current branch is the main branch. update_news()
: collectsNEWS
entries from top-level commitsupdate_version()
: bump version inDESCRIPTION
, add header toNEWS.md
- Depending on the kind of update:
- If "dev",
finalize_version()
: commitDESCRIPTION
andNEWS.md
, create tag with message - Otherwise,
commit_version()
; the user needs to calltag_version()
manually
- If "dev",
- Suggests to push the changes if an upstream repository is configured.
If you haven't committed since updating NEWS.md
and DESCRIPTION
, you can also edit NEWS.md
and call tag_version()
again.
Both the commit and the tag will be updated.
Bumping can be undone with unbump_version()
.
If the DESCRIPTION
has a "Date"
field, it is populated with the current date in update_version()
.
Likewise, if NEWS.md
contains dates in the headers, new versions also get a date.
An empty list of changes adds a "Same as previous version" bullet.
This allows bumping to a dev version immediately after CRAN release.
Also includes helper functions get_last_tag()
and get_top_level_commits()
.
Includes vignettes: "Get started", "Using fledge", and "Fledge internals".
Examples and tests are supported with a demo project, created via with_demo_project()
.
Thanks Patrick Schratz and Maëlle Salmon for your contributions!
fledge 0.0.4
Features
- Prepend NEWS comment to discourage edits.
- Dates are added to NEWS headers if existing headers have them, or for a new NEWS file (#29).
finalize_version()
gainspush
argument which pushes the tag and the main branch, this considerably simplifies the workflow. It callsedit_news()
and sendsfinalize_version(push = TRUE)
to the RStudio or VS Code console.tag_version()
returns name of created tag, invisibly.tag_version(force = FALSE)
re-tags an existing tag if it points to the same commit.
Bug fixes
bump_version()
gives correct advice if no remote branch exists.bump_version()
andget_top_level_commits()
are more robust at enumerating the commits: traversing the first parent from whichsince
can be reached, instead of the first parent. This ensures that NEWS are more meaningful and avoids the occasional enumeration of all NEWS items since the beginning.