summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-01-19Makefile: Install documentation and example scripts.Przemyslaw Pawelczyk
2016-01-19README: Slightly reformat installation section.Przemyslaw Pawelczyk
2016-01-19examples/git-metapull: Apply stored metadata with -e -E options.Przemyslaw Pawelczyk
2016-01-19examples/git-metapull: Fix the comments.Przemyslaw Pawelczyk
2016-01-19examples/hooks/pre-commit: Add warning in comments re aborted commit.Przemyslaw Pawelczyk
Fixes #26.
2016-01-19examples/git-metapull: Fix the script.Przemyslaw Pawelczyk
2016-01-19examples: Move hook scripts to their own subdirectory.Przemyslaw Pawelczyk
2016-01-19metastore.txt: Create plain-text version of the manual page.Przemyslaw Pawelczyk
2016-01-19README: Reorder, add sections and extract stuff into FILEFORMAT file.Przemyslaw Pawelczyk
2016-01-12NEWS: Update planned release date.Przemyslaw Pawelczyk
2016-01-12NEWS: Mention some important changes during my unofficial continuation.Przemyslaw Pawelczyk
2016-01-12metaentry.c: Fix meta entry handling in case of xattr errors.Przemyslaw Pawelczyk
getxattr() call can fail in mentry_create(), so NULL-initialize mentry->xattr_values[i] and update mentry->xattrs upon error, so there is no attempt in mentry_free() to free unitialized xattr_names[i] and xattr_values[i] pointers. Fixes #38.
2016-01-09version.sh: Fix sed error on BSDs: bad flag in substitute command: '}'.Przemyslaw Pawelczyk
Explicitly terminate last function (s) within list of functions ({...}).
2016-01-09Makefile: Link with libbsd only on non-BSD platforms.Przemyslaw Pawelczyk
BSD platforms are not supported yet, though.
2016-01-09metaentry.c: Include <bsd/string.h> only on non-BSD platforms.Przemyslaw Pawelczyk
2015-12-01version.sh: Add missing v letter in front of METASTORE_PRETAG_VER value.Przemyslaw Pawelczyk
2015-12-01Makefile: Change default installation prefix to /usr/local.Przemyslaw Pawelczyk
Fixes #34.
2015-12-01Makefile: Change name of variables related to installation directories.Przemyslaw Pawelczyk
2015-12-01Add action to show metastore version: -v / --version.Przemyslaw Pawelczyk
Fixes #36.
2015-12-01Makefile: Move PROJ_DIR to the beginning.Przemyslaw Pawelczyk
2015-10-26Merge pull request #32 from Alphix/masterPrzemysław Pawełczyk
Officially ceding maintainership of metastore to Przemyslaw Pawelczyk.
2015-10-26Officially ceding maintainership of metastore to Przemyslaw Pawelczyk.David Härdeman
Signed-off-by: David Härdeman <david@hardeman.nu>
2015-09-13Move man pages for section 1 to man1/ directory.Przemyslaw Pawelczyk
As a bonus you can install out-of-tree now via make -f. Fixes #22.
2015-09-13Move source files to src/ directory.Przemyslaw Pawelczyk
As a bonus you can build out-of-tree now via make -f. It's part of the work related to issue #22.
2015-09-13AUTHORS: Add Edvinas Valatka.Przemyslaw Pawelczyk
2015-09-13Makefile: Provide libs after object files when linking.Edvinas Valatka
See: https://wiki.gentoo.org/wiki/Project:Quality_Assurance/As-needed#Importance_of_linking_order Fixes #29. Signed-off-by: Przemyslaw Pawelczyk <przemoc@gmail.com>
2015-09-13Create .mailmap file.Przemyslaw Pawelczyk
Personally I avoid using non-ASCII letters in commit author information and most source files, thus you can often see my name with L instead of L with stroke. The usual exceptions are AUTHORS and .mailmap file, so I can remain using ASCIIfied version, yet `git shortlog` shows my name properly.
2015-09-08metastore.1: Fix section of the manual page.Przemyslaw Pawelczyk
It was accidentally changed when I was amending Dan's patch, which ended in the repo as commit: b6f60de Add support for deleting directories with -a -E.
2015-09-08Add action to dump metadata in human-readable form: -d / --dump.Przemyslaw Pawelczyk
metastore depends now on libbsd, because of strmode() function. This commit fixes issue #28.
2015-09-08NEWS: Add info about recent bugfix in 489d586.Przemyslaw Pawelczyk
2015-09-07metastore.c: Show default metastore file in help message.Przemyslaw Pawelczyk
2015-09-07README: Properly fix typo.Przemyslaw Pawelczyk
2015-09-06Fix reading extended attributes values from metadata file.Przemyslaw Pawelczyk
During implementation and tests of new dump action, I've noticed that while non-textual values in extended attributes were properly stored in .metadata file, retrieving them from it was simply broken, i.e. anything beyond first null byte was zeroed. Small quantum of solace is the fact that apparently metastore users rarely use extended attributes or at least rarely with non-textual values, because otherwise they would surely report such crucial bug. Let's perform simple test to show the problem: $ mkdir -p ~/testxattr/ && cd ~/testxattr/ && touch test $ setfattr -n user.txt -v "tekst" test $ setfattr -n user.bin -v 0x020100ff00 test $ getfattr -d -e hex test # file: test user.bin=0x020100ff00 user.txt=0x74656b7374 $ metastore -s test $ OFFSET=$(($(grep -abo user.bin .metadata | sed 's/:.*//')+8+1+4)) $ xxd -p -l5 -s $OFFSET .metadata 020100ff00 So far everything seems fine, i.e. user.bin xattr is properly stored. $ metastore -c test ./test: xattr Apparently on-disk test xattrs differ from those in metadata file, even though they should not! Let's apply those from metadata file and show how they look on-disk. $ metastore -a test ./test: changing metadata ./test: removing xattr user.bin ./test: adding xattr user.bin $ getfattr -d -e hex test # file: test user.bin=0x0201000000 user.txt=0x74656b7374 Oh no! Extended attribute with non-textual data has been corrupted now. But no more, because this commit fixes it! As long as you haven't stored corrupted xattrs in metadata file, you can still recover on-disk ones by applying them from metadata file using fixed version of metastore.
2015-09-06Simplify code performing actions. Remove duplicated code.Przemyslaw Pawelczyk
2015-09-06metastore.c: Simplify and compress option handling code.Przemyslaw Pawelczyk
2015-09-03Remove trailing whitespaces.Przemyslaw Pawelczyk
2015-09-03README: Be explicit about metastore being GPLv2 only.Przemyslaw Pawelczyk
2015-09-03Make all license notices in files explicit about being GPLv2 only.Przemyslaw Pawelczyk
Turn version 2 of the License into only version 2 of the License is applicable and restore the semicolon preceding it.
2015-09-03Make all license notices in source files formatted the same way.Przemyslaw Pawelczyk
Wording has been changed only in Makefile, where: Free Software has been fixed into proper name: Free Software Foundation, Inc. with trailing comma separating it from address.
2015-09-03Rename LICENSE to LICENSE.GPLv2.Przemyslaw Pawelczyk
2015-09-03README: Fix typo.Przemyslaw Pawelczyk
2015-09-02metastore.c: Remove unused parameters from functions.Przemyslaw Pawelczyk
2015-09-02metaentry.c: Use realpath() instead of GNU-ish canonicalize_file_name().Przemyslaw Pawelczyk
canonicalize_file_name() is not portable, but it can be easily replaced. Now we're a bit friendlier to non-GNU libcs, like musl.
2015-09-02Merge branch 'impro/switch-xattr-header'Przemyslaw Pawelczyk
Conflicts: NEWS
2015-09-02NEWS: Add information about new example script.Przemyslaw Pawelczyk
2015-09-02examples: Add post-checkout example script.Dan Fandrich
This is analagous script to the pre-commit one, but it applies metadata automatically after a git checkout. Signed-off-by: Przemyslaw Pawelczyk <przemoc@gmail.com>
2015-09-02NEWS: Add information about new option and unbashed scripts.Przemyslaw Pawelczyk
2015-09-02metastore.c: Improve removing empty dirs not present in metadata.Przemyslaw Pawelczyk
Store extradirs list ordered by pathlen descendingly, so one traversal should be enough to remove empty dirs.
2015-09-02metastore.c: Improve removing empty dirs not present in metadata.Przemyslaw Pawelczyk
Update extradirs list after successful rmdir(), so already removed directory won't be provided to rmdir() again.
2015-09-02metastore.c: Add long option for -E in help, reorder and fix alignment.Przemyslaw Pawelczyk