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 <[email protected] <mailto:[email protected]>> 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: [email protected]
    <mailto:[email protected]>
    http://www.crosswire.org/mailman/listinfo/sword-devel
    Instructions to unsubscribe/change your settings at above page


_______________________________________________
sword-devel mailing list: [email protected]
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: [email protected]
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page

Reply via email to