# Data Entry with tsh

How to enter tournament results using tsh.

Updated Wed 11 May 2011 12:05:22 EDT for tsh 3.300.

## Entering Results

tsh supports three styles of data entry, controlled by the “`config entry`” configuration option. The default value of the option is “`'scores'`”, meaning that tsh keeps track of the number of points that each player has scored in each game. Another possible value is “`'spread'`”, meaning that tsh keeps track only of the difference between the two players’ scores in each game. The third possible value is “`'both'`”, meaning that you must enter both the scores and the correct spread for each game.

You should use whatever information players enter on their score slips. If you are free to specify what this is, I recommend either scores mode or both mode. If you have staff to find players who have entered spread that does not correspond to scores, use both; if not, use scores.

### Entering Scores

At the end of the round, have players or runners bring their scoreslips to you. Sort them by division, and then for each division do the following.

Scores Entry | Spread Entry | Both Entry
--- | --- | ---
Enter the command (e.g.) “`a 3 d`” to add Round 3 scores for Division D. At the sub-prompt (which will look something like “[D3]:pn1 ps1 pn2 ps2? (9 scores left)”) enter the numbers as they appear on the score slip: player 1’s number, player 1’s score, player 2’s number, player 2’s score. Put spaces or periods between the numbers, press return at the end. If your entry is accepted, it will be repeated back to you with the players’ names and new cumes and this game’s spread displayed, and you’ll get another prompt. If the player numbers don’t match, you’ll be told so. If you enter a score that is too large or too small, it will be rejected; if someone really does score more than 1500 points, you must enter the result using “`EditScore`”. If you enter a score that is less than 100, you will be warned that the score looks suspicious, and you should check to make sure you did not leave out a digit. If the player has not recorded their player number, or has misrecorded it, you can enter their name instead of their number. To do so, enter as much as is necessary of their last and first names to disambiguate them from anyone else in the division, joined by a comma, and with no spaces. For example, you might enter “`Chew,Jo 400 Chew,Ja 300`” if John and Jamie Chew left out their player numbers. You may enter a name for one player and a number for the other. If you don’t enter enough of a player’s name, a list of matching player names will be shown and you will be asked to try again. If a player has a sufficiently unique partial first or last name, you may enter just that: “`John 400 Jamie 300`” will work if there is only one John and one Jamie. | Enter the command (e.g.) “`a 3 d`” to add Round 3 scores for Division D. At the sub-prompt (which will look something like “[D3]:winner loser spread? (9 scores left)”) enter the winner’s number, the loser’s number and the game spread. Put spaces or periods between the numbers, press return at the end. If your entry is accepted, it will be repeated back to you with the players’ names and new cumes displayed, and you’ll get another prompt. If the player numbers don’t match, you’ll be told so. If you enter a score that is negative or is too large, it will be rejected; if someone really does win a game by 1000 points, you must enter the result using “`EditScore`”. If the player has not recorded their player number, or has misrecorded it, you can enter their name instead of their number. To do so, enter as much as is necessary of their last and first names to disambiguate them from anyone else in the division, joined by a comma, and with no spaces. For example, you might enter “`Chew,Jo Chew,Ja 100`” if John and Jamie Chew left out their player numbers. You may enter a name for one player and a number for the other. If you don’t enter enough of a player’s name, a list of matching player names will be shown and you will be asked to try again. If a player has a sufficiently unique partial first or last name, you may enter just that: “`John Jamie 100`” will work if there is only one John and one Jamie. | Enter the command (e.g.) “`a 3 d`” to add Round 3 scores for Division D. At the sub-prompt (which will look something like “[D3]:pn1 ps1 pn2 ps2 spr? (9 scores left)”) enter the numbers as they appear on the score slip: player 1’s number, player 1’s score, player 2’s number, player 2’s score, spread (the signed difference between the two scores). Put spaces or periods between the numbers, press return at the end. If your entry is accepted, it will be repeated back to you with the player’s names and new cumes and this game’s spread displayed, and you’ll get another prompt. If the player numbers don’t match or the spread you entered is incorrect, you’ll be told so. If you enter a score that is too large or too small, it will be rejected; if someone really does score more than 1500 points, you must enter the result using “`EditScore`”. If you enter a score that is less than 100, you will be warned that the score looks suspicious, and you should check to make sure you did not leave out a digit. If the player has not recorded their player number, or has misrecorded it, you can enter their name instead of their number. To do so, enter as much as is necessary of their last and first names to disambiguate them from anyone else in the division, joined by a comma, and with no spaces. For example, you might enter “`Chew,Jo 400 Chew,Ja 300`” if John and Jamie Chew left out their player numbers. You may enter a name for one player and a number for the other. If you don’t enter enough of a player’s name, a list of matching player names will be shown and you will be asked to try again. If a player has a sufficiently unique partial first or last name, you may enter just that: “`John 400 Jamie 300`” will work if there is only one John and one Jamie.

If you want to enter a bye, just enter one player number and one score. (In most cases, tsh will automatically enter byes for you.) If you want to switch to entering results for a different division, enter the name of the division by itself. If you want to correct a mistake in the scores that you just entered, enter “`es`” (see below). If you want to see which results are still missing, enter “`missing`” or just “`m`”. Whenever you want to save what you’ve entered, press the return key without entering any scores to return to the “`tsh>` ” prompt. You will also be returned to the “`tsh>` ” prompt if you enter something that tsh does not understand.

If you have tsh set to track but not assign who went first or second in each game, you must enter game scores in player order, with the number and score of the player who went first appearing first on the line. If tsh knows who was supposed to go first (because that player had had fewer firsts than his/her opponent), then it will complain that the players determined who went first incorrectly. If it doesn’t know, it will assume that you have entered them correctly and update its information about who went first. You can use the “`EditScore`” command to edit whom tsh thinks went first or should go first.

When you’re close to having all the scores in for a round, entering “`missing 6 b`” (e.g.) will list all the results you’re still missing for round 6 in division B. Omitting the “`b`” will list missing players in all divisions. You can then ask a runner or word judge to politely ask the players to pause their post mortem long enough to fill out their paperwork. As noted above, you can also just enter “`m`” in `AddScore` mode.

## Checking and Correcting Results

If you make a mistake entering the score for division B player 4 in round 3, enter “`es b 4 3`” at the “`tsh>` ” prompt. You’ll get a mockup of the player’s scorecard as it currently reads, a sub-prompt that gives you that player’s score that round and their opponent’s score that round, and you can then enter one of the following commands, or press enter to return to the main “tsh>” prompt.

Sub-Command | Example | Description
--- | --- | ---
new-scores | ps os | Set the player’s score in the current round to `ps` and the opponent’s score to `os`, if in scores data entry mode.
new-spread | ps | Set the player’s spread in the current round to `ps` and the opponent’s spread (if any) to `−os`, if in spread data entry mode or if the player has a bye or forfeit.
BOARD | BO b | Place the current player at board `b`.
D | D d | Switch to editing the corresponding player in division `d`.
FIRST | first | Record that this player went first (started) this round, and their opponent (if any) went second (replied).
GAMES | ga g | Set this player’s career game total prior to this tournament to `g`. This is necessary for accurate computation of some ratings.
OFF | OFF s | Mark this player inactive for pairings, and automatically assign them a spread of `s` in future.
ON | ON | Mark this player active for pairings.
P | P p | Switch to editing player number `p`.
PENALTY | PEN p | Assign a spread penalty to the current player in the current round: specify a positive value when compensating a player for a misadjudication, a negative value to penalize them for an infraction.
R | R r | Switch to editing the player’s results in round `r`.
RATING | RA r | Set the player’s pretournament rating to `r`.
SECOND | second | Record that this player went second (replied) this round, and their opponent (if any) went first (started).

As indicated in the table, you can also use the “`EditScore`” command to make corrections to player pretournament ratings and career game totals. If you have not entered any scores yet, you may ask to edit the scores for the fictitious “Round 0” in order to run the command.

If you catch your mistake while you’re still in “`Addscore`” mode, you can just enter “`es`” (without any additional arguments) at the “`Addscore`” prompt. You’ll go temporarily into “`EditScore`” mode, looking at the data that you just entered. When you leave “`EditScore`” mode, you will return to “`Addscore`” mode.

Similarly, you can use the “`LOOK`” command within “`Addscore`” mode to adjudicate challenges.

You may wish to check what you have entered against player scorecards or against the tournament wall charts. See the section on generating reports and in particular the “`CheckRoundScores`” command for information on how to do this.

If you have a serious problem, you may need to edit the tournament data files directly. Pay particular attention to the information in the preceding link about how to find copies of older, journalled versions of data files. For example, if you find after entering half of the results for a round that the other half of the players used a different round’s pairings to find their opponents, you will have some careful typing to do to fix the files. (Not that this has ever happened to the author, though he has lain awake at night worrying about similar scenarios.)

As soon as you have finished entering and checking results for a round, you should prepare and print all necessary reports for the next round.