Jump to content

Search the Community

Showing results for tags 'xlink'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • Plastic SCM
    • General
    • Installation and configuration
    • Unity 3D
    • Plastic SCM on Mac
    • Plastic SCM on Linux
    • Gluon
    • Git interop
    • Integrations
    • Community Edition
    • Branching and merging
    • Announcements
  • Plastic SCM 4.0 Beta (Closed)
  • Plastic Cloud
    • General
    • Configuration
  • SemanticMerge
    • General
    • License
    • SCM's configuration
    • Share your experience!
    • External Parsers
  • GitJungle
  • Method History for Subversion

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start





Website URL







Found 28 results

  1. Title kind of says it all. We're trying to insert a submodule into our Plastic Cloud repository, but all the documentation seems to indicate that we need to be running our own Plastic SCM server. So far, our solution is to create the folder for the submodule, ignore it, and keep it updated with our other git clients (we use plastic for one very large project we had no hand in creating, and bitbucket for everything else)
  2. Hi, I've been having issues syncing a plastic repository with git since I added an XLink to the project. There is a similar post here where a user is encountering a similar issue although I wasn't able to resolve my issue through that post. The issue is this. I have 2 plastic repositories, 1 called "LevelEditor" and another called "Core". These two repositories are both synced with two git repositories hosted on bitbucket. This syncing has worked just fine, but recently I created an XLink in the LevelEditor project, which points to the Core repository. Since that point I have been unable to sync LevelEditor with its git equivalent, receiving the error: "The equivalent Git repository for 'CLIFTEK_CORE_REP@localhost:8087' has not been defined. The xlink cannot be pushed. Please, add the equivalence inside the submodules section in the configuration file 'C:\Users\Thomas\AppData\Local\plastic4\gitsync.conf'." My understanding having read the thread I mentioned earlier and the documentation here is that I need to have the submodule information defined in this gitsync file. I did not actually have a gitsync file but I created one at the given path. I then proceeded to add the submodules information. This is what the file looks like: [submodules] https://bitbucket.org/cliftek/core/ -> CLIFTEK_CORE_REP@localhost:8087 writeable:true relativeserver:true Unfortunately this has had no effect for me and I still receive the exact same error as before whenever I try to sync (I have restarted the plasticscm server and client a few times). I am sure that I have got the syntax wrong or something similar but can't get it to work. Could you provide me with some assistance to help rectify this issue please? Thanks, Tom
  3. We have recently set up a project where a directory within that project is an xlink to another project. The files within this xlink are meant to never be edited, so we have the xlink on read-only. Whilst this is fine to prevent any changes to the files on source control, we need to enforce that our users cannot modify the files locally at all. Ideally this would be with a windows file lock applied recursively to the directory. Is there a convention for doing this within plastic? The closest idea I have is to use client-side triggers to file lock the directory, but I cant see a way of applying the trigger to a single repository? It feels like I am probably missing an element of Plastic SCM to solve this problem? Any help much appreciated! Thanks
  4. I have a question about merge and conflict with XLink. I would like to explain why after merge conflict exists. The problem/description: I have two repositories “TestPB” and “TestPB1”. The “TestPB” repository has XLink for the “TestPB1”. I have two branches to which the same change is added. Next updates the XLinki in the “TestPB” repository and merges like this: In this case, after the merge there is a conflict for XLink. I would expect that there will be no conflict because start and end changeset are the same, additionally the change (cs:23) was add in two branches - “TestPB1" repository. I am asking for help in explaining the merger or how to solve the problem for automatically merge
  5. I am having some trouble finding clear documentation on the following: - Is it possible to update a workspace, but NOT a writable xlink? - Is it possible to update an xlink directory, but nothing else in a workspace? Thanks in advance!
  6. Hi I am moving my Plastic Server from a server to another. I used the SyncView to replicate all repositories/branches and everything went well. Here is my problem : I change a workspace selector to use server 2 instead of server 1. I can switch branches, etc I stop server 1 to check if the xlink fallbacks to the new server (which "Use relative server" should do) Plastic says that it is unable to reach server 1 to get xlink status All my xlinks are marked as "Use relative server", but it seems that they are all pointing at rep@server1 What can I do to change the endpoint of my xlinks without removing and re-adding them ? EDIT : It seems that if I recreate a workspace targeting a repository on server 2, the xlinks are relative, so it works. But my new question is : How could xlinks target server 2 without having to recreate all my workspaces ? I mean, we are 10 developers and have huge repositories. Thanks for your help, Maxime
  7. Hi, I am using Plastic with Unity in macOS. At this moment we are using a few repo for project (main and additional packages). To the main project I connected by Xlink (in command line) another repo. However, I found two bugs: 1) I added a new label (1.0.1) to commit and push it to the cloud but Xlink doesn't see it. The previous label (1.0.0) is visible by Xlink - it was created by another person on Windows 2) The label 1.0.1 is connected with commit with "Object name 6". I connected it by changes number but some of the changes was not visible. However, when I connected to "Object name 7" (cm xlink -e NodeEditor / 7@RGNodeEditor@servername@cloud) which doesn't exist in the repository everything start working...
  8. So we're having a small workflow issue when working with Unity and a series of xlinked projects. I'll explain the problem then what I think is the cause. When making a check in, quite often a branch will be made in one of the xlinks (as expected) but it won't actually have a change set checked in at the same time as the one in the master project. When performing a sync to other machines, this causes issues as the branch doesn't get replicated unless there is a changeset in it, and checking in and switching changesets will fail due to this empty branch being missing. So what I think is causing the issue, is there are a lot of files that get 'touched' by Unity, so Plastic adds them to the check in process, even though the file contents are identical (which you can check by opening a diff window for them). When Plastic goes through it's Check In process, it sees that an item in an xlink is modified, creates the branch on the xlink, then optimises the actual checkin because the files are identical, leaving the empty branch on the machine, but as a dependency for the master project. We can currently work around this by going back to the machine that has the empty branch, making an explicit change to a file and checking that in so that there is a change set, however this isn't an ideal workflow and we've come across this several times now. If you have any ideas on ways to prevent this, or if this seems like a bug and you need reproduction steps, please let me know. Thanks!
  9. It is said that one of the best practice to use VCS is to keep all submissions compilable, or more strictly, passes unit tests. However, consider this situation: I changed the version of xlinked subproject. The new code in subproject may have major changes, and may be incompatible with the codes in parent project. Theoretically I should modify code in parent project to fit with the subproject before submit. However, before I submit the xlink verison change, I cannot get the new code in subproject. How can I solve this dilemma? Thanks!
  10. Information loss resulting from simultaneous modifications to an x-linked Repo If workspaces for two repos (A & make simultaneous changes to x-linked repo C, the following documentation link https://www.plasticscm.com/documentation/xlinks/plastic-scm-version-control-xlinks-guide.shtml#Chapter3:XlinkExpansionRules seems to indicate that repo B should be referenced somehow in the changeset triggered by the modification made from workspace B. Instead, the changeset triggered by the modification from Repo B is recorded in Repo C as if it had been produced by work in Workspace A. Even after both the A and B branches are merged back to their parents, Repo B references are nonexistent. Why is all of this the case? Another (perhaps fundamentally relevant) observation that begs explanation: After making the modification in Workspace A that, via x-link, triggered branch and changeset creation in Repo C, renaming the branch in workspace/repo A does NOT result in the equivalent change to Repo C. This behavior indicates that x-link triggered modifications to x-link targets are not so much dynamic references but rather static historical notations. As such, the implication is that x-links themselves are not references but rather a mechanism for shorthand notation specific to the exact moment of activity. In more concrete terms, this suggests that information is ignored or lost across x-link boundaries in certain situations, specifically interactivity between contending or even cooperating source branches and renaming of source branches at later points in time. One point worth noting in this example is that none of the repos (A, B nor x-linked C) ultimately contain an aggregated history of the changes that took place. If someone wanted to examine this history, they would need to conduct a systematic examination of all three repos and reconcile the overall evolution manually. Is this an accurate appraisal? How do you recommend that the above insights guide decisions about x-links when organizing source code in plastic?
  11. Hi, Imagine you have a repo B containing an xlink that you'd want to edit to point to a more recent cs in repo A. This in order to check that the feature of that cs from repo A works fine in the context of repo B. I know how to edit an xlink and have noticed this operation must be committed before being able to update the files inside the xlink. Is there a means of updating the content of the xlink without having to commit its edit to a newer cs ? So that one could test, and upon success, actually commit the edit to a newer cs. Thanks Fred
  12. It appears that XLinks hide the change histories for their targets. For example: If Repo "GLOBAL" xlinks to REPO_A, then inspection of GLOBAL's branch explorer does not show changes that were made to REPO_A unless those changes happened to have been made to a GLOBAL workspace. Changes made to a workspace instantiating REPO_A are apparently not visible when launching branch explorer for a GLOBAL workspace. What is the best way (if any exist) to assemble an aggregate change history for all of the assets below GLOBAL, including xlinked repos such as REPO_A? The fallback that I have discovered is to systematically view, in turn, the branch histories for each x-linked repo below GLOBAL, but this is of course not an aggregated report.
  13. Can anyone comment on the pros and cons of placing large SDKs, such as a fully built Boost, at the deepest level of an xlink'ed source hierarchy? Taking boost as a concrete example, imagine the following: BoostSDK is stored in a repository. Code Modules A, B and C are also each stored in a repository. Each of A, B and C have an xlink to BoostSDK. When a workspace for A (or B or C for that matter) is created on a development PC, the xlink instantiates BoostSDK within the workspace folder for A. A thus "owns" its own BoostSDK instance, and this can be very useful since A can now dictate which branch (version) of Boost it prefers to utilize. One obvious cost for this specificity is of course disk space. Along comes a new project - lets call it FOO - that in turn xlinks to all of A, B and C. By XLinking to A, B and C, a workspace for FOO now contains three instances of BoostSDK - one within each of A, B and C. Is Xlink not a recommended solution in such "large SDK cases", and best used for encapsulating ever smaller and unique development code modules rather than large general SDKs? Just because xlinks CAN be used to construct an associative tree of repos, are there reasons and/or experience that reveals why they should NOT be used in this way? What are some well worn strategies for positioning large SDKs within a collection of plastic repos so that those SDKs can be used most efficiently? Thanks in advance!
  14. Hello, In a recent release of PlasticSCM client you changed the default setting of the 'relative server' flag when creating a new xlink. We currently use only one central server and if I understand the meaning of the flag correctly, its value does not matter in our case. So far, however, we kept the former default setting, and in all xlinks we created in our repos until recently the flag was set to false. When the new version was released with the flag set to true by default, all xlinks we created since then have the flag set to true. We just didn't care about this setting. And what's the problem? We use certain jobs on Jenkins that automatically update xlinks in a selected repository to the latest changeset on /main of the xlinked repos. To do that, we use the cm command like this: cm xlink -e -w MyXlink / changeset_number@MyXlinkedRepo@Server:Port It turns out that this command can't update xlinks whose relative server flag is set to true unless you add the -rs parameter to the command (which we don't do). This causes our Jenkins jobs not to work on such xlinks. Because I can't find a command to check the relative server flag of an xlink, I can't create a script that will edit only changeset number without modifying other properties of an xlink. So the simplest workaround I can think of now is redefine all xlinks in all repositories to set the flag to false, which should make our Jenkins jobs to start working properly again. However, don't you think there is something wrong with the edit (-e) command? Why does it attempt to modify the -w or -rs flag even when you don't mention them in the command? In my opinion, if server name, xlink name, relative server and writability can't be modified in an existing xlink, the edit command shouldn't have any influence on them, don't you think? So I think specifying the -rs or -w parameter together with -e should be treated as an error. What is your opinion? Thank you.
  15. Hello everybody, When I try to sync Plastic with a git repo that contains submodules I get stuck with this error : The equivalent Git reposytory for '' has not been defined. The xlink cannot be pushed... (see capture) The message tells me to add equivalence in gitsync.conf, but this file doesn't exist on the indicated location. Moreover I have no idea on how to write the requested "equivalence", I only found how to map users and emails, but I found nowhere on the web information about the "submodule section" of the file gitsync.conf The targetted git repositories are already synced with another plastic repository on my server, so the mapping should be possible. Did someone succeed in that ? Any part of documentation I missed ? A big thank by advance for help.
  16. Open the create/edit xlink window, Specify a target repository, Open the window for selecting target changeset, Click "Advanced" to define a custom query, Clear the query text box so it is blank, Click execute. If you follow these steps, the target changeset window will display changesets of the current repository instead of those from the repository you are xlinking.
  17. We have a workspace for a whole project, part of this turns out to be re-usable and as such we want to move it out of it's current repository into it's own and setup an xLink so that the existing repository uses the library from it's new location. We shall then also set up xLinks to use the library in 2 new project repositories. The question is how can I move a directory (with history) from one repository to another? One approach that I've considered is to copy the whole existing repository (somehow) and the move the relevant library directory to the root and delete the rest of the repositories' content. What's the best approach, is there support for this kind of refactoring? Andrew.
  18. Hello, we have a problem with one workspace which has several xlinked repositories placed in subfolders. These xlinks, when observed from Items, somehow have type Directory now. Other xlinks that are placed in the root directory looks as they shood - with Type xlink and no problem with them. But weird thing is when we use another workspace of the same repository xlinks are OK there. Maybe the consequence of this weirdness is that when we try to checkin changed items under these xlinks we receive error message with 'item 2 could not be found in the tree. The new tree cannot be built'. The same checkin from healthy workspace works without problems. We use - Santiago version (client and server)
  19. When you create an xlink, you have to specify a target PlasticSCM server to be able to select a repository then. In our case, both the repository that contains the xlink definition and the one the xlink points to is on the same PlasticSCM server. I'm afraid that when the IP address of the server changes for some reason in the future, we will be unable to retrieve fully historical changesets with xlink definitions, because the xlinks will point to a server that will no longer be available. Because we currently use a single PlasticSCM server, I think it would be safer not to specify any PlasticSCM IP address, to make the xlinks be treated as local (so when retrieving an xlinked repo, PlasticSCM would have to assume it is on the same server as the repo the xlink is defined on). Is it possible to do? Thanks for your answer in advance.
  20. I have created the following Test scenario: 3 repos 1. TestParent 2. TestChild1 3. TestChild2 Create the Test Parent workspace in C:\Plastic\TestParent then add xlinks to the parent pointing to TestChild1 and TestChild2 and add files to each see attached image One can see the branching via the explorers for all 3 repos. The file directory looks as follows. This all looks good. But if one selects "Switch workspace to this changeset" on a linked branch explorer. The files from that repo get added to the root of the workspace as shown vs adding them into the linked location. switching workspace from the Parent branchexplorer puts the files back in normal location. So should one be able to switch the workspace from a linked branch explorer?
  21. Hi, when I have readonly xlink attached and modify a file there (accidentally) then it's not possible to undo the change in a normal way. I have to rebuild the workspace to repair it.
  22. Currently evaluating whether to use Plastic SCM or not, but so far, I'm impressed. I've successfully gone through the installation and the tutorial, and have a couple of questions about using XLINK. We are relatively new to VCS methodologies/techniques, so I may not be correctly using the XLINK; if so, let me know. We develop embedded applications, and as such, we often licence software libraires (as source code) from third party suppliers (i.e. RTOSs, GUIs, etc.). The licences are for source code (as opposed to linkable object files), as they need to be compiled for specific embedded MCU's/platforms/etc. with specific optimisations (speed or size) depending on the project. These libraries are regularly updated by their maintainers, and we generally release updates of our products using the latest version of these libraries. Here's my question: how do I correctly add the 3rd party library to a repo, and use it in my projects' repos? I know I need to use XLINK, but the libraries come with a bunch of other files/documents. For instance, one specific library has the following structure: \GUI_XX.YY.ZZ (root of ZIP file I get from GUI library supplier, where XX.YY.ZZ represent the version number and build) \doc (contains version specific documentation for using the library) \source (contains several sub-directories for various parts of the library) \core (contains a bunch of .c, and .h files) \bitmaps (contains a bunch of .c, and .h files) \fonts (contains a bunch of .c, and .h files) \other components, I think you get the idea \examples (contains .c code that shows how to use/demonstrate the GUI) So, as you see, I have a bunch of file that I want to "archive" in a repo for that library. I want the documentation and examples to follow the libray source code, as developpers need to have access to them when they use the library. However, they won't be modifying any of these files (nor the source, for that matter, the whole GUI repo can be read-only as far as I'm concerned.) I'm assuming (correctly?) the library will have its own repo "main line", and as each release becomes available from the supplier, it will "grow". From 1.1.46, I may go to 1.2.0, to 1.3.2, to 2.0.0, etc. I don't expect this main line to branch at all (and consequently, no merges either.) Only linear changesets as they are added over time. Now, on to the questions... Do I need to create a workspace for the library? Can I just link to the \source sub-directory (using XLINK) when I create a repo for our project? I don't want to actually "download" the documentation, examples, etc. into the project workspace, but the developper may do so on a "per case" basis for consultation. The \source WILL have to be downloaded, as it's needed to compile the project. However, should the contents of \source change (by mistake), I don't want these changes to be "committable" to the library's repo. Is this possible? Let me know if I'm trying to use XLINK the correct way, or not. Thanks!
  23. Hi, Can anyone provide input on this ? I have 2 branches(b1, b2) which used to have a writable xlink. I have changed both branches to be readonly xlinks in their respective branches and commited the changes. I now branch off(b1) on the branch(b1.1) and make some code changes, test and then merge back the child branch(b1.1) into the branch(b1). I now go to merge the branch(b1) into the other branch(b2) and get this error about renaming xlinks not supported. I do not understand this, if these 2 branch have been updated prior to the branch with the xlink change, why can i not merge the code changes, I did not do anything with the xlinks in the child branch. Any thoughts,ideas ? Do I need to undo all the xlink changes to proceed. The reason why I changed this from writable xlinks is because it should have been readonly in the first place and that looking into the xlinked repository there are some child branches being created automatically with no changesets in them, and I didn't want to eventually be looking at a lot of branches with no changesets. I'm running version Thanks, Chun
  24. Hi, I created an xlink which I want to change. How do you remove a readonly xlink which has been set up for a workspace which has a few changesets after the xlinking ? If I delete the xlinked directory, it shows up in the pending changes as removed locally and trying to update the xlink directory displays messages that say there are pending changes which you can't check in because they are readonly xlink files and directories. Thanks, Chun.
  25. Hi, I'm using Powerbuilder 12.5 Classic, Plastic I created an xlink to a common repository for a project. All the items get updated when an Update is done on the folder. However, when I look at the items in Powerbuilder, the status of the items shows a circle and a question mark above it. In the source control log file for Powerbuilder, it shows the following when I do a refresh status on the item. Srcctl::Diff() SccDiff error. Unable to read PBL source for D:\work\IASADV\SourceCode\pfc\pfcfixes\pfcfixes.pbl(d_calculator.srd) Srcctl::StatusAndDiff(): Cache Updated. D:\work\IASADV\SourceCode\pfc\pfcfixes\d_calculator.srd Status: 32769 (CONTROLLED | DIFF NOT DONE) Anyone have any ideas about this ? I created the common repository from this workspace and within the workspace for this project deleted the folder and then xlinked it to the common repository. I've tried a readonly and a writeable xlink with the same result. Thanks, Chun.
  • Create New...