Jump to content


  • Content count

  • Joined

  • Last visited

  • Days Won


gweronimo last won the day on May 30 2017

gweronimo had the most liked content!

Community Reputation

4 Neutral

About gweronimo

  • Rank
    Advanced Member

Recent Profile Visitors

697 profile views
  1. Item loaded twice conflict

    Hi @manu, Yes, but have you thought about my comments regarding the internal effects of a "add-cherrypick-mergeback" cycle, where the last step results in a seemingly empty merge changeset that apparently resolves the issue for further merges? I think it contains important hints for how to improve this... Best regards, Göran
  2. Item loaded twice conflict

    Hi Plastic team! I'm awakening this thread since I never got a comment on my findings from my last post, and since we again stumbled on this issue today (with latest stable version on Windows)... Cherry-picking added files is still problematic, and seemingly unnecessarily so! /Göran
  3. You're welcome! It seems to be the Plastic client that creates the plastic.wktree with these differing access rights, different from the other files it creates in a brand new workspace. (I double-checked by creating one from scratch.) Is this by design - is there a special reason for this difference in security properties? Or would it be possible to instead make the Plastic client create this file with the same rights as the rest of the repo?
  4. For the record, another way to workaround the problem I had was to disable the following Local Security Policy: Local Policies - Security Options - User Account Control: Run all administrators in Admin Approval Mode According to the following forum thread: https://serverfault.com/questions/646691/user-in-administrators-group-has-not-the-same-rights-as-administrator-win-2012 "This could be caused by User Account Control, a feature (hated by many) which makes so that, even if you have administrative rights, you don't actually have them unless you explicitly request them." "by default, the built-in Administrator account is not affected by UAC, while all other administrative users are; thus, it's possible for an administrative user (different from the built-it Administrator) to not actually have administrative rights, even if it's a member of the Administrators group."
  5. Hi there! I'm reviving this old topic since I had a very similar problem, and it may help someone. Due to changes in our Active Directory I had to create a new Windows user profile for myself on my Windows PC. To avoid having to reconfigure Plastic SCM, I copied the %LocalAppData%\plastic4 folder from the old profile into the new one. When I started the Plastic client I got the error box "Access to the path 'c:\wkspaces\myrepo\.plastic\plastic.wktree' is denied." and I could not work with any of my workspaces that were created using my old user profile on the same machine. When I looked into this problem I noticed that, for all my workspaces, only the ".plastic\plastic.wktree" file was inaccessible - I could not even read this specific file into a text/binary editor. However, all the surrounding files could be read (for example ".plastic\plastic.selector", any file inside the workspace, etc). By comparing the Windows Security properties of this old plastic.wktree file with surrounding files and also with the corresponding files in a new workspace created using my new user profile, I noticed a difference: The plastic.wktree file has Security Inheritance disabled, while the other files have it enabled. Instead, the plastic.wktree file has explicitly added the creating user as Owner and with Full Control. It also has added SYSTEM and local administrators with Full Control. Even though my new user profile is a member of the local Administrators group, it seems that UAC is preventing me from reading the file. By either enabling Security Inheritance for this specific file, or explicitly adding my new user with Full Control for this file, I could then read the file and the workspace started working in Plastic again.
  6. odd behavior in cm find command using branches

    Hi! This is interesting and good to know! It should be noted though, that the following does not work: cm find "branch where name = 'main/trac6009' " It returns 0 branches, even though that branch exists. If I remove the "parent namespace" of the branch name, leaving only 'trac6009' it works. There is a related uservoice: https://plasticscm.uservoice.com/forums/15467-general/suggestions/13071435-add-support-for-namespace-in-find-branch-command
  7. Hi! To answer the original question regarding after-mkbranch: "... the environment variable PLASTIC_BRANCH_NAME is set to XYZ instead of /main/XYZ. How can I find out the full branch name within the trigger?" According to documentation ( at https://www.plasticscm.com/documentation/triggers/plastic-scm-version-control-triggers-guide.shtml#Createbranch ) there is now a variable PLASTIC_FULL_BRANCH_NAME, which is supposed to contain the full branch name specification.
  8. I added the request for branch namespace support in "find branch" as a new uservoice here: https://plasticscm.uservoice.com/forums/15467-general/suggestions/13071435-add-support-for-namespace-in-find-branch-command
  9. Find changesets where a specific attribute is not set

    Hey, my coworker just found out that writing : cm find branch where not attribute = 'STATUS' does exactly what's asked for here, namely find the branches that do NOT have that specific attribute "STATUS" regardless of whether there are other attributes or not. I'm baffled that Codice staff could not provide us with this answer? Or was this silently added recently? (I'm running Plastic SCM
  10. I added a new uservoice to reflect this request: http://plasticscm.uservoice.com/forums/15467-general/suggestions/12374433-in-2d-history-of-a-directory-show-merge-arrows-th
  11. Awaking this thread once again, since I found another interesting scenario. I often bring up the 2D history tree for a directory to see what changes are done to its contents. This works quite fine, but I've discovered that it does not show merge arrows for merges that involve items inside the relevant subtree. This makes it harder to follow what happened. For example, I can see "C" changesets on a child branch and then later a "C" changeset on the main branch where the comment on the latter says it was merged back from the child branch, but there is no merge arrow displayed. For a more informative view, I would suggest that for 2D history of a directory, merge arrows should be shown whenever a merge involves any of the items from that subtree.
  12. Item loaded twice conflict

    Hi Manu! I want you to pay special attention to my very last comment. It means that there is a possible workaround in some cases: After a cherry-pick involving added items, immediately do a normal merge back onto the original branch (the one you cherry-picked from). Of course, this is not always feasible and it will NOT help if the added files have already been modified on the original branch. Please think through what happens in that merge-back, as it will not seem to contain any changes but still it will make subsequent merge-backs work fine even when there are changes to the added items on both branches (no more "item loaded twice"). These hidden details that happens in this "magic" (seemingly empty) merge-back is exactly what I'd like you to do in the original cherry-pick, so we don't get this problematic issue in the first place... Thanks, Göran
  13. Even worse, [find branch where name = 'main'] returns 1 branch, but [find branch where name = '/main'] returns none!
  14. Find changesets where a specific attribute is not set

    Hey, manu! That is not the most intuitive interpretation of [where attribute != 'myattribute']. As I understand, it currently means [where count attributes > 0 AND the SPECIFIC attribute 'myattribute' is NOT applied]. I'm arguing in my support ticket 8642 that the meaning of that filter line [where attribute != "myattribute"] should be changed to mean simply [where the SPECIFIC attribute 'myattribute' is NOT applied]. Sure, that would change the meaning but i doubt that anyone finds the current interpretation very useful!
  15. notifications posted in a Slack channel?

    Now, of course, it's cleaner to just pass %PLASTIC_CHANGESET% and %PLASTIC_USER% on to the perl script and do the string splitting there... Caveats: * The trigger and script will run under the same user as the Plastic SCM server. On Windows this is often "NT AUTHORITY\SYSTEM". To debug your .bat file and perl script under this user, you can use the following command in the PsTools package from Microsoft (see PsExec in my last post) : psexec.exe -i -s %SystemRoot%\system32\cmd.exe * If your server has only an SSL port activated, the repserver: part of the selector passed in the %PLASTIC_CHANGESET% trigger variable may not contain a protocol identifier. This means "cm log" will fail if you pass the complete selector, since it assumes the plastic:// protocol instead of ssl://. You may then find that it works better if you simply omit the repserver: part.