branch spec issue - perforce

I am trying to port changelist "661234" from source to target branch using branch mapping "branch1.2_1.2.0" but I keep getting that its already commited but the changes are not merged actually..how can I overcome this?any tips on what the issue is?
I am been struggling since once hour trying various commands but no luck,appreicate any ehlp
C:\Users\>p4 integrate -b prima1.2_1.2.0 -c #661243
Invalid changelist number '#661243'.
C:\Users\>p4 integrate -b prima1.2_1.2.0 -c 661243
Change 661243 is already committed.
C:\Users\>p4 integrate -b prima1.2_1.2.0 -c 661243
Change 661243 is already committed.
C:\Users\>p4 integrate -f -b prima1.2_1.2.0 -c 661243
Change 661243 is already committed.

Sorry, -c is the changelist to put the resulting change into, what you want is something like this:
p4 integrate -i -t -b prima1.2_1.2.0 //...#661243

Related

Perforce: deleting a p4 client with an empty changelist

Is it okay to delete a P4 workspace containing an empty changelist?
In other words, is the changelist get deleted from the server as well?
Try it out:
C:\Perforce\test>p4 -c subressors-computer change
Change 164 created.
C:\Perforce\test>p4 client -d subressors-computer
Client 'subressors-computer' has pending changes. To delete the client, delete any pending changes first. An administrator may specify -f to force the delete of another user's client.
C:\Perforce\test>p4 client -d -f subressors-computer
Client subressors-computer deleted.
C:\Perforce\test>p4 describe 164
164 - no such changelist.
You need admin permission to be able to use the -f flag. If you aren't an admin, you'll need to delete your changelists yourself before deleting your client. This is easy to script:
p4 -Ztag -F "change -d %change%" changes -s pending --me | p4 -x - run

Get all changes with filenames for a particular user

Is it possible to get the filename for all changelists for a particular user. Right now I can only get the list of changes from a particular user
p4 changes -s submitted -u UserX
I know it is possible to do it using p4 describe, however how do I make it work on all the files by a particular User
p4 -Ztag -F #=%change% changes -s submitted -u UserX | p4 -x - files

Perforce revert operation gives client unknown. Create it with p4 client command

I have already created a perforce client with command:
p4 client -o -e <my_clientname>
and it gave a message created with the required user.
but while using this clientname for revert operation with command
p4 -c <my_clientname> revert <perforce_path...>
it gives me an error "Client <my_clientname> unknown - use 'client' command to create it."
Additional Info: I am working on a jenkins setup with Perforce plugin.
p4 client -o does not create your client; it simply prints out to stdout the form specification that you could have used to create your client.
To create your client, do:
`p4 client -o <my-client-name> | p4 client -i`
By the way, in your question, you wrote that you also passed the -e flag. I don't believe there is a -e flag to p4 client.

Perforce - unshelve files into another directory

I have two directories into the same workspace, I shelved some files into a changelist in the first directory and now I want to unshelve them into the second.. I tried this command:
p4 -c my_workspace unshelve -s 17654070 -n -b //my_workspace/directory2
Branch '//my_workspace/directory2'
unknown - use 'branch' command to create it.
How can I have this working?
You'll need to create a branch spec to tell the server the relationship between the two directories.
run p4 branch some_branch_name
In the view field put:
//depot/directory1/... //depot/directory2/...
Save the form and run p4 -c my_workspace unshelve -s 17654070 -n -b some_branch_name

Revert File not in a workspace in perforce

I am trying to delete an old user from our perforce installation. A previous admin had deleted all their active workspaces / clients so we should be able to now delete the user, however when i run
p4 user -f -d auser
User auser has file(s) open on 1 client(s) and can't be deleted.
However auser no longer has any associated clients, and if I filter the pending changelist view in P4V it shows the user as having one file checked out in the default changelist but no client is specified. Even if I log in as the user I dont seem to be able to revert or do anything with the file. Any hints how I might solve this?
While both of these commands returned nothing:
$ p4 clients -u <USER>
$ p4 changes -s pending -u <USER>
This command showed me which file was open:
$ p4 opened -u <USER>
//depot/path/to/file#1 - edit default change (text) by <USER>#<CLIENT>
This command doesn't work:
$ p4 -u <USER> -H <CLIENT> revert -k //depot/path/to/file
//depot/path/to/file#1 - belongs to user <USER>, not reverted
Deleting the client does:
$ p4 client -o <CLIENT> > <CLIENT>.txt
$ p4 client -d -f <CLIENT>
$ p4 opened -u <USER>
File(s) not opened anywhere.
FTW! \o/
If you need to, you can then recreate the client with:
$ p4 client
Then read in the <CLIENT>.txt file you created with the output of p4 client -o <CLIENT> and save it.
More here:
http://answers.perforce.com/articles/KB_Article/Reverting-Another-User-s-Files
Solved.
A bit weird but this is what I did. I got the details of the default changelist that contained the file. It had the workspace name which was the name of a machine. I logged into the machine and then into perforce as the user. At this point I could see the pending changelist and revert the file. Now I can delete the user.
How did this happen?
I think what must of happened was a confusion of clients. A while back I changed the owner of quite a few clients on that machine (its the build server) and some of these clients must have had open files for the old user. This is the only explanation I can come up with.

Resources