28f34ca5e6
Avoid catching only Exceptions
...
We also occasionally get Errors in runtime. It seems like a terrible
decission for Error and Exception to not have a common subtype.
2021-10-20 09:59:14 +02:00
6a915864f2
Move NotesFolder's code to their own folder
...
The 'core' folder is becoming way too huge.
2021-10-15 12:31:35 +02:00
097ffc6b42
Support multi note selection
...
Fixes #90
2021-10-14 15:38:07 +02:00
f8d1e3b7f3
Improve Commit Messages
2021-10-14 14:10:42 +02:00
523dc9484e
libgit2 doesn't always seem to delete the folder
2021-10-14 12:58:05 +02:00
33a731a3d7
Add reuse licensing to files in lib
2021-09-15 13:06:43 +02:00
01934bc504
Desktop: Enable fetch/push on linux
2021-08-24 17:25:13 +02:00
3a71cca202
Move logging code to its own folder
2021-07-30 14:39:13 +02:00
2505d00dfb
Replace dart:io with universal_io
...
Platform from dart:io cannot be used on the web for reasons. And this
way we get a fake File/Directory class which we can use for atleast
running the web version, even if it won't work.
2021-07-30 11:39:26 +02:00
9328712de2
Settings: simplify
2021-07-26 22:04:40 +02:00
b2e08550bb
Add GitConfig
...
This makes the Settings class smaller.
2021-07-26 20:18:22 +02:00
09026fc59e
Add support for getting clone progress from git_bindings
...
This is hacky, and we're getting it through a file. Right now we aren't
doing anything with the progress, we're just fetching it.
2021-07-23 12:48:48 +02:00
4e1df9bc31
Use dart-git's merge when cloning
2021-07-08 10:06:56 +02:00
ea2e0f8df2
macos: Call the git exec for fetching / pushing
...
This doesn't work for keys which have passwords, but otherwise it seems
to work great.
2021-07-07 23:46:00 +02:00
0d3f7858df
Add experimental flags to use Dart-git for merge / add / commit
2021-06-29 17:59:06 +02:00
528dfe1c08
Result++
...
Now comes the hard part of figuring out what to do when we get such
errors.
2021-06-10 19:51:27 +02:00
20c2277008
GitRepo: Minor refactor
...
Start using the Result class, and use the git_bindings with a prefix.
The git bindings are being phased out for dart-git.
2021-06-10 13:32:34 +02:00
cca40de706
Bump dart-git
...
Since dart-git's API has completely changed, this is a huge change. And
it's now obvious where all the code can fail. This needs a massive
re-write.
2021-06-05 13:39:46 +02:00
d6e2f09a72
Move all settings code to its own folder
...
Jumping around between the widgets / screens and outside is bit
confusing. Also this way, I can add the stories right here.
2021-06-05 12:23:28 +02:00
789a0b1208
Settings Screens: Null safety++
2021-05-27 13:19:20 +02:00
3b5ff6c9df
Core: Finish null safety migration
2021-05-25 09:54:19 +02:00
01dd8c6c7a
Use dart-git for most operations in Desktop
...
libgit2 hasn't been hooked up so far. This way, almost everything but
cloning working.
Related to #137
2021-05-17 21:48:14 +02:00
48f431d2d2
Optional: Make Git Add/Rm/Commit use Dart-git
...
It's a quick toggle for easy testing.
2021-05-09 11:11:24 +02:00
d008f0d982
First version of dart migrate
...
Most of the files haven't been migrated. Lets work on this bit by bit
2021-04-10 22:18:35 +02:00
45344d1b75
Put current branch name in exception
...
Hopefully it will provide more context to debug #361 issue.
2021-03-06 15:31:24 +01:00
4c7efdb2dc
Move cloning logic to its own file
...
This has gotten very complex and needs to be properly tested. It's the
number 1 bug.
2021-01-19 15:40:08 +01:00
9946993364
shouldLogException: Handle all exception types
...
Fixes APP-SB
2021-01-18 23:47:03 +01:00
c64d30ec2a
Stop guessing the default branch
...
Talk to the remote via ssh and ask it which is the default branch. This
has only been implemented for Android right now, so this breaks the ios
build.
Fixes #363
2020-12-16 12:17:22 +01:00
704329e3d5
Fix setting up an empty repo
...
Fixes APP-EQ
2020-10-21 15:32:33 +02:00
98c92a3fe1
Handle new version of git_bindings
...
This changes the way the SSH keys are managed, they are no longer
managed by the git_bindings plugin and are instead just passed as
parameters. They are now saved in shared_prefs. This allows us to easily
have multiple ssh keys.
It also allows us to store the ssh keys in a more secure storage
location in the future.
2020-10-19 14:52:24 +02:00
540078c413
Improve repo migrations
...
Earlier we had one folder 'journal_local', when the remote would be
setup a new folder called 'journal' would be created, and each all the
files would be copied over. This meant the local history was being
destroyed.
Now, we only have 1 folder 'journal', and on 'cloning', we add the url
as a remote, and do a git fetch + merge.
This simplifies everything drastically, and opens the door for multiple
remotes.
2020-10-15 12:18:47 +02:00
58de0498ac
Replace git pull with git fetch + merge
...
This way we can swap the merge out easily for our own custom merge code.
Also, this makes it easier to do a merge as a way of migrating.
This commit probably breaks stuff on ios
2020-09-26 20:27:07 +02:00
eb4d99338b
Remove some uses of the Settings singleton
...
It needs to be removed from everywhere.
2020-09-25 00:40:23 +02:00
9d00fdac06
Use import_sorter
...
flutter pub run import_sorter:main --no-comments
The code feels much cleaner
2020-07-24 12:43:28 +02:00
b3014d4186
Log GitPush/Pull fails as errors
...
Instead of debug
2020-06-10 13:28:35 +02:00
51ececd150
Immediately save the note when changing
...
Earlier we would wait till we got the 'mutex' to make a change, however
with the way libgit2 works, during a git push/pull other git operations
such as add/rm/commit block.
So performing a save, while the push/pull is occuring - might have
resulted in a note being lost
Related to #124
2020-06-10 13:03:28 +02:00
267ecb7499
Implement a very basic file system view
...
This will show all the files and not just the "notes". This way the user
can easily figure out why a file isn't included in the list of notes.
It's currently disabled by default as it clearly needs a lot more work.
2020-06-10 00:54:15 +02:00
66eeaa552b
Bump git_bindings and pass fresh version of gitAuthor/Email
...
This way the Settings change for git author is immediately reflected.
Fixes #130
2020-05-13 11:36:08 +02:00
64bfefa266
Do not allow DartGit's exception to escape
...
DartGit is still quite experimental.
2020-05-01 11:22:02 +02:00
8636021952
SyncButton: Show number of unpushed changes
...
Related to #123
2020-05-01 11:09:40 +02:00
a0247e7c9e
Ignore a few more git exceptions
2020-04-23 10:08:22 +02:00
0162d1e11a
Only do a git push if one has commits to push
...
This is the first use of my pure Dart implementation of Git. Hurray!
Now hopefully, I can slowly get rid of git_bindings entirely.
2020-04-14 18:15:32 +02:00
bb0e574495
Abstract out the logging
...
This way moving away from Fimber will be much easier.
2020-04-04 11:50:57 +02:00
fe08b53539
Add a .gitjournal.yaml file in a folder
...
This file will be added to save the settings of how we want that folder
to behave. For example - default Editor, view, sorting mode, etc.
This feature is currently disabled as it will only be a part of the pro
mode.
2020-03-31 14:02:38 +02:00
577b73ff3c
SyncButton: Seperate pulling and pushing
...
This way we also refresh the view after the pulling, as we don't need to
wait for a push for that.
2020-03-30 13:00:28 +02:00
ea8703518b
Ignore more git ssh errors
2020-03-21 01:32:09 +01:00
a99eca9131
Simplify code by using pathSpec
2020-03-21 00:52:54 +01:00
b252f037b3
Rename NotesFolder -> NotesFolderFS
...
And NotesFolderReadOnly to NotesFolder. It just makes more sense this
way as we're now getting more and more different "types" of
NotesFolders.
2020-03-15 02:01:07 +01:00
43281bd2bb
Add support for moving a Note to another folder
...
The Folder selection dialog needs a lot of work, but it's a start.
2020-01-29 16:51:57 +01:00
f8e7773f16
NoteBrowser: Add a button to rename notes
...
Fixes #23
2020-01-27 23:09:11 +01:00