Repository navigation
2.4.0
✨ Added
- Conflicts in files without editable text (binary files,
isa.*.xlsxworkbooks, Git LFS files) get a file-choice panel with "Keep my version" and "Use online version". It shows each version's size, object id, whether it is downloaded and the online commit. - The conflict page can abandon the merge, after a confirmation.
- A modify/delete conflict can be resolved by accepting the deletion.
- A stale
.git/index.lockopens a dialog with "Remove lock" at Save, Discard, Download Changes and when downloading a Git LFS file. A lock younger than a few seconds is waited for first. - Closing a window while a version control operation runs asks whether to keep the window open or cancel the operation and close.
- The Git sidebar follows file changes made outside Swate without pressing Refresh.
- The merge confirmation names up to five paths that would conflict.
- Discard asks for confirmation.
- The cancel button also covers the upload step of a save. Canceling it keeps the saved-locally notice and opens no error dialog.
- The main process logs the start and end of every version control operation with its result.
- Added a new colour scheme for Swate (@paulineHans GitHub)
- Added guidance for generating and using GitLab Personal Access Tokens. #1267 (by @Freymaurer)
- Rework DataAnnotator. DataAnnotator now uses the same list interface for insertion into selected cells as the FilePicker. No more forced "insert-all" into some obscure location! #1335 (by @Freymaurer)
🔄 Changed
- All Git operations of the Electron app run through the VersionControlService library (0.1.0 on nuget.org), which offers one provider-neutral interface for Git and lakeFS. Swate uses its Git provider. The old built-in Git implementation is removed.
- Save, Download Changes and Upload Changes run one synchronize operation: refresh, update when the online copy is ahead, then publish. It asks first only when the update needs merge resolution, and it refuses an update or a branch switch that would overwrite local changes and names the files.
- A push the online copy refuses (a protected branch, a declined hook) shows the remote's reason, and the save stays local.
- The Git LFS threshold and the download preference are held in memory for each open ARC. Every ARC starts at 1 MiB and no download, and the
swate.lfs.*keys of earlier versions are no longer read. - Swate requires Git 2.38 or newer and Git LFS 3.7 or newer, with the Git LFS filter configured.
- Merges Swate creates are titled "Merge online changes".
- The busy notice shows the operation and git's progress lines. The raw "Git output" log is removed.
- The tooltips of Update ARC from Online, Download Changes and Clean LFS Cache list the git commands that run now.
- Replace git file status icons with shorthand letters (A, M, D, R, N, C) to reduce confusion with "+" icon. #1199 (by @Freymaurer)
- Allow custom input for "Add Rows" input in Annotation Table. You can now completely remove the numbers and just type away. #1351 (by @Freymaurer)
🔥 Removed
- Removed the "Add Datamap" button from the ArcFileEditor taskbar. (by @Freymaurer)
🐛 Fixed
- Root-level ARC items in the file tree follow the ISA standard order, and the
isa.investigation.xlsxworkbook has a distinctive violet icon. - The diff of a changed, downloaded Git LFS text file shows the changed lines instead of the pointer text, without downloading anything.
- Mark and Unmark Git LFS take effect on the next save, so the file's storage changes. Unmark is refused when the file's object is not local.
- Discarding a downloaded Git LFS file keeps it downloaded.
- Git LFS conflicts are no longer shown as editable pointer text.
- The DataHUB storage rules apply to every save:
isa.*.xlsxworkbooks are never stored as Git LFS pointers, and dataset files and files above 25 MB always are. - Saving more than about 1000 files at once works on Windows, and a save starts a fixed number of git processes whatever the file count.
- Clean LFS Cache works after a discarded Git LFS edit.
- A clone whose Git LFS download fails keeps the clone, opens it and offers to download the large files.
- "Open ARC in DataHUB" keeps the remote's port.
- The busy notice resets its progress when an operation moves to its next step, and the bar follows the percentage git reports.
- On macOS, a file whose name is stored decomposed on disk keeps its Git LFS badge and actions.
- Closing a window during an operation no longer crashes the main process with "Object has been destroyed". Every message to a window checks that the window still exists.
- The file watcher no longer overwrites the in-memory ARC in the middle of one of Swate's own writes.
- A Git operation that fails after it already changed the workspace refreshes the sidebar before it shows the error.
- Added fallback support for broken repository image links in DataHUB browser. #1180 (by @Freymaurer)
- Show a native error message instead of crashing or silently failing when a selected folder is not a valid ARC.
- Fixed non-centered authentication button layout. (by @Freymaurer)
What's Changed
- Run Git through the VersionControlService library by @caroott in #1363
- Prevent opening of none ARC folder by @Etschbeijer in #1339
- Make Git LFS actions work better for very large files by @caroott in #1365
- Added a new colour scheme for Swate and ARCitectGX by @paulineHans in #1366
- Bug/failing image datahubbrowser #1180 by @Freymaurer in #1370
- replace git file status icons with shorthand letters #1199 by @Freymaurer in #1371
- Improve guidance for generating and using GitLab Personal Access Tokens by @Freymaurer in #1374
- remove tests for specific icon in git sidebar by classname by @Freymaurer in #1375
- Feature/adjust datahub wording #1286 by @Freymaurer in #1376
- allow more input freedom for AddRows-Input in ArcFileEditor #1351 by @Freymaurer in #1379
- extract SortableList component from FilePickerWidget for reuse by @Freymaurer in #1378
- Add sorting for root elements of an ARC by @Etschbeijer in #1377
- Feature/data annotator insert freedom by @Freymaurer in #1382
New Contributors
- @paulineHans made their first contribution in #1366
Full Changelog: 2.3.1...2.4.0