An open API service indexing awesome lists of open source software.

https://github.com/iwas-coder/trm

A transactional, atomic, reliable POSIX's rm command implementation written in C++. 🌀
https://github.com/iwas-coder/trm

atomic blockchain coreutils cpp hash hash-tree merkle-tree sha256 transactional

Last synced: 7 months ago
JSON representation

A transactional, atomic, reliable POSIX's rm command implementation written in C++. 🌀

Awesome Lists containing this project

README

          

#
# GNU trm --- A transactional POSIX’s rm command
# Copyright (C) 2024 Wasym A. Alonso
#
# This file is part of trm.
#
# trm is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# trm is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with trm. If not, see .
#

#+AUTHOR: Wasym A. Alonso

# Logo & Title
#+begin_html


TRM Logo


./trm


#+end_html

# Subtitle
#+begin_html


Transactional POSIX's rm command


#+end_html

# Repository marketing badges
#+begin_html



Buy Me A Coffee


#+end_html

# Repository info badges
#+begin_html


License
C++ Standard
Size
Release
Blazing Speed


#+end_html

(...)

# GNU GPLv3+ License notice
#+begin_quote
~trm~ is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. @@html:
@@
~trm~ is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. @@html:
@@
You should have received a copy of the GNU General Public License along with ~trm~. If not, see .
#+end_quote

* Table of Contents :toc:
- [[#usage][Usage]]
- [[#build-from-source][Build from source]]

* Usage

(...)

#+begin_example
$ ./trm
usage: ./trm [-dfiPRrv] file ...
./trm {--commit|--rollback[=1]}
#+end_example

(...)

* Build from source

First, ensure the source tree is absolutely clean. It's recommended this command to be issued prior to each compilation; do not rely on the source tree being clean after cloning the repository or after un-tarring:

#+begin_src sh
make mrproper
#+end_src

To build ~trm~, issue the following command:

#+begin_src sh
make
#+end_src