Manual Solving Pull-Request Conflicts
Posted by: Chris Jarka

There are instances where a DCS github user submits a Pull-Request from their Fork of the repository which cannot be Merged automatically. The steps below will identify one approach for a repository administrator to solve this problem.

This approach requires that that administrator have a local, PC-based, repository of the project which is linked to their Forked repository, which is, by definition, linked to the main repository of the project. This discussion covers a local repository on a Windows PC. The discussion below assumes that the user and main project are on the “master” branch.

  1. Have that user commit any changes that have yet to be committed to their fork. Have them provide you a list of all of the changed files that have been committed to their Fork since their last successful Pull-Request.
  2. Direct that user to make no further edits until they are directed to do so.
  3. Open that user’s Fork, https://git.door43.org/< User’s DCS id>/<project id>/src/branch/master/
  4. Click the Download button on the right of the web page and select ZIP and the system will create a zip file in your  PC’s Downloads folder (or wherever you have Windows configured to store downloads) with the name “<project id>-master.zip”
  5. Create a new folder specifically for the user’s files, but not under one of your local git repository folders.
  6. Back on the main DCS web page for that project, https://git.door43.org/unfoldingWord/<project id> or https://git.door43.org/WycliffeAssociates/<project id> you, as administrator, will move to the problematic Pull-Request and select “Close” to close it to any future action.
  7. On your PC side of things, move to your project’s local git repository and do the following sub-steps:
    1. Enter ‘git pull origin master’ to ensure that you have the latest files from the main repository in your local repository.
    2. For any changed files that you have made to the project which have not been pushed up to the main repository, do the associated git adds, git commit, git push {use “git push origin master”) to get your changes installed in the project’s repository without the need of a Pull-Request.
    3. Copy all changed files identified by that user from the extracted folders into appropriate folders of your local git repository.
    4. Perform the ‘git add’ for each of those, then the ‘git commit -m “message describing the changes”’, and then the ‘git push origin master’.
  8. Direct the user to delete their forked repository since it had an invalid configuration of files, and now does not have those that you just merged. They should follow the sub-steps below:
    1. Have them log on and open their forked repository on the DCS web.
    2. Have them select the Setting icon on the right side of the web page and on the Options tab scroll down to the Danger Zone.
    3. Have them select the “Delete This Repository’ button and then on the pop-up menu type the projects name, as identified on that web page. Lastly, select the “Confirm Deletion” button.
    4. Have the user open the project’s main repository page, see F. above and select the “Fork” icon near the top and right, , and then on that pop-up ‘New Repository Fork’ window select the ‘Fork Repository’ button at the bottom, leaving all of the fields unchanged.
  9. The user is now configured to begin their editing again.

USING SYNCTHING TO SUPPORT MAST

In an earlier workflow we used USB thumb/pen drives to collect the translated output from translators. This was collected on one computer, where it was put together, missing pieces were discovered, and the whole project was eventually uploaded to Door43. One of the...

Import Options

There are four options to choose from when importing to translationStudio. Import from Door43 If you are logged into translationStudio with a Door43 account; choosing this option will open a screen with a list of all your Door43 online projects. To search for another...

Syncthing video #2 setting up syncthing on Android tablet

https://www.youtube.com/watch?v=QfLo88f7Ecw

Problem Printing Images in Open Bible Stories

Some people will have a problem printing Open Bible Stories because the pictures don't appear. While we are working on a better solution, here is a workaround. Download the zip archive file...

Installing MAST Apps on a tablet Part Deux

  I didn't know that we had separate apps for ULB and UDB, as well as Autographa Go and unfoldingWord. I suspect only one of these four is necessary, since both Autographa Go and unfoldingWord can load the ULB and UDB. Although I really like the interface on...

PROTECTED BRANCH WORKFLOW

Overview This document describes a workflow for contributing to projects that have a protected `master` branch.  The contribution process involves making an edit, creating a new branch, creating a pull request, merging the pull request, and then deleting the branch...

More Visa requirement tips

In Congo, Brazzaville, I was expected to have a transit visa, but did not. They allowed me to buy one there — $40, if I'm not mistaken. However, they then connected me with one of their "baggage handlers" who shook me down for more money. My advice is to get the visa...

What is the Copyright of the ULB and the Open Bible Stories?

If you want to publish or re-publish material from Door43, it is important to comply with the requirements of copyright. All material on Door43 is available for use and distribution for free, but it remains protected by copyright. Open Bible Stories If you want to...

Installing SyncThing on a Windows 10 computer

Follow these simple instructions on installing SyncThing on a Windows 10 machine for MAST data collection. Notes: Install SyncTrazor

How to format Translation Notes for publishing (V-MAST)

In V-MAST, translators are given free rein to reformat the content. However, they should not reformat content destined to be published as source text. This article specifies the expected content format. Note that BTT Writer does its own formatting when translating tN,...