Matteo Mosca
Matteo Mosca

Reputation: 7448

TFS expired user

As usual I extensively searched for a solution before asking here, I'm really stuck.

I'm currently working on a customer TFS server and I have no administration rights whatsoever. Me and a colleague were using the same user account, which I know is a bad practice but again I had no choice here.

Today we found out that the account is expired and the customer is saying that it will not be reactivated. Instead they gave us a new account.

The problem is that in our local workspaces we had some uncommited changes. I'm trying to find a way to reassing the local workspace to a different user but every path I tried leads to a dead end.

One thing I tried was to access the current workspace and set it to "Public" so another user can work on it, but I can't access the current workspace as I am offline and the user is expired.

If I change TFS credentials and try to Get Latest Version or anything else I don't see the old workspace but only the workspace(s) of the new user, which has no "Use" access to my local workspace.

No use permission

I also read that a manual merge of the changes (using KDiff or Winmerge) is discouraged as TFS doesn't see edits done outside VS so it wouldn't know the files have been modified. I personally noted this behaviour when I tried to change some nodes in .csproj files with Notepad++ and TFS didn't give me the file in the pending changes.

Anyone knows the proper way to work with a new user without losing the local changes?

Thanks.

Upvotes: 1

Views: 266

Answers (2)

Ikruzzz
Ikruzzz

Reputation: 248

1)Create a branch for the latest change set from the server 2) Check out the files to your workspace 3) Overwrite the files in worspace 4) Now the branch contains your changes 5) Merge the branch which contains your chnages with the latest.

Upvotes: 1

You have three options:

  1. If you are using TFS 2012+ and VS 2012+ you can create a new workspace as the new user and make it a 'local' workspace rather than a server workspace. Then just drop the changes in a VS will detect them.

  2. If you are using an old version of TFS and/or VS you can use the 'go online' option (2010 only)

  3. If you are using a really old version you may need to checkout the entire workspace before dropping the changes back in.

Update: In order to achieve a merge of the changes you could create a branch from the last/latest changeset that you 'got' from the server. Then just overwrite you files... You now have a branch with just your changes and you can then user the merge tool to stitch it back together.

note: Also note that you should check in code frequently (at least daily) to avoid this issue in the first place.

Upvotes: 0

Related Questions