git-tfs/git-tfs — pull request #351 by jru (2013-04-17 13:34:04+00:00)
Title: Unshelve from the actual Shelveset's parent

Fetch/Unshelve commands have been always basing the parent for the commit to-be on the latest index fetched from TFS, which I believe, is wrong :)

To verify, try this:

git checkout
git add (some random files)
git commit -m "blah"
git tfs shelve my_shelveset
git checkout tfs/default
git unshelve -u my_user my_shelveset my_branch
git git checkout my_branch

Shelveset contains your changes and everything that happened since that old commit.

**Changes:**
* INDEX is updated to look like the parent that the new commit is going to be based on.
* Base TFS changeset Id for a shelveset is computed as the maximum ID of all involved files minus one. (Which is effectively the changeset the Shelveset is based on)

- Tests pass, 4 skipped though.
- Rebased to the latest upstream on master.

Related: #248