-
Notifications
You must be signed in to change notification settings - Fork 250
Tips and Tricks
Make sure there is no mismatch between the running services and the launched hamster: remember to kill the hamster daemons when version changes.
Make sure there are no remnants of a previous installation (see below)
If the installation was done through the distribution package manager, just use it again.
To undo the last install done with waf
, just
sudo ./waf uninstall
Otherwise, need to find out which files have been installed.
This can be tricky, as one should remember the exact version (commit sha or tag)
and which options have been passed (usually none).
At some point the --prefix=/usr
was recommended, and there are often unwanted installs with --prefix=/usr/local
.
Available tags can be listed by git tag
.
git checkout <commit sha or tag>
./waf configure <options>
sudo ./waf uninstall
Afterwards find /usr -iname hamster
should only list unrelated files (if any). Note the case-insensitive search iname
because to comply with freedesktop specifications some files are camel-cased now.
See https://github.com/projecthamster/hamster/issues/340#issuecomment-324387786
You may also like to try htool
from https://github.com/GeraldJansen/hamster-tool/.
Original request here. Taking advantage of the fact that the hamster DB can be swapped "live", you can easily create one as follows:
# make a backup copy of your current DB
DBDIR=~/.local/share/hamster # or hamster-applet for older versions
cp $DBDIR/hamster.db ~/bu-hamster.db
# download empty template hamster.db and replace your live DB
wget https://github.com/projecthamster/hamster/tree/master/data/hamster.db
mv hamster.db $DBDIR
# add activities, test, etc.
# save the dummy DB and restore your backup copy
cp $DBDIR/hamster.db ~/dummy-hamster.db
cp ~/bu-hamster.db $DBDIR
Of course, to do more testing/demonstration, you'd need to put the dummy-hamster.db back as $DBDIR/hamster.db, which is a real bother. You could automate this with scripts, softlinks etc.. However, it would probably be best to have a separate environment for testing/demo, say a dedicated userid or a separate virtual environment.
To automate the creation of test cases with recent dates, one can create -nnn/+nnn relative timestamps in a bash script, as in the following example:
# function for relative timestamp (arg -nnn or +nnn minutes)
function rts() { echo $(date +%Y-%m-%d\ %H:%M -d"$1 minutes"); }
# test of embedded activities
hamster track 'outer activity@test, testing embedded activies #dev' $(rts -60) $(rts -10)
hamster track 'inner activity@test #dev' $(rts -60) $(rts -30)
hamster track 'test@ABC/Cooker' $(rts +0) $(rts +30)
...