[sword-devel] Using Git for Sword development?
Tobias Klein
contact at tklein.info
Sun Feb 9 00:13:01 MST 2020
Hi,
I understand the reasoning about easily managing commit permissions.
A way to achieve that flexibility with git (and the typical functions in
web-based Git repo browsers) is the following:
- Put the more highly protected parts of the source tree in separate Git
repositories and link them in the master repo as "sub modules" (see
https://git-scm.com/book/en/v2/Git-Tools-Submodules). You can still
clone the whole source tree easily using "git clone --recurse-submodules".
- Only give people developer access to the master repo, but not the
"protected" sub modules.
- Generally: Protect the master branch(es) (then all contributions are
subject of review / merge request) and only give selected people
maintainer rights (the right to merge or push to master).
This is how we do it at work. It works well! :)
Best regards,
Tobias
On 2/9/20 5:08 AM, Greg Hellings wrote:
>
>
> On Sat, Feb 8, 2020 at 1:49 PM Tobias Klein <contact at tklein.info
> <mailto:contact at tklein.info>> wrote:
>
> Hi,
>
> Have you guys been thinking about migrating the Sword sources to Git?
>
>
> We have this discussion every year.
>
> I think this would be an enabler for better collaboration,
> considering
> the merge capabilities of Git and for example the nice merge/pull
> request based review functionalities in GitLab (or GitHub).
>
>
> Every time, this gets lots of people voting "yes"!
>
> Every time the short answer is the same:
> Troy doesn't want it moved. So it is not going to get moved.
>
> The longer answer also remains the same:
> Git has no simple method, in a similar vein to SVN, to allow Troy to
> easily manage commit rights to particular portions of the repository.
> He wants to keep tight control over who can commit where (e.g. I can
> commit anywhere under the "bindings" or "cmake" directories or to any
> file named "CMakeLists.txt", but nowhere else in the repo) and does
> not believe the code review process in git front-ends is sufficient
> for this. Writing a git hook to ensure this is not difficult, but also
> not completely trivial. In SVN it's a very simple matter. It's not a
> lack of familiarity with git (Troy develops Bishop within a git
> repository and seems a relatively intelligent software developer
> overall). It's literally this one missing feature, at least that's the
> one impediment he's spoken about in the past.
>
> So:
> * Would git greatly increase the ability of people to contribute to
> Sword? Yes
> * Would Troy host Sword's canonical repository somewhere like Github?
> Probably not
> * Is Sword going to move to git without, at the very least, a solution
> to this directory write problem? Nope
> * Is that problem surmountable? Yes, but no one has stepped up and
> implemented it in a githook, and SVN is working fine in Troy's view to
> not encourage him to write it himself.
>
> --Greg
>
>
> Best regards,
> Tobias
>
>
> _______________________________________________
> sword-devel mailing list: sword-devel at crosswire.org
> <mailto:sword-devel at crosswire.org>
> http://www.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://www.crosswire.org/mailman/listinfo/sword-devel
> Instructions to unsubscribe/change your settings at above page
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.crosswire.org/pipermail/sword-devel/attachments/20200209/f920a130/attachment.html>
More information about the sword-devel
mailing list