Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

In advance of the sprint, it would be helpful if all team members were familiar with the Git processes that will be used during the sprint (forking, cloning, creating branches, pushing commits to GitHub, making pull-requests, etc). We also need to remove the extraneous whitespace updates in advance of the sprint. There are ~50 21 updated files in the VIVO and Vitro branches above that need whitespace remediation. If we all take 5 ~2 files, not only will the code be ready for the sprint, but everyone will have gone through the Git/GitHub processes that will be required during the sprint... win! win!

...

  1. Fork the VIVO and Vitro projects into your personal GitHub accounts (this is done in GitHub)
    1. https://help.github.com/en/github/getting-started-with-github/fork-a-repo
  2. Clone the VIVO and Vitro projects from your personal forks

    1. Code Block
      languagebash
      git clone https://github.com/<your-github-id>/VIVO.git
      git clone https://github.com/<your-github-id>/Vitro.git


  3. For whichever project contains the files you will be working (let's use 'VIVO' as the example), check out your own branch that is based on the sprint branch: 'sprint-i18n-whitespace'. It is recommended that you work on a branch that is based on the shared ('sprint-i18n-whitespace') branch so that you can continue to track updates from the team in 'sprint-i18n-whitespace' without having conflict with your current work.

    1. Code Block
      languagebash
      cd VIVO
      git checkout -b my-whitespace origin/sprint-i18n-whitespace


  4. Remove the extraneous whitespace updates in the 'my-whitespace' branch for the files that you have generously agreed to fix
    1. Note: Do whatever makes sense to you. My process is to:
      1. Use the GitHub pre-pull-requests linked below to identify which lines have updates that need to be reverted
        1. https://github.com/vivo-project/VIVO/compare/sprint-i18n-whitespace?expand=1
        2. https://github.com/vivo-project/Vitro/compare/sprint-i18n-whitespace?expand=1
      2. Use the `master` branch of VIVO (or Vitro) to see the file that you are working on. Sometimes whitespace was added; other times removed; sometimes spaces were replaced by tabs or vice versa. You will want to view the `master` branch version of the file to know what your whitespace goal is. 

        1. Code Block
          git checkout master
          cp <your-file> <some-location-outside-of-your-git-project>


      3. Use your `my-whitespace` version of your file to actually work on

        1. Code Block
          git checkout my-whitespace
          vi <your-file>


    2. As you are making updates, you can check to see your progress by viewing the "diff" between the file in your `my-whitespace` branch and the file in the `master` branch

      1. Code Block
        languagecpp
        # Let's say the file you are working on is "AddAttendeeRoleToPersonGenerator.java"
        git diff my-whitespace master -- api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAttendeeRoleToPersonGenerator.java


  5. Once you have removed all of the extraneous whitespace changes, commit your updates, and push to your personal GitHub fork

    1. Code Block
      languagecpp
      # See which files have been changed (hopefully only the ones you were working on)
      git status
      
      # Add the files to the upcoming commit
      git add .
      
      # Commit the changes locally
      git commit -m "Removed extraneous whitespace"
      
      # Push the commit to your personal GitHub fork
      git push origin my-whitespace:my-whitespace


  6. Now that you have an updated branch in your personal GitHub, you should submit a GitHub pull-request to the `sprint-i18n-whitespace` branch in the core VIVO or Vitro projects
    1. https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request-from-a-fork
  7. Celebrate! Success!

Scripts

If a pattern in the code is recognized, the following may be scripts may be useful, or provide inspiration:

Code Block
sed -i 's/^[[:space:]]/    /' <file>
sed -i 's/^\t/    /' <file>

File assignments

Each person has been allocated one "easy" file and one "hard" file (smile)... except, Michel, who gets four "easies".

Alexander (Sacha) Jerabek

  • (tick) Vitro:  ./api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/FreemarkerHttpServlet.java (checked but did not find any whitespace problems, code changes only. 20200401.sj)
  • Vitro: ./api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/fields/SelectListGeneratorVTwo.java

Rachid Belkouch

Michel Héon

  • (tick) Vitro: ./api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/VTwo/BaseEditElementVTwo.java - all updates in this file can be reverted (vitro-pr143, & added RootUserPolicy.java)
  • (tick) VIVO: ./api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddServiceProviderRoleToPersonGenerator.java (vivo-pr-154, & removed RootUserPolicy.java)
  • (tick) VIVO: ./api/src/main/java/edu/cornell/mannlib/vitro/webapp/visualization/utilities/CachingRDFServiceExecutor.java (vivo-pr-154)
  • (tick) VIVO: ./api/src/main/java/edu/cornell/mannlib/vitro/webapp/visualization/utilities/VisualizationCaches.java (vivo-pr-154)

Andrew Woods

  • (tick) Vitro: ./api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/TemplateProcessingHelper.java (vitro-pr-146)
  • (tick) Vitro: ./api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/jena/model/RDFServiceModel.java (vitro-pr-147)

Christian Hauschke

Joachim Dornbusch

Matthias Lühr

  • (tick) VIVO: ./api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddMemberRoleToPersonGenerator.java (vivo-pr-158)
  • (tick) VIVO: ./api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddClinicalRoleToPersonGenerator.java (vivo-pr-158)
  • (tick) Vitro: ./api/src/main/java/edu/cornell/mannlib/vitro/webapp/dao/jena/JenaBaseDao.java (vitro-pr-152)
  • (tick) Vitro: ./api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/dataGetter/SparqlQueryDataGetter.java (vitro-pr-152)

Nicolas Dickner

  • (tick) VIVO: ./api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddOrganizerRoleToPersonGenerator.java (vivo-pr-151)
  • (tick) VIVO: ./api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddPublicationToPersonGenerator.java (vivo-pr-153)
  • (tick) Vitro: ./api/src/main/java/edu/cornell/mannlib/vitro/webapp/rdfservice/impl/RDFServiceFactorySingle.java (vitro-pr-141)
  • (tick) Vitro: ./api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/freemarker/HomePageController.java (vitro-pr-144)
  • (tick) Vitro: ./api/src/main/java/edu/cornell/mannlib/vitro/webapp/services/shortview/FakeApplicationOntologyService.java (vitro-pr-145)
  • (tick) VIVO: ./api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAttendeeRoleToPersonGenerator.java (vivo-pr-155)
  • (tick) VIVO: ./api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddOutreachProviderRoleToPersonGenerator.java (vivo-pr-156)
  • (tick) VIVO: ./api/src/main/java/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddReviewerRoleToPersonGenerator.java (vivo-pr-161)

Maxence Gévaudan