The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 1,604 other followers

Archive for the ‘PlasticSCM’ Category

Woes from last year: While checking in to @plasticscm server and having a branch selected in the PlasticSCM GUI: Error — No checkout branch found.

Posted by jpluimers on 2019/04/03

I bumped into a similar situation again, and my conclusion is that getting out of PlasticSCM woes is more cumbersome to me than getting out of similar git woes.

[WayBack] Jeroen Pluimers on Twitter: “While checking in to @plasticscm server and having a branch selected in the PlasticSCM GUI: ————————— Error ————————— No checkout branch found. ————————— OK —————————… https://t.co/k13K06mOFX”

Basically

---------------------------
Error
---------------------------
No checkout branch found.
---------------------------
OK   
---------------------------

is the Plastic GUI way of saying “I think you have checked out branch A, but while checking that one in, I could not find it on the server, could it be that it got renamed or deleted?”.

The way to reliably get out of this situation (even if you are in a merge):

  1. Make a full backup of your directory tree (robocopy /mir is your friend here)
  2. Keep a note of your check-in comment
  3. Undo your changes in the current branch
  4. Checkout a branch that never got renamed
  5. Quit the Plastic GUI
  6. Start the Plastic GUI
  7. Checkout the branch you want to apply your changes on
  8. Use Beyond Compare to compare the backup tree and the current checked out tree
  9. Sync anything changed using Beyond Compare
  10. Checkin the changes in PlasticSCM using the saved check-in comment

–jeroen

PS, the Twitter thread:

Read the rest of this entry »

Posted in Development, PlasticSCM, Software Development, Source Code Management | Leave a Comment »

It looks like the PlasticSCM people are building a git-client, but it needs on-line installation and registration

Posted by jpluimers on 2018/12/15

gmaster is an interesting Windows based git client, but you cannot install it off-line, and by default it does not use the external git.exe.

See the below tweets.

–jeroen

Read the rest of this entry »

Posted in Development, DVCS - Distributed Version Control, git, PlasticSCM, Software Development, Versioning | Leave a Comment »

plasticscm – Plastic SCM: Add ignored file – Stack Overflow

Posted by jpluimers on 2018/12/14

If you want to add ignored files in Pastic SCM, there is no --force option like for instance git has. The only way is to:

  1. edit the ignore.conf file so the affected files are not ignored any more
  2. add the affected files
  3. undo the ignore.conf change
  4. check-in the changes

Source: [WayBackplasticscm – Plastic SCM: Add ignored file – Stack Overflow

jeroen

Posted in Development, PlasticSCM, Source Code Management | Leave a Comment »

PlasticSCM Workaround for “Can’t perform a checkout in an edited xlink.”

Posted by jpluimers on 2018/11/01

Error message during a commit (checkin) or shelve of some changes:

---------------------------
Error
---------------------------
Can't perform a checkout in an edited xlink.
---------------------------
OK
---------------------------

In this case it is during a shelve:

---------------------------
Wait a moment, please...
---------------------------
In progress...
Shelving pending changes
---------------------------
OK
---------------------------

I cannot show all changes, but the third one is an xlink:

The error did not return any meaningful results when I searched for it, but the developers on the team indicated “Errors like these happen every now and then; there is no information in Google. Sit down, cry a little, then restart with a fresh repository”.

Workaround

The workaround for this undocumented behaviour is tedious, but works:

Read the rest of this entry »

Posted in Development, PlasticSCM, Software Development, Source Code Management | Leave a Comment »

Plastic SCM command-line for merge and diff

Posted by jpluimers on 2018/09/03

Just in case I have Plastic SCM without Beyond Compare:

Merge

"C:\Program Files\PlasticSCM5\client\mergetool" -b="%TEMP%\baseFile-guid.pas" -bn="baseSymbolicName" -bh="baseHash" -s="%TEMP%\sourceFile-guid.pas" -sn="srcSymbolicName" -sh="srcHash" -d="...\destinationPath\destinationFile.pas" -dh="destinationHash" -a -r="%TEMP%\resultFile.pas" -t="text" -i="NotIgnore" -e="NONE" -m="forced" -re="NONE" --progress="progressDescription" --extrainfofile="%TEMP%\extraInfoFile.tmp"

Diff

To be done

aa

Merge help (takes about 10 seconds to start):

"C:\Program Files\PlasticSCM5\client\mergetool.exe" --help

---------------------------
Mergetool usage
---------------------------
Usage: mergetool [ | ]

    diffOptions:  []

    mergeOptions:   [] [[] [] ] [] []

        baseFile:            {-b | --base}= 
        baseSymbolicName:    {-bn | --basesymbolicname}=
        automatic:           -a | --automatic
        silent:              --silent
        resultFile:          {-r | --result}=
        mergeType:           {-m | --mergeresolutiontype}={onlyone | onlysrc | onlydst | try | forced}

    generalFiles:  []  []

        sourceFile:          {-s | --source}=
        srcSymbolicName:     {-sn | --srcsymbolicname}=
        destinationFile:     {-d | --destination}= 
        dstSymbolicName:     {-dn | --dstsymbolicname}=

    generalOptions: [] [] [] []

        defaultEncoding:     {-e | --encoding}={none |ascii | unicode | bigendian | utf7 | utf8}
        comparisonMethod:    {-i | --ignore}={none | eol | whitespaces | eol&whitespaces}
        fileType:            {-t | --filestype}={text/csharp | text/XML | text}
        resultEncoding:      {-re | --resultencoding}={none |ascii | unicode | bigendian | utf7 | utf8}
        progress:            {--progress}=progress string indicating the current progress, for example: Merging file 1/8
        extraInfoFile:       {--extrainfofile}=path to a file that contains extra info about the merge

    Remarks:
          
        -a | --automatic:    Tries to resolve the merge automatically.
                             If the merge can't be resolved automatically (requires user interaction), the merge tool is shown.
        --silent:            This option must be used combined with the --automatic option.
                             When a merge can't be resolved automatically, this option causes the tool to return immediately
                             with a non-zero exit code (no merge tool is shown).
                             If the tool was able to resolve the merge automatically, the program returns exit code 0.

    Examples:

        mergetool
        mergetool -s=file1.txt -d=file2.txt
        mergetool -s=file1.txt -b=file0.txt --destination=file2.txt
        mergetool --base=file0.txt -d=file2.txt --source=file1.txt --automatic --result=result.txt
        mergetool -b=file0.txt -s=file1.txt -d=file2.txt -a -r=result.txt -e=utf7 -i=eol -t=text/csharp -m=onlyone
---------------------------
OK   
---------------------------

The merge extraInfoFile.tmp has a syntax like this:

Source (cs:-#)
    relative-sourceFile from cs:-# created by userName on timeStamp
    Comments: Source changeset description

Base (cs:#)
    relative-baseFile from cs:#@/baseBranch by userName on timeStamp
    Comments: BO's + CRUDS 

Destination (cs:#)
    relative-destinationFile from cs@/destinationBranch created by userName on timeStamp
    Comments: Destination changeset description

Where each cs is a change set number.

–jeroen

Posted in Beyond Compare, Development, PlasticSCM, Power User, Source Code Management | Leave a Comment »

 
%d bloggers like this: