Bug 451644 - [wish] Special settings for git on module level
Summary: [wish] Special settings for git on module level
Status: REPORTED
Alias: None
Product: kdesrc-build
Classification: Developer tools
Component: general (show other bugs)
Version: unspecified
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Michael Pyne
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-03-18 08:07 UTC by Lothar
Modified: 2022-03-18 08:07 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Lothar 2022-03-18 08:07:03 UTC
Short version: I miss the possibility to give "--depth 1" as clone option

Longer version: It seems to me that you always promote to clone the full repository, even if you didn't intend to start hacking but to compile your own bleeding edge KDE stuff. I know, nowadays they always say hard disk space is cheap. but some still care. How much can be saved certainly varies from module to module. As example kauth: 25MB vs 0.5MB

Background: I like to start hacking on Kate and followed so far this guide https://kate-editor.org/build-it/. That will end up in a 70GB tree, as Christoph told me. Way too much for my taste. Most of the space is probably wasted by unnecessary debug configuration of the dependencies-only modules. But that could probably be fixed with a configuration file where every thing is build in release mode and only kate and ktexteditor in debug mode.

I'm afraid that would still be too much trouble for me, but others would benefit. Fetch and compile more than 70 modules just to hack on two parts? :-(

Some years ago, I coded already on Kate. The trick back there was to tweak CMakeLists.txt to use an older KF5 version. But shortly we had a situation where that didn't work due to modified include header.

Would be best when not always the latest KF5 version is required. But Christoph  explained to me that this would complicate the development even more. Crap!

However, here a patch for those who like to compare the size of the resulting source tree. I only fetched the mentioned kauth, for more I'm right now not in the mood.


    Clone all repositories as shallow with depth 1

    diff --git a/modules/ksb/Updater/Git.pm b/modules/ksb/Updater/Git.pm
    index 06891e3..a8db0e3 100644
    --- a/modules/ksb/Updater/Git.pm
    +++ b/modules/ksb/Updater/Git.pm
    @@ -94,7 +94,7 @@ sub _clone
        my $git_repo = shift;
        my $module = $self->module();
        my $srcdir = $module->fullpath('source');
    -    my @args = ('--', $git_repo, $srcdir);
    +    my @args = ('--depth', '1', '--', $git_repo, $srcdir);

        my $ipc = $self->{ipc} // croak_internal ('Missing IPC object');