Hi,
we tried to map some SVN tags into Git branches in an already existing SubGit managed repository.
We have the following structure, dating all the way back to 2014 but we are only interested in the most recent ones:
<SVN-ROOT>/tags/nightly-build/2015-09/01-0000/*/
See screenshot for illustration:
We first tried to exclude all the old branches we are not interested in by using the following config:
excludeBranches = tags/nightly-build/2014*
excludeBranches = tags/nightly-build/2015*
excludeBranches = tags/nightly-build/2016*
excludeBranches = tags/nightly-build/2017*
excludeBranches = tags/nightly-build/2018*
excludeBranches = tags/nightly-build/2019*
excludeBranches = tags/nightly-build/2020*
excludeBranches = tags/nightly-build/2021*
excludeBranches = tags/nightly-build/2022-0*
excludeBranches = tags/nightly-build/2022-10
which unfortunately did not work. The SubGit install log still showed that it tried to retrieve content from the excluded paths.
We also tried excludeTags, which according to the documentation should do the same, but also did not work.
As there are over 3000 such tags folders, we don’t want to specify them all explicitly
After that, we tried defining only the parts we are interested by using the following mapping. As you can see we are also interested in the ones that will be created in the future, as long as we are using SubGit for our migration process.
branches = tags/nightly-build/2022-11/*/product:refs/heads/nightlies/2022-11/*
branches = tags/nightly-build/2022-12/*/product:refs/heads/nightlies/2022-12/*
branches = tags/nightly-build/2023*/*/product:refs/heads/nightlies/2023*/*
This unfortunately also does not work as the SubGit install log shows a lot of unrelated paths and weirdly enough, shows them multiple times.
[2022-11-18 14:02:53.244][subgit-install][1] Checking path "tags/nightly-build/2020-11/26-0331/XXX/XXXX/XXXXXXXXXXXXXXXXXXXXXXXX/XXXXXXX" for changes related to the layout
[2022-11-18 14:02:53.244][subgit-install][1] The changes are unrelated
[2022-11-18 14:02:53.244][subgit-install][1] Checking path "tags/nightly-build/2020-11/26-0331/XXXX/XXXX/XXXXXXXXXXXXXXXXXXXXXXXXXXXXX/XXXXXXX" for changes within layout
[2022-11-18 14:02:53.244][subgit-install][1] It is not inside the layout
[2022-11-18 14:02:53.244][subgit-install][1] Checking path "tags/nightly-build/2020-11/26-0331/XXXX/XXXX/XXXXXXXXXXXXXXXXXXXXXXXXXXXXX/XXXXXXX" for changes related to the layout
[2022-11-18 14:02:53.244][subgit-install][1] The changes are unrelated
[2022-11-18 14:02:53.244][subgit-install][1] Checking path "tags/nightly-build/2020-11/26-0331/XXX/XXXXX/XXXXXXXXXXXXXXXXXXXX/XXXXXXXX/XXXXXXXXXXX" for changes within layout
[2022-11-18 14:02:53.244][subgit-install][1] It is not inside the layout
[2022-11-18 14:02:53.244][subgit-install][1] Checking path "tags/nightly-build/2020-11/26-0331/XXX/XXXXX/XXXXXXXXXXXXXXXXXXXX/XXXXXXXX/XXXXXXXXXXX" for changes related to the layout
And this goes on for quite a while, which is not what I would expect, as the path (…2020-11/…) is not matching the branch mapping that is configured
We have two mappings with a wildcard, which work without any issues, so it’s a little bit perplexing why it does not work also in this case:
branches = branches/product/*/product:refs/heads/releases/*
branches = branches/features/XXX/*/product:refs/heads/features/*
Additionally there are the following unrelated logs, which also shows duplicates, which is kind of odd:
[2022-11-18 13:17:00.665][subgit-install][1] svn: E160013: '/svn/xxx/branches/features/xxx/YYY-3843' path not found: 404 Not Found (DOMAIN)
[2022-11-18 13:17:01.604][subgit-install][1] svn: E160013: '/svn/xxx/branches/features/xxx/YYY-3845' path not found: 404 Not Found (DOMAIN)
[2022-11-18 13:17:02.184][subgit-install][1] svn: E160013: '/svn/xxx/branches/features/xxx/YYY-2039' path not found: 404 Not Found (DOMAIN)
[2022-11-18 13:17:02.941][subgit-install][1] svn: E160013: '/svn/xxx/branches/features/xxx/YYY-2790' path not found: 404 Not Found (DOMAIN)
[2022-11-18 13:17:03.527][subgit-install][1] svn: E160013: '/svn/xxx/branches/features/xxx/testIfIntegrationTestsWork' path not found: 404 Not Found (DOMAIN)
[2022-11-18 13:17:03.749][subgit-install][1] svn: E160013: '/svn/xxx/branches/features/xxx/YYY-3719' path not found: 404 Not Found (DOMAIN)
[2022-11-18 13:17:04.683][subgit-install][1] svn: E160013: '/svn/xxx/branches/features/xxx/YYY-1895' path not found: 404 Not Found (DOMAIN)
[2022-11-18 13:17:05.260][subgit-install][1] svn: E160013: '/svn/xxx/branches/features/xxx/YYY-1453' path not found: 404 Not Found (DOMAIN)
[2022-11-18 13:17:05.660][subgit-install][1] svn: E160013: '/svn/xxx/branches/features/xxx/YYY2841' path not found: 404 Not Found (DOMAIN)
[2022-11-18 13:17:06.066][subgit-install][1] svn: E160013: '/svn/xxx/branches/features/xxx/YYY-1297' path not found: 404 Not Found (DOMAIN)
[2022-11-18 13:17:06.819][subgit-install][1] svn: E160013: '/svn/xxx/branches/features/xxx/YYY-3390' path not found: 404 Not Found (DOMAIN)
[2022-11-18 13:17:08.647][subgit-install][1] svn: E160013: '/svn/xxx/branches/features/xxx/YYY-3789' path not found: 404 Not Found (DOMAIN)
[2022-11-18 13:17:09.941][subgit-install][1] svn: E160013: '/svn/xxx/branches/features/xxx/YYY-3421' path not found: 404 Not Found (DOMAIN)
[2022-11-18 13:17:10.524][subgit-install][1] svn: E160013: '/svn/xxx/branches/features/xxx/YYY-2050' path not found: 404 Not Found (DOMAIN)
[2022-11-18 13:17:12.715][subgit-install][1] svn: E160013: '/svn/xxx/branches/features/xxx/YYY-2841' path not found: 404 Not Found (DOMAIN)
[2022-11-18 13:17:12.938][subgit-install][1] svn: E160013: '/svn/xxx/branches/features/xxx/YYY-2323' path not found: 404 Not Found (DOMAIN)
[2022-11-18 13:17:13.520][subgit-install][1] svn: E160013: '/svn/xxx/branches/features/xxx/YYY-2641' path not found: 404 Not Found (DOMAIN)
[2022-11-18 13:17:14.633][subgit-install][1] svn: E160013: '/svn/xxx/branches/features/xxx/YYY-3108' path not found: 404 Not Found (DOMAIN)
[2022-11-18 13:17:21.402][subgit-install][1] svn: E160013: '/svn/xxx/branches/features/xxx/YYY-3843' path not found: 404 Not Found (DOMAIN)
[2022-11-18 13:17:22.339][subgit-install][1] svn: E160013: '/svn/xxx/branches/features/xxx/YYY-3845' path not found: 404 Not Found (DOMAIN)
[2022-11-18 13:17:22.920][subgit-install][1] svn: E160013: '/svn/xxx/branches/features/xxx/YYY-2039' path not found: 404 Not Found (DOMAIN)
[2022-11-18 13:17:23.676][subgit-install][1] svn: E160013: '/svn/xxx/branches/features/xxx/YYY-2790' path not found: 404 Not Found (DOMAIN)
[2022-11-18 13:17:24.254][subgit-install][1] svn: E160013: '/svn/xxx/branches/features/xxx/testIfIntegrationTestsWork' path not found: 404 Not Found (DOMAIN)
[2022-11-18 13:17:24.478][subgit-install][1] svn: E160013: '/svn/xxx/branches/features/xxx/YYY-3719' path not found: 404 Not Found (DOMAIN)
[2022-11-18 13:17:25.416][subgit-install][1] svn: E160013: '/svn/xxx/branches/features/xxx/YYY-1895' path not found: 404 Not Found (DOMAIN)
[2022-11-18 13:17:25.991][subgit-install][1] svn: E160013: '/svn/xxx/branches/features/xxx/YYY-1453' path not found: 404 Not Found (DOMAIN)
[2022-11-18 13:17:26.392][subgit-install][1] svn: E160013: '/svn/xxx/branches/features/xxx/YYY2841' path not found: 404 Not Found (DOMAIN)
[2022-11-18 13:17:26.789][subgit-install][1] svn: E160013: '/svn/xxx/branches/features/xxx/YYY-1297' path not found: 404 Not Found (DOMAIN)
[2022-11-18 13:17:27.542][subgit-install][1] svn: E160013: '/svn/xxx/branches/features/xxx/YYY-3390' path not found: 404 Not Found (DOMAIN)
- Are we using this feature incorrectly?
- Is this an expected behavior, that even though paths are excluded, SubGit still somehow needs to process everything?
- Would it work if we would define explicit exclusions without wildcards?
Thank you in advance