./devel/git-cinnabar, Remote helper to use mercurial repositories with git

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


Branch: CURRENT, Version: 0.7.0beta2nb1, Package name: git-cinnabar-0.7.0beta2nb1, Maintainer: pkgsrc-users

git-cinnabar is a git remote helper to interact with mercurial
repositories. Contrary to other such helpers, it doesn't use a
local mercurial clone under the hood.

The main focus at the moment is to make it work with mozilla-central
and related mercurial repositories and support Mozilla workflows
(try server, etc.).


Master sites:

Filesize: 235.22 KB

Version history: (Expand)


CVS history: (Expand)


   2024-12-16 01:41:42 by Taylor R Campbell | Files touched by this commit (4)
Log message:
devel/git-cinnabar: Add patches to fix spurious git push success.

PKGREVISION++

(No change to devel/py-hg-cinnabarclone PKGREVISION even though the
patch also applies to it, because the patch doesn't change any of the
content of the py-hg-cinnabarclone package, which consists mainly of
one .py file in git-cinnabar.  The patch is applied merely for the
convenience of sharing distinfo between the two packages.)

Derived from the current state of:

https://github.com/glandium/git-cinnabar/pull/342
   2024-12-16 01:41:19 by Taylor R Campbell | Files touched by this commit (1)
Log message:
devel/git-cinnabar: Don't run cargo tests twice on `bmake test'.

Forgot to remove this recipe back when I added the cram tests.

No functional change intended outside `bmake test', so no revbump.
   2024-12-16 01:41:11 by Taylor R Campbell | Files touched by this commit (1)
Log message:
devel/git-cinnabar: Nix outdated comment.

GIT_SUBMODULES was moved to Makefile.common after all.

No functional change intended.
   2024-12-12 17:14:00 by Taylor R Campbell | Files touched by this commit (2)
Log message:
devel/git-cinnabar: Move GITHUB_SUBMODULES to Makefile.common.

This makes no difference for devel/git-cinnabar, and unbreaks
devel/py-hg-cinnabarclone by making the new patch under git-core/
apply.  This patch isn't needed for py-hg-cinnabarclone but it'll be
easier to maintain, I think, if we have all the git-cinnabar in one
place.
   2024-12-05 14:59:31 by Taylor R Campbell | Files touched by this commit (1)
Log message:
devel/git-cinnabar: Make tests work before installation.

And make sure we override any previously installed git-cinnabar (and
git-remote-hg) executables in libexec/git-core (`git exec path').

Creating a symlink under ${WRKSRC}/target/release is a little hokey,
but it'll do.
   2024-12-05 08:55:56 by Thomas Klausner | Files touched by this commit (1)
Log message:
git-cinnabar: add missing test dependency, fix binary name in target
   2024-12-05 03:31:30 by Taylor R Campbell | Files touched by this commit (4)
Log message:
git-cinnabar: Run the cram tests too.

No revbump because this only affects bmake test -- no change to the
built package.

All the tests should pass on NetBSD 9 now (probably 10 too).  Issues
filed upstream for the patches needed to make this work.

Tidy Makefile style a little while here.
   2024-12-05 02:19:27 by Taylor R Campbell | Files touched by this commit (5) | Package updated
Log message:
devel/git-cinnabar, devel/py-hg-cinnabarclone: update to 0.7.0beta2

While here: Disable `version-check' feature so git-cinnabar doesn't
phone home every time you run it.

Upstream release notes:

0.7.0-beta.2 Pre-release

What's new since 0.7.0-beta.1?

 * Based on git 2.46.2.
 * Avoid showing an update notification for the current beta version when it is \ 
the latest release.
 * Fixed git push --dry-run to not report spurious errors.
 * Allow git push --dry-run to create metadata for the changesets the push would \ 
create.
 * Various changes to download.py and git cinnabar self-update.

0.7.0-beta.1 Pre-release

/!\ As of version 0.7, some corner cases in Mercurial repositories will generate \ 
different git commits than with prior versions of git-cinnabar. This means a \ 
fresh clone might have different git SHA-1s than existing clones, but this \ 
doesn't impact the use of existing clones with newer versions of git-cinnabar.

Most repositories should remain non-affected by the change.

You can set the cinnabar.compat git configuration to 0.6 to keep the previous \ 
behavior.

What's new since 0.6.3?

 * Based on git 2.46.0.
 * Fixed git cinnabar fsck to avoid misreporting weird old Mercurial file \ 
history as metadata corruption.
 * Fixed the creation of empty trees for manifests.
 * Fixed access to ssh remotes with absolute paths.
 * Fixed cinnabarclone extension with Mercurial >= 6.6.
 * Fixed handling cinnabar.refs=heads,tips (backwards incompatible change).
 * Various optimizations making clones and pulls faster.
 * Made negotiation with repo with large number of heads faster for pull and push.
 * git cinnabar fetch and git cinnabar reclone now handle everything internally \ 
instead of delegating to git fetch and git remote, respectively.
 * git cinnabar reclone doesn't lose metadata history when a cinnabarclone is used.
 * A clone with cinnabarclone now only records one metadata update instead of \ 
two when there are updates after the cinnabarclone.
 * git cinnabar reclone now only records one metadata update even when pulling \ 
from several remotes at the same time.
 * git cinnabar reclone will try to restore as many of the heads it knew about, \ 
fetching from skipDefaultUpdate remotes if necessary.
 * git cinnabar reclone --rebase allows to automatically rebase local branches \ 
and detached heads when git commits change after the reclone (e.g. when \ 
switching between a plain clone to a grafted clone, or when there was a bug in \ 
the original conversion)
 * cinnabar.check=no-bundle2 now pretends the Mercurial server doesn't support \ 
bundle2.
 * Updated crate dependencies.
 * Many refactors, including the conversion of many functions from C to Rust.
 * Experimental support for tweaking the similarity level when detecting copies \ 
and renames during a push.
 * Experimental support for pushing named branches and tags.