Comment 8 for bug 1024073

Revision history for this message
Per Olausson (per-olauzzon) wrote :

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...