Suggested Workflow to Avoid SVN Conflicts

Prior Reading

Rationale

If two or more people are working on the same file, you will need to establish a workflow that prevents file conflicts. File conflicts are usually resolvable, but they are frustrating and can take quite a bit of your time and LEMDOʼs time to resolve.
Here are a few scenarios that can lead to file conflicts:
Person A does an svn update and starts working on File X. Person B does an svn update and also starts working on File X. Person A commits first, and is able to commit, but when Person B commits they get an error message; Person Bʼs copy is out of date because it does not include the changes made by Person A.
Person A does not do an svn update before they begin working and their local copy of a file does not include Person Bʼs most recent work.
Person A doesnʼt commit their work regularly. While they are working on their local copy over a period of days or weeks, the LEMDO Team makes a change across the repository or someone fixes an error in Person Aʼs most recently committed file, or Person B assumes itʼs okay to dive into the file. When Person A finally commits, their local copy is several revisions behind the repository copy.
Sometimes, the Subversion client is able to merge the changes made by both people, especially if the two people were working in different parts of the file (Person A in Act 1 and Person B in Act 2, for example). But if both people are working on the same section of the text, Subversion has no way of knowing whose revisions to accept. There are mechanisms for diffing the two versions of the file, but going change by change through a long file and deciding which version is better takes a lot of time. In the meantime, you and your team members are unable to work on the file.
It is much better to avoid conflicts than to try to resolve them. You will want to decide with your team on a workflow that prevents you from being in files at the same time. You will also want to be disciplined about communicating with team members.

Practice

Here are four strategies for helping you avoid conflicts:
Practice good research hygiene. Always begin your work session by updating your local copy of the lemdo project (svn update). Save, validate, and commit your file regularly during your work session (svn commit).
Communicate frequently with your team members. Send an email or message indicating that you are about to start working on a file. Send an email or message when you have finished working on the file and have made your final commit for the day. If you are communicating via email, be sure to include everyone on your team who might be working on the file.1 If you have an application like Teams or Slack, you can ping your whole team at once. If you have each otherʼs phone numbers, you can set up a group chat on your phone. Keep emails and messages short and simple; for example, the LEMDO Teamʼs email subect lines might read Heading into qme_bibliography—no message, with a later email reading Out of qme_bibliography—no message. This method works if you all agree to send and check emails/messages before you open a file.
If you are separated by time zones, you and your team might agree that Person A will work on the file from 9 to noon Eastern Standard Time and Person B will work on the file from 9 to noon Pacific Standard Time.
If you and your team work in the same time zone, you might agree to divide the day into morning and afternoon, or divide the week into days. Person A works Monday, Wednesday, Friday and Person B works Tuesday and Thursday, for example
Whatever strategy you adopt as a team, remember to:
Update and commit your files often.
Communicate clearly and briefly.
Reach out to the LEMDO Team at lemdo@uvic.ca or lemdopm@uvic.ca if you have created a conflict.

Notes

1.If you are in the pre-release period of your anthology, your team members will include LEMDO team members; we will be in and out of your files in the lead-up to a release, especially during the pre-freeze period and the freeze.

Prosopography

Janelle Jenstad

Janelle Jenstad is a Professor of English at the University of Victoria, Director of The Map of Early Modern London, and Director of Linked Early Modern Drama Online. With Jennifer Roberts-Smith and Mark Kaethler, she co-edited Shakespeare’s Language in Digital Media: Old Words, New Tools (Routledge). She has edited John Stow’s A Survey of London (1598 text) for MoEML and is currently editing The Merchant of Venice (with Stephen Wittek) and Heywood’s 2 If You Know Not Me You Know Nobody for DRE. Her articles have appeared in Digital Humanities Quarterly, Elizabethan Theatre, Early Modern Literary Studies, Shakespeare Bulletin, Renaissance and Reformation, and The Journal of Medieval and Early Modern Studies. She contributed chapters to Approaches to Teaching Othello (MLA); Teaching Early Modern Literature from the Archives (MLA); Institutional Culture in Early Modern England (Brill); Shakespeare, Language, and the Stage (Arden); Performing Maternity in Early Modern England (Ashgate); New Directions in the Geohumanities (Routledge); Early Modern Studies and the Digital Turn (Iter); Placing Names: Enriching and Integrating Gazetteers (Indiana); Making Things and Drawing Boundaries (Minnesota); Rethinking Shakespeare Source Study: Audiences, Authors, and Digital Technologies (Routledge); and Civic Performance: Pageantry and Entertainments in Early Modern London (Routledge). For more details, see janellejenstad.com.

Joey Takeda

Joey Takeda is LEMDO’s Consulting Programmer and Designer, a role he assumed in 2020 after three years as the Lead Developer on LEMDO.

Martin Holmes

Martin Holmes has worked as a developer in the UVicʼs Humanities Computing and Media Centre for over two decades, and has been involved with dozens of Digital Humanities projects. He has served on the TEI Technical Council and as Managing Editor of the Journal of the TEI. He took over from Joey Takeda as lead developer on LEMDO in 2020. He is a collaborator on the SSHRC Partnership Grant led by Janelle Jenstad.

Navarra Houldin

Project manager 2022–present. Textual remediator 2021–present. Navarra Houldin (they/them) completed their BA in History and Spanish at the University of Victoria in 2022. During their degree, they worked as a teaching assistant with the University of Victoriaʼs Department of Hispanic and Italian Studies. Their primary research was on gender and sexuality in early modern Europe and Latin America.

Tracey El Hajj

Junior Programmer 2019–2020. Research Associate 2020–2021. Tracey received her PhD from the Department of English at the University of Victoria in the field of Science and Technology Studies. Her research focuses on the algorhythmics of networked communications. She was a 2019–2020 President’s Fellow in Research-Enriched Teaching at UVic, where she taught an advanced course on Artificial Intelligence and Everyday Life. Tracey was also a member of the Map of Early Modern London team, between 2018 and 2021. Between 2020 and 2021, she was a fellow in residence at the Praxis Studio for Comparative Media Studies, where she investigated the relationships between artificial intelligence, creativity, health, and justice. As of July 2021, Tracey has moved into the alt-ac world for a term position, while also teaching in the English Department at the University of Victoria.

Orgography

LEMDO Team (LEMD1)

The LEMDO Team is based at the University of Victoria and normally comprises the project director, the lead developer, project manager, junior developers(s), remediators, encoders, and remediating editors.

Metadata