Skip to content

Conversation

fzakaria
Copy link
Contributor

Very cool tool to make nice graph plots of Git repositories.

Who wants to try this on Nixpkgs ? :P

Here is a sample image I did on the llvm-project (took a few hours)
image

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

CC author: @erikbern

@fzakaria
Copy link
Contributor Author

I ran it locally on NixOS

> ./result/bin/git-of-theseus-analyze --help | head
usage: git-of-theseus-analyze [-h] [--cohortfm COHORTFM] [--interval INTERVAL]
                              [--ignore IGNORE] [--only ONLY]
                              [--outdir OUTDIR] [--branch BRANCH]
                              [--ignore-whitespace] [--all-filetypes]
                              [--quiet] [--procs PROCS] [--opt]
                              repo_dir

Analyze git repo

positional arguments:

@github-actions github-actions bot added 10.rebuild-darwin: 1 This PR causes 1 package to rebuild on Darwin. 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-linux: 1 This PR causes 1 package to rebuild on Linux. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. labels Mar 20, 2025
@fzakaria fzakaria requested a review from toastal March 21, 2025 04:56
@toastal
Copy link
Contributor

toastal commented Mar 21, 2025

You will want to fix-up & reword the commits here via git rebase. Interactively you can:

$ git rebase -i HEAD~2

Will open the $EDITOR. Change

pick 5294d98663 git-of-theseus: init at 961bda0
pick 84bc34afd6 Update package.nix

to

reword 5294d98663 git-of-theseus: init at 961bda0
fixup  84bc34afd6 Update package.nix

Reset the commit message title to reflect the new version @ 0-unstable-2023-02-13 instead of the hash.

$ git rebase --continue

to fixup the initial commit with the new versions.

Then remove the with lib; & rec (if possible). Use git add -p to interactively check over your changes then git commit --amend to amend the original commit. When you are ready to go git push --force-with-lease origin git-of-theseus.

Since these are just fixups based on a review, they should not pollute the Git history.

@toastal
Copy link
Contributor

toastal commented Mar 21, 2025

Also the MS GitHub pull request title here should be updated to reflect the new version as well.

@toastal
Copy link
Contributor

toastal commented Mar 21, 2025

Additionally… you don’t need marketing text in PRs about why, but this is minor.

@fzakaria fzakaria changed the title git-of-theseus: init at 961bda0 git-of-theseus: init at 0-unstable-2023-02-13 Mar 21, 2025
@fzakaria fzakaria requested a review from toastal March 21, 2025 15:54
@fzakaria
Copy link
Contributor Author

@toastal thank you for the clear instructions;

I was kind of at first like "ugh" with all the feedback but at least you were very clear on what I had to do -- so it wasn't too bad 🙏

@wegank wegank added the 12.approvals: 1 This PR was reviewed and approved by one person. label Mar 21, 2025
@awwpotato
Copy link
Contributor

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 391587


x86_64-linux

✅ 2 packages built:
  • git-of-theseus
  • git-of-theseus.dist

@awwpotato
Copy link
Contributor

awwpotato commented Mar 23, 2025

The binaries aren't inside ./result/bin, is this intended? ignore, I was being dumb

@wegank wegank added 12.approvals: 2 This PR was reviewed and approved by two persons. and removed 12.approvals: 1 This PR was reviewed and approved by one person. labels Mar 23, 2025
@fzakaria
Copy link
Contributor Author

can this merge then?

@fzakaria fzakaria requested a review from toastal July 30, 2025 15:12
@fzakaria fzakaria requested a review from awwpotato July 30, 2025 15:12
@awwpotato
Copy link
Contributor

can this merge then?

neither of us can merge this, you will have to ask on the discourse or matrix

@fzakaria
Copy link
Contributor Author

I've posted it .... let's see 🙏

@normalcea
Copy link
Contributor

normalcea commented Aug 12, 2025

issue: version does not match authorship date of commit in rev

The version attribute isn't set to the correct date (should be November 25th, 2023 and not February 13th, 2023)

diff --git a/pkgs/by-name/gi/git-of-theseus/package.nix b/pkgs/by-name/gi/git-of-theseus/package.nix
index 9dd47827bae1..9bc6f303c478 100644
--- a/pkgs/by-name/gi/git-of-theseus/package.nix
+++ b/pkgs/by-name/gi/git-of-theseus/package.nix
@@ -5,7 +5,7 @@
 }:
 python3.pkgs.buildPythonApplication {
   pname = "git-of-theseus";
-  version = "0-unstable-2023-02-13";
+  version = "0-unstable-2023-11-25";
   pyproject = true;

   src = fetchFromGitHub {

Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
@fzakaria
Copy link
Contributor Author

@normalcea thanks for catching that -- fixed.

Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-darwin: 1 This PR causes 1 package to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 10.rebuild-linux: 1 This PR causes 1 package to rebuild on Linux. 12.approvals: 2 This PR was reviewed and approved by two persons.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants