./devel/git-branchless, High-velocity, monorepo-scale workflow for Git

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 0.10.0, Package name: git-branchless-0.10.0, Maintainer: pkgsrc-users

git-branchless is a suite of tools which enhances Git in several ways. It makes
Git easier to use, both for novices and for power users.
Examples:
- git undo: a general-purpose undo command.
- The smartlog: a convenient visualization tool.
- git restack: to repair broken commit graphs.
- Speculative merges: to avoid being caught off-guard by merge conflicts.
- Patch-stack workflows: strong support for patch-stack workflows as used by
the Linux and Git projects, as well as at many large tech companies.
- Prototyping and experimenting workflows: strong support for prototyping and
experimental work via divergent development.
- git sync: to rebase all local commit stacks and branches without having to
check them out first.
- git move: The ability to move subtrees rather than sticks while cleaning up
old branches, not touching the working copy, etc.
- Anonymous branching: reduces the overhead of branching for experimental work.
- In-memory operations: to modify the commit graph without having to check out
the commits in question.
- git next/prev: to quickly jump between commits and branches in a stack.
- git sw -i/--interactive: to interactively select a commit to switch to.

It provides faster operations for large repositories and monorepos,
particularly at large tech companies.


Master sites:

Filesize: 526.813 KB

Version history: (Expand)


CVS history: (Expand)


   2023-11-08 14:21:43 by Thomas Klausner | Files touched by this commit (2377)
Log message:
*: recursive bump for icu 74.1
   2023-10-25 00:11:51 by Thomas Klausner | Files touched by this commit (2298)
Log message:
*: bump for openssl 3
   2023-10-21 20:57:15 by pin | Files touched by this commit (1)
Log message:
devel/git-branchless: fix build with new libgit2

Switch to vendored libgit2 to avoid mismatches.
   2023-08-30 10:30:17 by pin | Files touched by this commit (12) | Package updated
Log message:
devel/git-branchless: update to 0.8.0

v0.8.0: build: delete git-branchless-testing crate

 The git-branchless-lib crate has a dev-dependency on git-branchless-testing,
 and git-branchless-testing has a dependency on git-branchless-lib, inducing
 a circular dependency that means they can't be published to crates.io.
 This commit collapses them into the same crate again to resolve this circular
 dependency.
   2023-04-26 13:36:25 by Thomas Klausner | Files touched by this commit (6)
Log message:
git-branchless: fix build with latest libgit2

Bump PKGREVISION.
   2023-04-19 10:12:01 by Adam Ciarcinski | Files touched by this commit (2359) | Package updated
Log message:
revbump after textproc/icu update
   2023-03-17 22:20:59 by pin | Files touched by this commit (3) | Package updated
Log message:
devel/git-branchless: update to 0.7.1

[0.7.1] - 2023-03-13

Added
 - (#830) Added `git branchless install-man-pages` command to generate and
   install man-pages.

Fixed
 - (#844) Fixed build for NetBSD.

[0.7.0] - 2023-03-01
Added
- (#646) `git amend` now supports a `--reparent` option to adjust the contents
  of a commit while keeping the children commits exactly the same.
- (#686) `git branchless init` will now populate the internal commit graph
  structure, rather than waiting for the first invocation of a `git branchless`
  subcommand.
- (#725) Added `siblings()` revset function to determine the siblings of a
  given commit.
- (#725) Added an `-I`/`--insert` option to `git record` to insert the new
  commit before all of the current commit's children.
- (#763) Added a `-d`/`--detach` option to `git branchless switch` to switch to
  to a branch without checking it out.
- (#766) Added a `git test fix` subcommand to apply formatters/linters/etc.
  to a set of commits.
- (#777) Added the `--search` option to `git test run` to search a set of
  commits using linear or binary search for the first commit(s) which cause
  the tests to fail.
- (#777) `git test run` now aborts the overall test run when a test returns
  exit code `127`.
- (#777) `git test run` now sets the `BRANCHLESS_TEST_COMMIT` and
  `BRANCHLESS_TEST_COMMAND` environment variables when running the test command.
- (#785) Added `tests.passed()`, `tests.failed()`, and `tests.fixable()`
  revset functions, whose results are populated by `git test`.
- (#790) Added the `--reverse` option to `git smartlog`.

Changed
- (#730) BREAKING: The default revset for `git reword` is now `stack() | @`
  instead of `@`, to simultaneously reword all commits in the current stack.
- (#763) BREAKING: `git branchless switch` no longer implicitly opens the
  interactive commit selector when no target is provided. You must explicitly
  pass `-i`/`--interactive` to do so.
- (#801) BREAKING: The parameter to `git record` has been renamed from
  `-b`/`--branch` to `-c`/`--create`.
- (#685) `git submit` now colorizes the names of the affected branches.
- (#763) Running `git branchless switch` with no arguments will switch to the
  branch associate with the current commit, if there is exactly one such branch
  and the `branchless.navigation.autoSwitchBranches` configuration variable is
  set to `true`.
- (#791) The name for the temporary file created by `git reword` is now of the
  form `COMMIT_EDITMSG-*.txt`, which your editor can use to detect it as a Git
  commit message file.
- (#811) The styling for `git test` progress and output has been changed.

Fixed
- (#646) Adjusted messaging during merge conflicts with `git move --in-memory`
  to be more accurate.
- (#647) `git test run` now recovers from previously-failed tests instead of
  failing indefinitely in future runs.
- (#670) `git submit` no longer force-pushes the current branch in the
  circumstance that all branches are currently up-to-date.
- (#688) `git amend` now respects the `--merge` option.
- (#722) `git reword` now supports invoking editors with spaces in their names.
- (#724) `git branchless init` now installs a `post-applypatch` hook, for
  users of `git am`.
- (#742) `git branchless init` now respects a leading `~` in the
  `core.hooksPath` configuration variable.
- (#743) `git sync`, etc. now correctly clean up remote branch information for
  branches which have been merged upstream. Previously, the remote branch
  information would be left behind, which would cause future branches with the
  same names to incorrectly become associated with the old remote branch.
- (#764) `git sync` will no longer attempt to resolve merge conflicts unless
  you pass `--merge`. Previously, this could happen when attempting to sync
  merge commits.
   2023-01-12 13:51:30 by pin | Files touched by this commit (5)
Log message:
devel/git-branchless: import package

git-branchless is a suite of tools which enhances Git in several ways. It makes
Git easier to use, both for novices and for power users.
Examples:
 - git undo: a general-purpose undo command.
 - The smartlog: a convenient visualization tool.
 - git restack: to repair broken commit graphs.
 - Speculative merges: to avoid being caught off-guard by merge conflicts.
 - Patch-stack workflows: strong support for patch-stack workflows as used by
   the Linux and Git projects, as well as at many large tech companies.
 - Prototyping and experimenting workflows: strong support for prototyping and
   experimental work via divergent development.
 - git sync: to rebase all local commit stacks and branches without having to
   check them out first.
 - git move: The ability to move subtrees rather than sticks while cleaning up
   old branches, not touching the working copy, etc.
 - Anonymous branching: reduces the overhead of branching for experimental work.
 - In-memory operations: to modify the commit graph without having to check out
   the commits in question.
 - git next/prev: to quickly jump between commits and branches in a stack.
 - git sw -i/--interactive: to interactively select a commit to switch to.

It provides faster operations for large repositories and monorepos,
particularly at large tech companies.