Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 9 Feb 2019 09:20:26 +0000 (UTC)
From:      "Tobias C. Berner" <tcberner@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r492487 - in head/devel: . git-absorb
Message-ID:  <201902090920.x199KQYd013789@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: tcberner
Date: Sat Feb  9 09:20:26 2019
New Revision: 492487
URL: https://svnweb.freebsd.org/changeset/ports/492487

Log:
  New port: devel/git-absorb: Git command for automating fixup/autosquash commits
  
  You have a feature branch with a few commits. Your teammate reviewed the branch
  and pointed out a few bugs. You have fixes for the bugs, but you don't want to
  shove them all into an opaque commit that says fixes, because you believe in
  atomic commits. Instead of manually finding commit SHAs for git commit --fixup,
  or running a manual interactive rebase, do this:
  
  > git add $FILES_YOU_FIXED
  > git absorb
  > git rebase -i --autosquash master
  
  git absorb will automatically identify which commits are safe to modify, and
  which indexed changes belong to each of those commits. It will then write
  fixup! commits for each of those changes. You can check its output manually if
  you don't trust it, and then fold the fixups into your feature branch with
  git's built-in autosquash functionality.
  
  PR:             235436
  Submitted by:   Greg V <greg@unrelenting.technology>

Added:
  head/devel/git-absorb/
  head/devel/git-absorb/Makefile   (contents, props changed)
  head/devel/git-absorb/distinfo   (contents, props changed)
  head/devel/git-absorb/pkg-descr   (contents, props changed)
Modified:
  head/devel/Makefile

Modified: head/devel/Makefile
==============================================================================
--- head/devel/Makefile	Sat Feb  9 09:00:45 2019	(r492486)
+++ head/devel/Makefile	Sat Feb  9 09:20:26 2019	(r492487)
@@ -771,6 +771,7 @@
     SUBDIR += gindent
     SUBDIR += gio-sharp
     SUBDIR += git
+    SUBDIR += git-absorb
     SUBDIR += git-bzr-ng
     SUBDIR += git-cinnabar
     SUBDIR += git-codereview

Added: head/devel/git-absorb/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/git-absorb/Makefile	Sat Feb  9 09:20:26 2019	(r492487)
@@ -0,0 +1,87 @@
+# $FreeBSD$
+
+PORTNAME=	git-absorb
+DISTVERSION=	0.3.0
+CATEGORIES=	devel
+
+MAINTAINER=	greg@unrelenting.technology
+COMMENT=	Git command for automating fixup/autosquash commits
+
+LICENSE=	BSD3CLAUSE
+LICENSE_FILE=	${WRKSRC}/LICENSE.md
+
+USES=		cargo
+USE_GITHUB=	yes
+GH_ACCOUNT=	tummychow
+
+CARGO_CRATES=	ansi_term-0.10.2 \
+		atty-0.2.6 \
+		backtrace-0.3.5 \
+		backtrace-sys-0.1.16 \
+		bitflags-1.0.1 \
+		cc-1.0.25 \
+		cfg-if-0.1.2 \
+		chrono-0.4.0 \
+		clap-2.30.0 \
+		failure-0.1.1 \
+		failure_derive-0.1.1 \
+		fuchsia-zircon-0.3.3 \
+		fuchsia-zircon-sys-0.3.3 \
+		git2-0.7.5 \
+		idna-0.1.4 \
+		isatty-0.1.6 \
+		kernel32-sys-0.2.2 \
+		lazy_static-1.0.0 \
+		libc-0.2.43 \
+		libgit2-sys-0.7.10 \
+		libz-sys-1.0.25 \
+		log-0.4.6 \
+		matches-0.1.6 \
+		memchr-2.0.1 \
+		num-0.1.42 \
+		num-integer-0.1.36 \
+		num-iter-0.1.35 \
+		num-traits-0.2.0 \
+		percent-encoding-1.0.1 \
+		pkg-config-0.3.9 \
+		quote-0.3.15 \
+		rand-0.4.2 \
+		redox_syscall-0.1.37 \
+		redox_termios-0.1.1 \
+		remove_dir_all-0.3.0 \
+		rustc-demangle-0.1.5 \
+		slog-2.1.1 \
+		slog-async-2.2.0 \
+		slog-term-2.3.0 \
+		strsim-0.7.0 \
+		syn-0.11.11 \
+		synom-0.11.3 \
+		synstructure-0.6.1 \
+		take_mut-0.2.0 \
+		tempdir-0.3.6 \
+		term-0.4.6 \
+		termion-1.5.1 \
+		textwrap-0.9.0 \
+		thread_local-0.3.5 \
+		time-0.1.39 \
+		unicode-bidi-0.3.4 \
+		unicode-normalization-0.1.5 \
+		unicode-width-0.1.4 \
+		unicode-xid-0.0.4 \
+		unreachable-1.0.0 \
+		url-1.6.0 \
+		vcpkg-0.2.2 \
+		vec_map-0.8.0 \
+		void-1.0.2 \
+		winapi-0.2.8 \
+		winapi-0.3.4 \
+		winapi-build-0.1.1 \
+		winapi-i686-pc-windows-gnu-0.4.0 \
+		winapi-x86_64-pc-windows-gnu-0.4.0
+
+PLIST_FILES=	bin/git-absorb
+
+post-install:
+	${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/git-absorb
+
+.include <bsd.port.mk>

Added: head/devel/git-absorb/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/git-absorb/distinfo	Sat Feb  9 09:20:26 2019	(r492487)
@@ -0,0 +1,131 @@
+TIMESTAMP = 1548801687
+SHA256 (rust/crates/ansi_term-0.10.2.tar.gz) = 6b3568b48b7cefa6b8ce125f9bb4989e52fbcc29ebea88df04cc7c5f12f70455
+SIZE (rust/crates/ansi_term-0.10.2.tar.gz) = 16642
+SHA256 (rust/crates/atty-0.2.6.tar.gz) = 8352656fd42c30a0c3c89d26dea01e3b77c0ab2af18230835c15e2e13cd51859
+SIZE (rust/crates/atty-0.2.6.tar.gz) = 5617
+SHA256 (rust/crates/backtrace-0.3.5.tar.gz) = ebbbf59b1c43eefa8c3ede390fcc36820b4999f7914104015be25025e0d62af2
+SIZE (rust/crates/backtrace-0.3.5.tar.gz) = 27636
+SHA256 (rust/crates/backtrace-sys-0.1.16.tar.gz) = 44585761d6161b0f57afc49482ab6bd067e4edef48c12a152c237eb0203f7661
+SIZE (rust/crates/backtrace-sys-0.1.16.tar.gz) = 283418
+SHA256 (rust/crates/bitflags-1.0.1.tar.gz) = b3c30d3802dfb7281680d6285f2ccdaa8c2d8fee41f93805dba5c4cf50dc23cf
+SIZE (rust/crates/bitflags-1.0.1.tar.gz) = 13451
+SHA256 (rust/crates/cc-1.0.25.tar.gz) = f159dfd43363c4d08055a07703eb7a3406b0dac4d0584d96965a3262db3c9d16
+SIZE (rust/crates/cc-1.0.25.tar.gz) = 43191
+SHA256 (rust/crates/cfg-if-0.1.2.tar.gz) = d4c819a1287eb618df47cc647173c5c4c66ba19d888a6e50d605672aed3140de
+SIZE (rust/crates/cfg-if-0.1.2.tar.gz) = 6668
+SHA256 (rust/crates/chrono-0.4.0.tar.gz) = 7c20ebe0b2b08b0aeddba49c609fe7957ba2e33449882cb186a180bc60682fa9
+SIZE (rust/crates/chrono-0.4.0.tar.gz) = 118850
+SHA256 (rust/crates/clap-2.30.0.tar.gz) = 1c07b9257a00f3fc93b7f3c417fc15607ec7a56823bc2c37ec744e266387de5b
+SIZE (rust/crates/clap-2.30.0.tar.gz) = 190562
+SHA256 (rust/crates/failure-0.1.1.tar.gz) = 934799b6c1de475a012a02dab0ace1ace43789ee4b99bcfbf1a2e3e8ced5de82
+SIZE (rust/crates/failure-0.1.1.tar.gz) = 26782
+SHA256 (rust/crates/failure_derive-0.1.1.tar.gz) = c7cdda555bb90c9bb67a3b670a0f42de8e73f5981524123ad8578aafec8ddb8b
+SIZE (rust/crates/failure_derive-0.1.1.tar.gz) = 9312
+SHA256 (rust/crates/fuchsia-zircon-0.3.3.tar.gz) = 2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82
+SIZE (rust/crates/fuchsia-zircon-0.3.3.tar.gz) = 22565
+SHA256 (rust/crates/fuchsia-zircon-sys-0.3.3.tar.gz) = 3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7
+SIZE (rust/crates/fuchsia-zircon-sys-0.3.3.tar.gz) = 7191
+SHA256 (rust/crates/git2-0.7.5.tar.gz) = 591f8be1674b421644b6c030969520bc3fa12114d2eb467471982ed3e9584e71
+SIZE (rust/crates/git2-0.7.5.tar.gz) = 145895
+SHA256 (rust/crates/idna-0.1.4.tar.gz) = 014b298351066f1512874135335d62a789ffe78a9974f94b43ed5621951eaf7d
+SIZE (rust/crates/idna-0.1.4.tar.gz) = 289112
+SHA256 (rust/crates/isatty-0.1.6.tar.gz) = 8f2a233726c7bb76995cec749d59582e5664823b7245d4970354408f1d79a7a2
+SIZE (rust/crates/isatty-0.1.6.tar.gz) = 7752
+SHA256 (rust/crates/kernel32-sys-0.2.2.tar.gz) = 7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d
+SIZE (rust/crates/kernel32-sys-0.2.2.tar.gz) = 24537
+SHA256 (rust/crates/lazy_static-1.0.0.tar.gz) = c8f31047daa365f19be14b47c29df4f7c3b581832407daabe6ae77397619237d
+SIZE (rust/crates/lazy_static-1.0.0.tar.gz) = 12611
+SHA256 (rust/crates/libc-0.2.43.tar.gz) = 76e3a3ef172f1a0b9a9ff0dd1491ae5e6c948b94479a3021819ba7d860c8645d
+SIZE (rust/crates/libc-0.2.43.tar.gz) = 353810
+SHA256 (rust/crates/libgit2-sys-0.7.10.tar.gz) = 4916b5addc78ec36cc309acfcdf0b9f9d97ab7b84083118b248709c5b7029356
+SIZE (rust/crates/libgit2-sys-0.7.10.tar.gz) = 1176435
+SHA256 (rust/crates/libz-sys-1.0.25.tar.gz) = 2eb5e43362e38e2bca2fd5f5134c4d4564a23a5c28e9b95411652021a8675ebe
+SIZE (rust/crates/libz-sys-1.0.25.tar.gz) = 650151
+SHA256 (rust/crates/log-0.4.6.tar.gz) = c84ec4b527950aa83a329754b01dbe3f58361d1c5efacd1f6d68c494d08a17c6
+SIZE (rust/crates/log-0.4.6.tar.gz) = 22303
+SHA256 (rust/crates/matches-0.1.6.tar.gz) = 100aabe6b8ff4e4a7e32c1c13523379802df0772b82466207ac25b013f193376
+SIZE (rust/crates/matches-0.1.6.tar.gz) = 1916
+SHA256 (rust/crates/memchr-2.0.1.tar.gz) = 796fba70e76612589ed2ce7f45282f5af869e0fdd7cc6199fa1aa1f1d591ba9d
+SIZE (rust/crates/memchr-2.0.1.tar.gz) = 9858
+SHA256 (rust/crates/num-0.1.42.tar.gz) = 4703ad64153382334aa8db57c637364c322d3372e097840c72000dabdcf6156e
+SIZE (rust/crates/num-0.1.42.tar.gz) = 8323
+SHA256 (rust/crates/num-integer-0.1.36.tar.gz) = f8d26da319fb45674985c78f1d1caf99aa4941f785d384a2ae36d0740bc3e2fe
+SIZE (rust/crates/num-integer-0.1.36.tar.gz) = 12168
+SHA256 (rust/crates/num-iter-0.1.35.tar.gz) = 4b226df12c5a59b63569dd57fafb926d91b385dfce33d8074a412411b689d593
+SIZE (rust/crates/num-iter-0.1.35.tar.gz) = 9013
+SHA256 (rust/crates/num-traits-0.2.0.tar.gz) = e7de20f146db9d920c45ee8ed8f71681fd9ade71909b48c3acbd766aa504cf10
+SIZE (rust/crates/num-traits-0.2.0.tar.gz) = 29853
+SHA256 (rust/crates/percent-encoding-1.0.1.tar.gz) = 31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831
+SIZE (rust/crates/percent-encoding-1.0.1.tar.gz) = 10057
+SHA256 (rust/crates/pkg-config-0.3.9.tar.gz) = 3a8b4c6b8165cd1a1cd4b9b120978131389f64bdaf456435caa41e630edba903
+SIZE (rust/crates/pkg-config-0.3.9.tar.gz) = 11055
+SHA256 (rust/crates/quote-0.3.15.tar.gz) = 7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a
+SIZE (rust/crates/quote-0.3.15.tar.gz) = 12041
+SHA256 (rust/crates/rand-0.4.2.tar.gz) = eba5f8cb59cc50ed56be8880a5c7b496bfd9bd26394e176bc67884094145c2c5
+SIZE (rust/crates/rand-0.4.2.tar.gz) = 76170
+SHA256 (rust/crates/redox_syscall-0.1.37.tar.gz) = 0d92eecebad22b767915e4d529f89f28ee96dbbf5a4810d2b844373f136417fd
+SIZE (rust/crates/redox_syscall-0.1.37.tar.gz) = 13980
+SHA256 (rust/crates/redox_termios-0.1.1.tar.gz) = 7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76
+SIZE (rust/crates/redox_termios-0.1.1.tar.gz) = 3227
+SHA256 (rust/crates/remove_dir_all-0.3.0.tar.gz) = b5d2f806b0fcdabd98acd380dc8daef485e22bcb7cddc811d1337967f2528cf5
+SIZE (rust/crates/remove_dir_all-0.3.0.tar.gz) = 8579
+SHA256 (rust/crates/rustc-demangle-0.1.5.tar.gz) = aee45432acc62f7b9a108cc054142dac51f979e69e71ddce7d6fc7adf29e817e
+SIZE (rust/crates/rustc-demangle-0.1.5.tar.gz) = 10099
+SHA256 (rust/crates/slog-2.1.1.tar.gz) = 0a6b13b17f4225771f7f15cece704a4e68d3a5f31278ed26367f497133398a18
+SIZE (rust/crates/slog-2.1.1.tar.gz) = 38752
+SHA256 (rust/crates/slog-async-2.2.0.tar.gz) = 5e319a30c08b004618d5f7ca2f2b1dad7b4623ba7fcb1a12846fc3b01e9eaa10
+SIZE (rust/crates/slog-async-2.2.0.tar.gz) = 12956
+SHA256 (rust/crates/slog-term-2.3.0.tar.gz) = 5bb5d9360b2b279b326824b3b4ca2402ead8a8138f0e5ec1900605c861bb6671
+SIZE (rust/crates/slog-term-2.3.0.tar.gz) = 17179
+SHA256 (rust/crates/strsim-0.7.0.tar.gz) = bb4f380125926a99e52bc279241539c018323fab05ad6368b56f93d9369ff550
+SIZE (rust/crates/strsim-0.7.0.tar.gz) = 8435
+SHA256 (rust/crates/syn-0.11.11.tar.gz) = d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b441dad
+SIZE (rust/crates/syn-0.11.11.tar.gz) = 63309
+SHA256 (rust/crates/synom-0.11.3.tar.gz) = a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b51945b6
+SIZE (rust/crates/synom-0.11.3.tar.gz) = 17120
+SHA256 (rust/crates/synstructure-0.6.1.tar.gz) = 3a761d12e6d8dcb4dcf952a7a89b475e3a9d69e4a69307e01a470977642914bd
+SIZE (rust/crates/synstructure-0.6.1.tar.gz) = 11257
+SHA256 (rust/crates/take_mut-0.2.0.tar.gz) = 50b910a1174df4aeb5738e8a0e7253883cf7801de40d094175a5a557e487f4c5
+SIZE (rust/crates/take_mut-0.2.0.tar.gz) = 4246
+SHA256 (rust/crates/tempdir-0.3.6.tar.gz) = f73eebdb68c14bcb24aef74ea96079830e7fa7b31a6106e42ea7ee887c1e134e
+SIZE (rust/crates/tempdir-0.3.6.tar.gz) = 11368
+SHA256 (rust/crates/term-0.4.6.tar.gz) = fa63644f74ce96fbeb9b794f66aff2a52d601cbd5e80f4b97123e3899f4570f1
+SIZE (rust/crates/term-0.4.6.tar.gz) = 38250
+SHA256 (rust/crates/termion-1.5.1.tar.gz) = 689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76e92096
+SIZE (rust/crates/termion-1.5.1.tar.gz) = 20659
+SHA256 (rust/crates/textwrap-0.9.0.tar.gz) = c0b59b6b4b44d867f1370ef1bd91bfb262bf07bf0ae65c202ea2fbc16153b693
+SIZE (rust/crates/textwrap-0.9.0.tar.gz) = 15795
+SHA256 (rust/crates/thread_local-0.3.5.tar.gz) = 279ef31c19ededf577bfd12dfae728040a21f635b06a24cd670ff510edd38963
+SIZE (rust/crates/thread_local-0.3.5.tar.gz) = 11794
+SHA256 (rust/crates/time-0.1.39.tar.gz) = a15375f1df02096fb3317256ce2cee6a1f42fc84ea5ad5fc8c421cfe40c73098
+SIZE (rust/crates/time-0.1.39.tar.gz) = 29295
+SHA256 (rust/crates/unicode-bidi-0.3.4.tar.gz) = 49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5
+SIZE (rust/crates/unicode-bidi-0.3.4.tar.gz) = 32228
+SHA256 (rust/crates/unicode-normalization-0.1.5.tar.gz) = 51ccda9ef9efa3f7ef5d91e8f9b83bbe6955f9bf86aec89d5cce2c874625920f
+SIZE (rust/crates/unicode-normalization-0.1.5.tar.gz) = 290328
+SHA256 (rust/crates/unicode-width-0.1.4.tar.gz) = bf3a113775714a22dcb774d8ea3655c53a32debae63a063acc00a91cc586245f
+SIZE (rust/crates/unicode-width-0.1.4.tar.gz) = 15283
+SHA256 (rust/crates/unicode-xid-0.0.4.tar.gz) = 8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc
+SIZE (rust/crates/unicode-xid-0.0.4.tar.gz) = 16034
+SHA256 (rust/crates/unreachable-1.0.0.tar.gz) = 382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56
+SIZE (rust/crates/unreachable-1.0.0.tar.gz) = 6355
+SHA256 (rust/crates/url-1.6.0.tar.gz) = fa35e768d4daf1d85733418a49fb42e10d7f633e394fccab4ab7aba897053fe2
+SIZE (rust/crates/url-1.6.0.tar.gz) = 72377
+SHA256 (rust/crates/vcpkg-0.2.2.tar.gz) = 9e0a7d8bed3178a8fb112199d466eeca9ed09a14ba8ad67718179b4fd5487d0b
+SIZE (rust/crates/vcpkg-0.2.2.tar.gz) = 5870
+SHA256 (rust/crates/vec_map-0.8.0.tar.gz) = 887b5b631c2ad01628bbbaa7dd4c869f80d3186688f8d0b6f58774fbe324988c
+SIZE (rust/crates/vec_map-0.8.0.tar.gz) = 13742
+SHA256 (rust/crates/void-1.0.2.tar.gz) = 6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d
+SIZE (rust/crates/void-1.0.2.tar.gz) = 2356
+SHA256 (rust/crates/winapi-0.2.8.tar.gz) = 167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a
+SIZE (rust/crates/winapi-0.2.8.tar.gz) = 455145
+SHA256 (rust/crates/winapi-0.3.4.tar.gz) = 04e3bd221fcbe8a271359c04f21a76db7d0c6028862d1bb5512d85e1e2eb5bb3
+SIZE (rust/crates/winapi-0.3.4.tar.gz) = 905247
+SHA256 (rust/crates/winapi-build-0.1.1.tar.gz) = 2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc
+SIZE (rust/crates/winapi-build-0.1.1.tar.gz) = 669
+SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.tar.gz) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6
+SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.tar.gz) = 2918815
+SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.tar.gz) = 712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f
+SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.tar.gz) = 2947998
+SHA256 (tummychow-git-absorb-0.3.0_GH0.tar.gz) = 94d540a7febd37cd74e95e7cab71ee3514df020989208ce3fe83560699072730
+SIZE (tummychow-git-absorb-0.3.0_GH0.tar.gz) = 15726

Added: head/devel/git-absorb/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/git-absorb/pkg-descr	Sat Feb  9 09:20:26 2019	(r492487)
@@ -0,0 +1,9 @@
+This is a port of the hg absorb plugin to git.
+
+git absorb will automatically identify which commits are safe to modify,
+and which indexed changes belong to each of those commits. It will then
+write fixup! commits for each of those changes. You can check its output
+manually if you don't trust it, and then fold the fixups into your
+feature branch with git's built-in autosquash functionality.
+
+WWW: https://github.com/tummychow/git-absorb



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201902090920.x199KQYd013789>