Resolve a file with conflicts from ssmerge.
Usage
Index
Option summary
Option details
--default-table=TABLE
name to use when a table name is needed and not supplied
--dry-run
make no changes, just describe what would happen
--help
show how to use this program
--neither
in case of conflict use cell value from common ancestor
--ours
in case of conflict use cell value that was the local choice
--theirs
in case of conflict use cell value that wasn't the local choice
Examples
You can generate test file(s) for the examples that follow:
ssresolve --test-file numbers.csv
ssresolve --test-file numbers_buggy.csv
ssresolve --test-file numbers_conflict.csv
Example 1
ssresolve numbers_muddle.csv
Check if file is resolved.
Example 2
ssresolve --ours numbers_muddle.csv
Resolve conflicts in favor of local/left values.
Example 3
ssresolve --theirs numbers_muddle.csv
Resolve conflicts in favor of remote/right values.
Example 4
ssresolve --neither numbers_muddle.csv
Resolve conflicts in favor of ancestral values.
Patch formats
- tdiff: [default] reminiscent of the standard unix diff format for text
- csv: csv-compatible diff format
- hilite: colorful spreadsheet format
- index: tabular output showing relationship between rows and columns
- novel: mark all shared rows - remaining rows are unmatched
- ops: summarize modified rows in a table
- raw: verbose diff format for debugging
- review: spreadsheet diff format suitable for quickly accepting or rejecting changes
- sql: SQL format (data diffs only)
- stats: produce statistics on table changes
Database/spreadsheet file formats
CSV: plain-text delimiter-separated family of formats
- .csv: Comma-separated values
- .tsv: Tab-separated values
- .ssv: Semicolon-separated values
- .json: {
"type": "csv", // CSV family
"file": "fname.dsv", // File name
"delimiter": "|" // Delimiter character
}
SQLITE: file-based database
- .sqlite: Sqlite database file
- .json: {
"type": "sqlite", // Sqlite family
"file": "fname.db" // File name
}
- dbi:sqlite:fname.db (Force sqlite interpretation)
SQLITEXT: sqlite-format sql dump
- .sqlitext: SQL dump of Sqlite database
- .json: {
"type": "sqlitext", // Sqlitext family
"file": "fname.sql" // File name
}
- dbi:sqlitext:fname.sql (Force sqlitext interpretation)
JSONBOOK: Spreadsheet formats in json
- .jsonbook: Json spreadsheet
- .json: {
"type": "jsonbook", // Json spreadsheet
"file": "fname.sheet", // File name
"hash": "1" // Generate hash/dict/objects for each row when schema available
}
- dbi:jsonbook:fname.sheet (Force Json spreadsheet interpretation)
GNUMERIC: Spreadsheet formats (via gnumeric)
- .xls: Excel spreadsheet
- .xlsx: Excel spreadsheet
- .gnumeric: Gnumeric spreadsheet
- .ods: OpenOffice/LibreOffice spreadsheet
- .json: {
"type": "gnumeric", // Gnumeric family
"file": "fname.sheet" // File name
}
- dbi:gnumeric:fname.sheet (Force Gnumeric interpretation)
MDB: Access database format (via Mdbtools, READ-ONLY)
- .mdb: Access database file
- .json: {
"type": "access", // Access family
"file": "fname.db" // File name
}
- dbi:access:fname.db (Force Access interpretation)
JMDB: Access database format (via Jackcess)
- .mdb: Access database file
- .json: {
"type": "access", // Jackcess/access family
"file": "fname.db" // File name
}
- dbi:jackess:fname.db (Force Access interpretation)
MYSQL: database connector
- .json: {
"type": "mysql", // MYSQL connector
"database": "db_name", // Database name
"host": "localhost", // Host name
"port": "1111", // Port number
"username": "root", // Username
"password": "****" // Password
}
- dbi:mysql:database_name (Use default port, username, etc)
- dbi:mysql:database_name:username=USER:password=PASS
- dbi:mysql:database_name:host=HOST:port=PORT
SOCIALCALC: SocialCalc format (via mozjs)
- .socialcalc: SocialCalc spreadsheet file
- .sc: SocialCalc spreadsheet file
- .json: {
"type": "socialcalc", // SocialCalc family
"file": "sheet.txt" // File name
}
- dbi:socialcalc:sheet.txt (Force SocialCalc interpretation)
Version
ssresolve version 0.6.5