Hello,
I discovered that "cg-commit -M MSG-FILE ..." fails when run from a subdirectory, and when MSG-FILE is a relative file name. This is using cogito-0.17.3-2 from Debian/unstable, but the problem remains when using the latest cogito sources, pulled minutes ago.
Here's an example:
$ mkdir a; touch a/x; cg-init -m. .; cd a; echo . > x; cg-commit -M x x defaulting to local storage area Adding file a/x Committing initial tree 341d89829a1bf9c0ccfbccf738815cbc862b3242 Committed as 6497164c6f8e86220ff26c6b89b9d0dbad5a7743 cat: x: No such file or directory [Exit 1]
This appears to be due to the "cd", that can happen in cg-Xlib:
_git="${GIT_DIR:-.git}"
if [ ! "$_git_repo_unneeded" ] && [ ! "$GIT_DIR" ] && [ ! -d "$_git" ]; then
_git_abs_path="$(git-rev-parse --git-dir 2>/dev/null)"
if [ -d "$_git_abs_path" ]; then
_git_relpath="$(git-rev-parse --show-prefix)"
==========> cd "$_git_abs_path/.." <==============
fi
fi
_git_objects="${GIT_OBJECT_DIRECTORY:-$_git/objects}"I can work around the problem by using an absolute name for the message file, but I shouldn't have to do that.
FWIW, I tried setting GIT_DIR to the absolute name of the .git directory, but that just made it so cg-commit failed with this diagnostic:
cg-commit: Nothing to commit
Jim