I just noticed a related issue which appear to affect all platforms (yes maybe it should be a new defect, but the solution is as above):
If a user adds new content, adds, commits and then issues git-review, then git-review will fail. That is because it isn't possible to issue a git reset from a new directory?
Example:
~/tmp/reorgs$ git clone ssh://.... x
Cloning into 'x'...
remote: Counting objects: 316, done
remote: Finding sources: 100% (316/316)
remote: Total 316 (delta 35), reused 287 (delta 35)
Receiving objects: 100% (316/316), 50.98 KiB, done.
Resolving deltas: 100% (35/35), done.
:~/tmp/reorgs$ cd x
:~/tmp/reorgs/x$ mkdir newdirectory
:~/tmp/reorgs/x$ cd newdirectory/
:~/tmp/reorgs/x/newdirectory$ touch x
:~/tmp/reorgs/x/newdirectory$ git add x
:~/tmp/reorgs/x/newdirectory$ git commit -am "addingnewstuff"
[master 67da244] addingnewstuff
0 files changed
create mode 100644 newdirectory/x
:~/tmp/reorgs/x/newdirectory$ git-review
Creating a git remote called "gerrit" that maps to:
ssh://....
Errors running git reset --hard 67da244eb3195acae1dfd4b27bacd917f09fb8ff
fatal: Unable to read current working directory: No such file or directory
:~/tmp/reorgs/x/newdirectory$ cd ..
:~/tmp/reorgs/x$ git-review
remote: Resolving deltas: 100% (1/1)
remote: Processing changes: refs: 1, done
remote: ERROR: missing Change-Id in commit message footer
remote: Suggestion for commit message:
remote: addingnewstuff
remote:
remote: Change-Id: I67da244eb3195acae1dfd4b27bacd917f09fb8ff
remote:
remote: Hint: To automatically insert Change-Id, install the hook:
remote: scp -p -P 29418 ..../commit-msg `git rev-parse --git-dir`/hooks/commit-msg
remote:
remote:
To ssh://....
! [remote rejected] HEAD -> refs/publish/master (missing Change-Id in commit message footer)
error: failed to push some refs to 'ssh://....'
Again, all of this works if git-review is changed to chdir() to the root of the repository before doing any operations...
I just noticed a related issue which appear to affect all platforms (yes maybe it should be a new defect, but the solution is as above):
If a user adds new content, adds, commits and then issues git-review, then git-review will fail. That is because it isn't possible to issue a git reset from a new directory?
Example:
~/tmp/reorgs$ git clone ssh://.... x reorgs/ x/newdirectory$ touch x reorgs/ x/newdirectory$ git add x reorgs/ x/newdirectory$ git commit -am "addingnewstuff" reorgs/ x/newdirectory$ git-review ae1dfd4b27bacd9 17f09fb8ff reorgs/ x/newdirectory$ cd .. cae1dfd4b27bacd 917f09fb8ff /hooks/ commit- msg
Cloning into 'x'...
remote: Counting objects: 316, done
remote: Finding sources: 100% (316/316)
remote: Total 316 (delta 35), reused 287 (delta 35)
Receiving objects: 100% (316/316), 50.98 KiB, done.
Resolving deltas: 100% (35/35), done.
:~/tmp/reorgs$ cd x
:~/tmp/reorgs/x$ mkdir newdirectory
:~/tmp/reorgs/x$ cd newdirectory/
:~/tmp/
:~/tmp/
:~/tmp/
[master 67da244] addingnewstuff
0 files changed
create mode 100644 newdirectory/x
:~/tmp/
Creating a git remote called "gerrit" that maps to:
ssh://....
Errors running git reset --hard 67da244eb3195ac
fatal: Unable to read current working directory: No such file or directory
:~/tmp/
:~/tmp/reorgs/x$ git-review
remote: Resolving deltas: 100% (1/1)
remote: Processing changes: refs: 1, done
remote: ERROR: missing Change-Id in commit message footer
remote: Suggestion for commit message:
remote: addingnewstuff
remote:
remote: Change-Id: I67da244eb3195a
remote:
remote: Hint: To automatically insert Change-Id, install the hook:
remote: scp -p -P 29418 ..../commit-msg `git rev-parse --git-dir`
remote:
remote:
To ssh://....
! [remote rejected] HEAD -> refs/publish/master (missing Change-Id in commit message footer)
error: failed to push some refs to 'ssh://....'
Again, all of this works if git-review is changed to chdir() to the root of the repository before doing any operations...