about summary refs log tree commit diff
path: root/pkgs/by-name/re/revup/package.nix
blob: 4fb1e309b20153b8447102ca9d7c487055df1c83 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
{
  lib,
  fetchPypi,
  gitUpdater,
  python3Packages,
  testers,
}:

let
  self = python3Packages.buildPythonApplication {
    pname = "revup";
    version = "0.3.0";
    pyproject = true;

    src = fetchPypi {
      inherit (self) pname version;
      hash = "sha256-LrSRcnWc4AvWbpSrOLprs+rVM0sR1joLat3g9og6BwE=";
    };

    nativeBuildInputs = with python3Packages; [
      pip
      setuptools
      wheel
    ];

    propagatedBuildInputs = with python3Packages; [
      aiohttp
      aiosignal
      async-lru
      async-timeout
      charset-normalizer
      multidict
      requests
      rich
      yarl
    ];

    nativeCheckInputs = with python3Packages; [
      pytest
    ];

    passthru = {
      updateScript = gitUpdater { };
      tests.version = testers.testVersion {
        package = self;
      };
    };

    meta = {
      homepage = "https://github.com/Skydio/revup";
      description = "Efficient git workflow and code review toolkit";
      longDescription = ''
        Revup provides command-line tools that allow developers to iterate
        faster on parallel changes and reduce the overhead of creating and
        maintaining code reviews.

        Features:

        - Revup creates multiple independent chains of branches for you in the
          background and without touching your working tree. It then creates and
          manages github pull requests for all those branches.
        - Pull requests target the actual base branch and can be merged manually
          or by continuous integration
        - Rebase detection saves time and continuous integration cost by not
          re-pushing if the patch hasn't changed
        - Adds reviewers, labels, and creates drafts all from the commit text
        - Adds auto-updating "review graph" and "patchsets" elements to make
          pull requests easier to navigate
        - revup amend and revup restack save time by replacing slow rebases
      '';
      license = lib.licenses.mit;
      mainProgram = "revup";
      maintainers = with lib.maintainers; [ AndersonTorres ];
    };
  };
in
self