On Sun, May 03, 2026 at 05:28:44PM +0000, klea wrote:
> Fails for me when I want to have u/OWNER/* be wild, and want that some of
> those be sha256.
First, I don't think `u/OWNER/*` is even a valid pattern; it
should be CREATOR and the `*` should be `.*`. So I'm not even
sure what you're doing, unless that was an typo in the email
only.
Second, help me understand why you would want only some to be
sha256 and not all.
Third, is there a sub-pattern that defines the sha256 repos?
You could always do this:
repo u/CREATOR/.*
...
...
... all the other rules that apply to these repos ...
...
...
repo u/CREATOR/my-special-repos/.*
option sha256 = 1
# just the one option, nothing esle
If there's no pattern that defines sha256 and it's completely ad
hoc then there's no way to do this within gitolite.conf.
You can always write your own "create" command and use that
instead. Just use the existing command, and add these lines at
the end:
diff --git i/src/commands/create w/src/commands/create
index 8565e68..cb5e589 100755
--- i/src/commands/create
+++ w/src/commands/create
@@ -27,3 +27,8 @@ _die "repo already exists or you are not authorised to create it" if $ret =~ /DE
new_wild_repo( $repo, $ENV{GL_USER}, 'create' );
gl_log( 'create', $repo, $ENV{GL_USER}, 'create' );
+
+chdir "$ENV{GL_REPO_BASE}/$repo.git" or die "huh?";
+system("git config core.repositoryformatversion 1");
+system("git config extensions.objectformat sha256");
+
Don't forget to enable the command in the rc file by
uncommenting the line within the ENABLE list.