[sword-devel] CrossWire and git

Troy A. Griffitts scribe at crosswire.org
Fri Mar 17 15:09:03 EDT 2023


I don't want this to turn into a debate.

I agree, we need to move source control to git.

I even mostly agree we should do most of our dev work on github for the 
visibility to draw other developers.

To move forward with this:

1) I would actually need access to the github 'crosswire' organization, 
which I currently don't have.

2) I am happy to migrate our 27 repos there (yes, I was also surprised 
we have 27, but even these old ones would be nice to have on github for 
posterity).
3) After #2, I would love for Github experts to help me find a solution 
that effectively grant elevated access to individuals for merging PRs 
into our master repository without my approval FOR CERTAIN PARTS OF THE 
REPO they own or are trusted to approve.

This #3 item had been the primary element holding us back from moving 
from SVN to git.  If you are unaware, SVN has a very easy way to elevate 
permissions for accounts for parts of the repository.  I don't want to 
have to approve all changes!  I trust our pumpkin holders to care for 
their parts of the repository.

We've discussed, in the past, submodules for handle this, but they do 
not handle this well.  e.g., I want to grant Greg Hellings full write 
access to merge any PR which updates any of our cmake scripts in all 
folders everywhere.  I don't know anything about cmake and Greg is an 
expert.  I want him to be able to manage that build system without my 
oversight.  I trust him.  I do not want to grant Greg merge access for 
code that has anything to do with our C++ engine.  He might be a great 
C++ programmer, but he hasn't expressed he wants that access or ever 
submitted C++ code for me to review and merge myself, so I want to 
protect Greg from accidentally merging in someone's PR which includes 
C++ engine code.

In SVN this is easy.  Attached is our SVN access file.  Help me 
translate this workflow to Github.  There must be some way to restrict 
merges based on the merging user and files modified in the PR.  Or at 
least require a review by certain users bases on the files modified in 
the PR.

Help me :)

Troy


On 3/17/23 11:24, Greg Hellings wrote:
> Indeed. It's not a principled stand that I'm refusing to get 
> Subversion going. It's simply that it's too much work that I haven't 
> bothered and don't foresee doing so anytime soon.
>
> And, with no setup to automatically test the scripts in all the 
> environments they must support, it's not likely others are willing to 
> commit this on my behalf.
>
> --Greg
>
> On Sun, Mar 12, 2023, 09:42 Peter von Kaehne <refdoc at gmx.net> wrote:
>
>     I think you misunderstood Greg.
>
>     There is a long campaign and strong feeling to have the project on
>     Git but there is no agreement or movement to that. And it seems
>     Greg is pausing his contributions until that matter is resolved.
>
>     Peter
>
>     Sent from my phone. Please forgive misspellings and weird
>     “corrections”
>
>>     On 12 Mar 2023, at 15:51, ZdPo Ster <zdposter at gmail.com> wrote:
>>
>>     
>>     I am sorry, but I did not get the point of your reply.
>>     I do not use subversion - I use git-svn as proposed several
>>     months ago on this forum. But current cmake configuration expects
>>     everybody to use subversion, which is wrong.
>>     These patches improve cmake build:
>>
>>       *  that will work also with git-svn
>>       * MSVC build
>>       * fix depreciated
>>
>>     AFAIK it should cause no harm for other combinations, just
>>     improve current state.
>>
>>     Zdenko
>>
>>     On Thu, 9 Mar 2023 at 23:18, Greg Hellings
>>     <greg.hellings at gmail.com> wrote:
>>
>>         I've never bothered to get Subversion setup on my local
>>         machine. Remembering the setup, plus my credentials, and how
>>         to use it is more labor than I've been willing to spend on
>>         this effort. If, in the future, I overcome that inertia then
>>         I'll happily test and apply this patch.
>>
>>         --Greg
>>
>>         On Sat, Feb 25, 2023 at 5:34 AM ZdPo Ster
>>         <zdposter at gmail.com> wrote:
>>
>>             Any update on this (after 3.5 months)?
>>
>>             Zdenko
>>
>>             On Sat, 26 Nov 2022 at 21:53, Greg Hellings
>>             <greg.hellings at gmail.com> wrote:
>>
>>                 Thanks. I am not privy to the patches email inbox, so
>>                 this mailing list is the way to reach me for CMake
>>                 things. I'll review these when I have the opportunity.
>>
>>                 --Greg
>>
>>                 On Sat, Nov 26, 2022, 13:46 Peter von Kaehne
>>                 <refdoc at gmx.net> wrote:
>>
>>
>>>                     How to suggest improvements to the sword project?
>>
>>
>>                     You did it the right way. It just is a bit on/off
>>                     as a project. GHellings is the cmake pumpkin
>>                     holder as far as I know. I bcc him on a different
>>                     email address.
>>
>>                     Peter
>>
>>
>>>
>>>                     BR,
>>>
>>>                     Zdenko
>>>
>>>                     ---------- Forwarded message ---------
>>>                     From: *ZdPo Ster* <zdposter at gmail.com>
>>>                     Date: Sun, 6 Nov 2022 at 22:22
>>>                     Subject: cmake patches
>>>                     To: <patches at crosswire.org>
>>>
>>>
>>>                     Hello,
>>>
>>>                     please find 3 few patches related to cmake build
>>>                     (tested on windows with MSVC 2019):
>>>
>>>                      1. cmake_fix_deprecation.patch - cmake version
>>>                         3.23.2 produce depreciation warning for old
>>>                         minimum version, co IMO it is time to
>>>                         increase expected cmake version
>>>                      2. cmake_fix_msvc.patch - there is no "/O3"
>>>                         options in current MSVC[1]
>>>                      3. cmake_git_svn.patch - I use git svn for
>>>                         accessing code, but cmake produce error
>>>                         because of missing svn executable. He is
>>>                         patch that fixed it + code for detecting svn
>>>                         revision (MYSVN_WC_REVISION) from git
>>>
>>>                     [1]
>>>                     https://learn.microsoft.com/en-us/cpp/build/reference/o-options-optimize-code?view=msvc-160
>>>
>>>                     Zdenko
>>>                     _______________________________________________
>>>                     sword-devel mailing list: sword-devel at crosswire.org
>>>                     http://crosswire.org/mailman/listinfo/sword-devel
>>>                     Instructions to unsubscribe/change your settings
>>>                     at above page
>>
>>                 _______________________________________________
>>                 sword-devel mailing list: sword-devel at crosswire.org
>>                 http://crosswire.org/mailman/listinfo/sword-devel
>>                 Instructions to unsubscribe/change your settings at
>>                 above page
>>
>>             _______________________________________________
>>             sword-devel mailing list: sword-devel at crosswire.org
>>             http://crosswire.org/mailman/listinfo/sword-devel
>>             Instructions to unsubscribe/change your settings at above
>>             page
>>
>>         _______________________________________________
>>         sword-devel mailing list: sword-devel at crosswire.org
>>         http://crosswire.org/mailman/listinfo/sword-devel
>>         Instructions to unsubscribe/change your settings at above page
>>
>>     _______________________________________________
>>     sword-devel mailing list: sword-devel at crosswire.org
>>     http://crosswire.org/mailman/listinfo/sword-devel
>>     Instructions to unsubscribe/change your settings at above page
>     _______________________________________________
>     sword-devel mailing list: sword-devel at crosswire.org
>     http://crosswire.org/mailman/listinfo/sword-devel
>     Instructions to unsubscribe/change your settings at above page
>
>
> _______________________________________________
> sword-devel mailing list:sword-devel at crosswire.org
> http://crosswire.org/mailman/listinfo/sword-devel
> Instructions to unsubscribe/change your settings at above page
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://crosswire.org/pipermail/sword-devel/attachments/20230317/4450511f/attachment-0001.htm>
-------------- next part --------------
[groups]
sword-prelim=greg.hellings,refdoc,dmsmith,lefticus,sterling,benpmorgan,mdbergmann,trampster,domcox
icu-sword=dtrotzjr
sword-cmake=refdoc,greg.hellings
sword-make=refdoc,greg.hellings
sword-release=greg.hellings

[/]
*=r

[sword:/]
chrislit=rw
dglassey=rw
jansorg=rw
tbiggs=rw
willthimbleby=rw
mgruner=rw
charcoal=rw
scribe=rw

[sword:/trunk/man]
refdoc=rw

[sword:/trunk/src/modules/filters]
refdoc=rw

[sword:/trunk/include/Makefile.am]
refdoc=rw
[sword:/trunk/include/teilatex.h]
refdoc=rw
[sword:/trunk/include/osislatex.h]
refdoc=rw
[sword:/trunk/include/gbflatex.h]
refdoc=rw
[sword:/trunk/include/thmllatex.h]
refdoc=rw
[sword:/trunk/src/mgr/markupfiltmgr.cpp]
refdoc=rw


[sword:/trunk/locales.d]
@sword-prelim=rw

[sword:/trunk/bindings]
@sword-prelim=rw

[sword:/trunk/examples]
@sword-prelim=rw

[sword:/trunk/utilities]
@sword-prelim=rw

[sword:/trunk/tests]
@sword-prelim=rw

[sword:/trunk/scripts]
@sword-prelim=rw

[sword:/trunk/ChangeLog]
@sword-prelim=rw

[sword:/trunk/lib/vcppmake]
@sword-prelim=rw

[sword:/trunk/cmake]
@sword-cmake=rw
[sword:/trunk/examples/cmdline/CMakeLists.txt]
@sword-cmake=rw
[sword:/trunk/utilities/CMakeLists.txt]
@sword-cmake=rw
[sword:/trunk/tests/testsuite/CMakeLists.txt]
@sword-cmake=rw
[sword:/trunk/tests/CMakeLists.txt]
@sword-cmake=rw
[sword:/trunk/CMakeLists.txt]
@sword-cmake=rw

[sword:/branches]
@sword-release=rw
[sword:/tags]
@sword-release=rw


[sword:/Makefile.am]
@sword-make=rw
[sword:/configure.ac]
@sword-make=rw
[sword:/m4]
@sword-make=rw
[sword:/include/Makefile.am]
@sword-make=rw
[sword:/doc/Makefile.am]
@sword-make=rw
[sword:/usrinst.sh]
@sword-make=rw
[sword:/bindings/usrinst.sh]
@sword-make=rw
[sword:/tests/bcppmake/Makefile.am]
@sword-make=rw
[sword:/tests/cppunit/Makefile.am]
@sword-make=rw
[sword:/tests/Makefile.am]
@sword-make=rw
[sword:/tests/tmp/Makefile.am]
@sword-make=rw
[sword:/tests/testsuite/Makefile.am]
@sword-make=rw
[sword:/examples/tasks/Makefile.am]
@sword-make=rw
[sword:/examples/cmdline/Makefile.am]
@sword-make=rw
[sword:/examples/Makefile.am]
@sword-make=rw
[sword:/lib/Makefile.am]
@sword-make=rw
[sword:/samples/Makefile.am]
@sword-make=rw
[sword:/utilities/bcppmake/Makefile.am]
@sword-make=rw
[sword:/utilities/perl/Makefile.am]
@sword-make=rw
[sword:/utilities/diatheke/Makefile.am]
@sword-make=rw
[sword:/utilities/diatheke/cgi/Makefile.am]
@sword-make=rw
[sword:/utilities/Makefile.am]
@sword-make=rw
[sword:/utilities/kylixmake/Makefile.am]
@sword-make=rw
[sword:/src/frontend/Makefile.am]
@sword-make=rw
[sword:/src/utilfuns/Makefile.am]
@sword-make=rw
[sword:/src/modules/texts/rawtext/Makefile.am]
@sword-make=rw
[sword:/src/modules/texts/ztext4/Makefile.am]
@sword-make=rw
[sword:/src/modules/texts/Makefile.am]
@sword-make=rw
[sword:/src/modules/texts/ztext/Makefile.am]
@sword-make=rw
[sword:/src/modules/texts/rawtext4/Makefile.am]
@sword-make=rw
[sword:/src/modules/comments/rawcom4/Makefile.am]
@sword-make=rw
[sword:/src/modules/comments/zcom4/Makefile.am]
@sword-make=rw
[sword:/src/modules/comments/rawcom/Makefile.am]
@sword-make=rw
[sword:/src/modules/comments/hrefcom/Makefile.am]
@sword-make=rw
[sword:/src/modules/comments/rawfiles/Makefile.am]
@sword-make=rw
[sword:/src/modules/comments/zcom/Makefile.am]
@sword-make=rw
[sword:/src/modules/comments/Makefile.am]
@sword-make=rw
[sword:/src/modules/filters/Makefile.am]
@sword-make=rw
[sword:/src/modules/common/Makefile.am]
@sword-make=rw
[sword:/src/modules/Makefile.am]
@sword-make=rw
[sword:/src/modules/lexdict/rawld/Makefile.am]
@sword-make=rw
[sword:/src/modules/lexdict/zld/Makefile.am]
@sword-make=rw
[sword:/src/modules/lexdict/Makefile.am]
@sword-make=rw
[sword:/src/modules/lexdict/rawld4/Makefile.am]
@sword-make=rw
[sword:/src/modules/genbook/rawgenbook/Makefile.am]
@sword-make=rw
[sword:/src/modules/genbook/Makefile.am]
@sword-make=rw
[sword:/src/keys/Makefile.am]
@sword-make=rw
[sword:/src/mgr/Makefile.am]
@sword-make=rw
[sword:/bindings/bcppmake/Makefile.am]
@sword-make=rw
[sword:/bindings/swig/package/Makefile.am]
@sword-make=rw
[sword:/bindings/swig/oldmake/Makefile.am]
@sword-make=rw
[sword:/bindings/corba/orbitcpp/Makefile.am]
@sword-make=rw
[sword:/bindings/gsoap/Makefile.am]
@sword-make=rw
[sword:/locales.d/Makefile.am]
@sword-make=rw
[sword:/bindings/swig/package/configure.ac]
@sword-make=rw



[flashcards:/]
*=rw

[icu-sword:/]
@icu-sword=rw
chrislit=rw
scribe=rw

[biblecs:/]
dtrotzjr=rw
scribe=rw
jansorg=rw
chrislit=rw

[sword-tools:/]
mgruner=rw
chrislit=rw
scribe=rw
lukeplant=rw
refdoc=rw
domcox=rw
greg.hellings=rw
dmsmith=rw

[sword-apidoc:/]
mgruner=rw

[swordweb:/]
jansorg=rw
scribe=rw
dglassey=rw
refdoc=rw

[ils:/]
*=
scribe=rw
heather=rw
steve=rw
chrisd=rw
dominick=rw
ils=r
asmith=r
stuart.calcote=r

[ils:/trunk/styles]
stuart.calcote=rw

[ils:/trunk/webapp/testsuite]
asmith=rw

[tyndale:/]
*=
scribe=rw
david=rw

[crosswire-java:/]
*=r
scribe=rw

[misc:/]
*=
scribe=rw

[misc:/trunk/swapbooks]
jimgriffitts=rw


[crosswire-web:/]
*=r
scribe=rw
dmsmith=rw
chrislit=rw
refdoc=rw

[jsword:/]
*=r
joe=rw
markg=rw
dmsmith=rw
mjdenham=rw
ChrisBurrell=rw

[jsword:/trunk]
refdoc=rw

[jsword:/trunk/incubator]
*=rw

[modules:/]
*=r
scribe=rw
dmsmith=rw
chrislit=rw


[biblecsinstall:/]
*=r
scribe=rw
dmsmith=rw

[swordreader:/]
scribe=rw
bdrake=rw
dtrotzjr=rw
alsites=rw
kalemas=rw

[tadoku:/]
*=
scribe=rw
rdill=rw


[labs:/]
*=r
scribe=rw


[community:/]
*=r
scribe=rw
cat=rw
anngos=rw
krueger=rw


[gobible:/]
*=r
scribe=rw
marlonluz=rw
bdrhoa=rw
geodirk=rw
dan_hinton=rw
daniel.ssq89=rw
erikb=rw

[pocketsword:/]
*=r
scribe=rw
dtrotzjr=rw
niccarter=rw


[tynstep:/]
*=r
scribe=rw
DavidIB=rw
ChrisBurrell=rw
dsholla=rw
jadams=rw
tst25=rw
ryan1234=rw

[ntmss:/]
*=r
scribe=rw
brucemorrill=rw
Rachel=rw

[ntmss:/trunk/intf]
drubschmid=rw

[ntmss-docs:/]
*=r
scribe=rw
brucemorrill=rw
Rachel=rw


[autoapps:/]
scribe=rw



More information about the sword-devel mailing list