Repository navigation
Version control #116
Description
Activity
Of course, automatic version control (git) !
Maybe isomorphic-git would be a viable library to support this.
It's also used by Antora.Reacted by Henri CazottesHooks for calling custom scripts when relevant changes are made to notebooks would already help quite a bit with Git support (at least until a full-fledged solution can be developed).
Reacted by Brandon Matthews, Remi Rampin, Thiago Serafim, João Ricardo Lhullier Lugão, rmawatson, Rikuo "sp4ghet" Hasegawa, Lucien Davison, Antoine Prouvost and Adam VHi,
This feature would be wonderful.Reacted by Haifeng WuAgree with @danielkza
All that I need is to commit and push changes immediately after doing an edit.I would love it!
Not creating a duplicate issue. After reading the tutorial, came to support this! I think integration with Git is all that would be required, no custom version control necessary.
Thanks for some awesome software!
this is a wonderful idea
Great enhancement.
Today I came across this tweet and seems like a good example of what we could have with Notable version control: a timeline with all the history for a particular note.
Here's a link to the repo: https://github.com/pomber/git-history
Reacted by Miku Grünwald, Pyvonix, Ralf Vogler, Jacob Birkett, gnzlbg and MrYutzThis will be very usefull feature!
Git integration would be really great. Currently I have just init a git repo in the .noteable dir and I'm manually commiting and pushing every so often. But having either a git button per note to commit it (or commit & push) or a global commit push all changes to all notes would be nice
Reacted by Tristan Mollet2 remaining items
It would be awesome if one could setup the App to use a particular github (or gitlab, or whatever) repo for backup, and this automatically synced notes across devices (e.g. one modifies a note in phone, the modification gets automatically committed to git, and the desktop app automatically pulls it).
@gnzlbg you pretty much can do that already, somebody posted a script somewhere (I don't remember where) that automatically commits changes, pushes them and fetches changes.
@fabiospampinato do you have any clue where can we start to search that script?
@joaochenriques I think it was posted on the subreddit: https://www.reddit.com/r/Notable
It was me. this is the script for Windows. I've scheduled it to run every 15 minutes
@echo off for /f "tokens=1-4 delims=/ " %%i in ("%date%") do ( set day=%%i set month=%%j set year=%%k ) for /f "tokens=1-4 delims=: " %%i in ("%time%") do ( set hour=%%i set minute=%%j ) cd C:\Path\To\Your\Notebook git pull && git add --all && git commit -m "Auto update %year%-%month%-%day% %hour%:%minute%" && git push origin masterReacted by Fabio Spampinato, Saif Ur Rahman and Shashank Agrawalguys, is the plan here to have that built in in future version, or that is currently discarded ?
@diogopublio this issue is the "Future" milestone so I'd say it's planned, if it were discarded I would have closed this issue.
Are there any updates planned (as of now)?
Reacted by Gabriel Vanca and Maxim PredybailoThe "Run on Save" option as described here (https://praveenjuge.com/blog/how-i-take-notes-using-vs-code-and-github/) looks appealing. After setting up a repository, it would be nice for the save command to push to GitHub in addition to showing that saved alert box.
This is an awesome app!
It would be cool if the terminal can be opened up in it (as an option of course) so that its possible to do version control locally.
Reacted by mak and Adam VWe (https://github.com/inlang/inlang) use git as the backend and plan to build an easy-to-use git SDK. That SDK might be of benefit to notable in the future. Feel free to reach out
It was me. this is the script for Windows. I've scheduled it to run every 15 minutes
Thanks for the inspiration!
I created a version for zsh that does the following interesting things:
- pull from git if the note folder doesn't exist
- commit only if there are changes
- runs on allowed hostnames. I use some startup scripts in docker etc and don't want notes on those hosts
- creates a cronjob to run every $SYNC_INTERVAL minutes
- auto commits and pushes changes.
#!/bin/bash # Set the Git repository URL GIT_REPO="" # Set the script path SCRIPT_PATH="/path/to/my_script.sh" # Set the notes folder path NOTES_FOLDER="$HOME/notes" # Set the list of allowed hostnames ALLOWED_HOSTNAMES=("hostname1" "hostname2" "hostname3") # Get the hostname of the current machine CURRENT_HOSTNAME="$(hostname)" # Set the Git repository commit message COMMIT_MESSAGE="Auto-commit from $CURRENT_HOSTNAME" # Set the sync interval in minutes SYNC_INTERVAL="10" # Save the current working directory START_DIR=$(pwd) # Check if the current hostname is in the list of allowed hostnames if [[ " ${ALLOWED_HOSTNAMES[@]} " =~ " ${CURRENT_HOSTNAME} " ]]; then # If the hostname is allowed, proceed with the script # Check if the notes folder exists in the user's home directory if [ ! -d "$NOTES_FOLDER" ]; then # If the notes folder doesn't exist, perform a git clone git clone "$GIT_REPO" "$NOTES_FOLDER" >/dev/null 2>&1 else # If the notes folder already exists, perform a git pull to update it cd "$NOTES_FOLDER" && git pull >/dev/null 2>&1 fi # Check if the notes folder is a Git repository if [ ! -d "$NOTES_FOLDER/.git" ]; then # If the notes folder is not a Git repository, exit the script exit fi # Return to the original working directory cd "$START_DIR" >/dev/null 2>&1 # Check if there are changes in the notes folder if [ -n "$(cd $NOTES_FOLDER && git status --porcelain)" ]; then # If there are changes, commit and sync with Git cd "$NOTES_FOLDER" && git add -A >/dev/null 2>&1 && git commit -m "$COMMIT_MESSAGE" >/dev/null 2>&1 && git push >/dev/null 2>&1 fi # Check if the cron job is already running if ! crontab -l 2>/dev/null | grep -q "$SCRIPT_PATH"; then # Add the cron job to the crontab file with the sync interval (echo "*/$SYNC_INTERVAL * * * * $SCRIPT_PATH") | crontab - >/dev/null 2>&1 fi fi
Reacted by Mishhi, i am no it. but i like this tool, and i wanna konw ,how to save the picture upload ,and the picture like can be orgnize for other online markdown tools .
Hi @dexterlaw! It looks like you have a help request unrelated to this issue. I'd recommend asking about that in Notable's Discord server: https://chat.notable.app/
Would love to have Git integrated with the app. Would love to help make that happen as well.
Thanks!
Native support for version-controlled notes would be awesome.
We should probably leverage
gitto enable this and other features.