Account Options

  1. Sign in
The old Google Groups will be going away soon.
Switch to the new Google Groups.
Google Groups Home
« Groups Home
Problem with Copying cells
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  10 messages - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Guenther Sohler  
View profile  
 More options Jul 20 2007, 8:19 am
Newsgroups: comp.cad.cadence
From: Guenther Sohler <guenther.soh...@wipro.com>
Date: Fri, 20 Jul 2007 14:19:32 +0200
Local: Fri, Jul 20 2007 8:19 am
Subject: Problem with Copying cells
Dear Group,

We started putting our cadence database under revision control.
Thus there sit lots of .svn directories within the library subtree.
Now, when I want to copy a cell with library manager to another one.
Its .svn directory is also copied, which is NOT inteded. It definetly
will confuse SVN and SVN consistency.
New files appearing in the filesystem(like the COPY of a cell) shall
effectively NOT be under revision control

My intent is telling cadence just to copy the KNOWN files, not all files

I found some link into this topic modifying the data.reg file but
I have just found a way of LINKING relations, not FORBIDDING relations.

Can anybody guide me to the correct way ?

rds


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Poojan Wagh  
View profile  
 More options Jul 20 2007, 11:07 am
Newsgroups: comp.cad.cadence
From: Poojan Wagh <poojanw...@gmail.com>
Date: Fri, 20 Jul 2007 15:07:01 -0000
Local: Fri, Jul 20 2007 11:07 am
Subject: Re: Problem with Copying cells
I had the same problem using subversion. I basically ended up only
copying only the files listed as being members of the cell using the
"svn cp" command. This is what you really want, as it tells subversion
of the ancestry of each cell/file. I will e-mail you my skill script
that does this directly.

My company was lucky enough to have previewed ICManage's offering.
Their implementation of version control under Cadence seemed like a
good choice. Unfortunately, we didn't have a budget allocated for
version control. Consider contacting them, since they have solved many
of these problems already.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Fergus_S  
View profile  
 More options Jul 20 2007, 7:15 pm
Newsgroups: comp.cad.cadence
From: Fergus_S <sug...@gmail.com>
Date: Fri, 20 Jul 2007 16:15:21 -0700
Local: Fri, Jul 20 2007 7:15 pm
Subject: Re: Problem with Copying cells

According to the cdsCopy documentation it should be possible to
exclude the
.svn directories from the copy operation by registering a trigger
function to
remove them from the copy list, something like this:

/*********************************************************************
 * myCcpPostExpandTrigger
 *
 * cdsCopy trigger function to prevent copy of .svn directories
 * Modifies the value of checkOffList in place.
 ********************************************************************/
procedure( myCcpPostExpandTrigger(myFunction copyPhaseStr
checkOffList
               supplementList otherFromSpecs otherToSpecs updateList
               retHint ctxList reserved )
    let(( fromSpec )
        ;;---------------------------------------------------------------------
        ;; Exclude all dot dirs and files from copy
        ;;---------------------------------------------------------------------
        foreach( copyObj checkOffList
            when( fromSpec = cadr(copyObj)
                fromSpec = gdmInspectSpec(fromSpec)
                when( rexMatchp("^\\." car(last(fromSpec)))
                    ;;---------------------------------------------------------
                    ;; Mark this item for ignore by cdsCopy, set
retHint
                    ;;---------------------------------------------------------
                    setcar( copyObj nil )
                    retHint = list(t)
                    fromSpec = buildString(setof(x fromSpec
stringp(x)) "/")
                    printf("Will not copy %L\n" fromSpec)
                ); when rexMatchp
            ); when fromSpec
        ); foreach copyObj
        t
    ); let
); procedure myCcpPostExpandTrigger

Which is registered with the 'canEdit' flag set, per the documentation

ccpRegTrigger( "ccpPostExpandTrigger"   'myCcpPostExpandTrigger t )

The trigger function is called because I do see the 'Will not copy'
messages,
but the .svn directories are copied anyway, so it's not working as
expected.
It's not even clear how it's supposed to work, since any change to
variables
inside the trigger function would not normally be visible outside the
scope of
the function, right?

You *can* remove the .svn directories from the copied library by
defining and
registering a different cdsCopy trigger, which is an acceptable
solution if you
are not copying data into another Subversion-managed library.

 /
*************************************************************************** ***
 * myCcpPostTransferTrigger
 * Description: cdsCopy trigger to delete dot dirs in destination
library
 *              Only required because vscCcpPostExpandTrigger doesn't
work

*************************************************************************** **/
procedure( myCcpPostTransferTrigger( _funcName _copyPhaseStr
_checkOffList
                                      _supplementList
                                      _otherFromSpecs otherToSpecs
                                      _updateList _retHint _ctxList
_reserved )
    let(( toSpec toGdm ddObj )
        ;;---------------------------------------------------------------------
        ;; Delete dot dirs and files from destination data
        ;;---------------------------------------------------------------------
        while( toSpec = gdmNextFromSpecList( otherToSpecs )
            toGdm = gdmInspectSpec(toSpec)
            when( rexMatchp("^\\.svn" car(last(toGdm))) &&
                                               (ddObj =
apply('ddGetObj toGdm))
                vscSystem(strcat("rm -rf " ddObj~>readPath))
            ); when rexMatchp
        ); while toSpec
        t
    ); let
); procedure myCcpPostTransferTrigger

ccpRegTrigger( "ccpPostTransferTrigger" 'myCcpPostTransferTrigger )

*** http://www.methodics-eda.com - VersIC DDM for Cadence ***


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Poojan Wagh  
View profile  
 More options Jul 21 2007, 12:01 pm
Newsgroups: comp.cad.cadence
From: Poojan Wagh <poojanw...@gmail.com>
Date: Sat, 21 Jul 2007 16:01:16 -0000
Local: Sat, Jul 21 2007 12:01 pm
Subject: Re: Problem with Copying cells
Correction to my previous post: I had meant to recommend VersIC, not
IC Manage. VersIC was the tool that we were able to preview at my
company, that had subversion integration already done. I was very
impressed with their offering.

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Guenther Sohler  
View profile  
 More options Jul 23 2007, 3:52 am
Newsgroups: comp.cad.cadence
From: Guenther Sohler <guenther.soh...@wipro.com>
Date: Mon, 23 Jul 2007 09:52:07 +0200
Local: Mon, Jul 23 2007 3:52 am
Subject: Re: Problem with Copying cells
Hallo,

I tried the 2nd approach, with ccpRegTrigger(
"ccpPostTransferTrigger" 'myCcpPostTransferTrigger )

defining the function, registering the callback.
But when I copy a cell in library manager, I expect that this
callback is triggered afterwards but it seems that it does not get called
because

* The .svn directory is still there in the copy
* i dont see the debug println
* i dont see the file created with system("touch /tmp/hallo")

What could be wrong ?


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Guenther Sohler  
View profile  
 More options Jul 23 2007, 3:54 am
Newsgroups: comp.cad.cadence
From: Guenther Sohler <guenther.soh...@wipro.com>
Date: Mon, 23 Jul 2007 09:54:40 +0200
Local: Mon, Jul 23 2007 3:54 am
Subject: Re: Problem with Copying cells

On Fri, 20 Jul 2007 15:07:01 +0000, Poojan Wagh wrote:
> I had the same problem using subversion. I basically ended up only
> copying only the files listed as being members of the cell using the
> "svn cp" command. This is what you really want, as it tells subversion
> of the ancestry of each cell/file. I will e-mail you my skill script
> that does this directly.

> My company was lucky enough to have previewed ICManage's offering.
> Their implementation of version control under Cadence seemed like a
> good choice. Unfortunately, we didn't have a budget allocated for
> version control. Consider contacting them, since they have solved many
> of these problems already.

Hallo Poojan,

Thank you for your post and the background information. I see the general
algorithm by just backing up the cadence copy with "svn cp"
I cannot understand why it is an special advantage for cdb data, when
subversion additionally remebers the cells ancester.
Do you think its possible to really REPLACE the original copy item in
library manager ?


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Fergus_S  
View profile  
 More options Jul 23 2007, 8:59 pm
Newsgroups: comp.cad.cadence
From: Fergus_S <sug...@gmail.com>
Date: Mon, 23 Jul 2007 17:59:04 -0700
Local: Mon, Jul 23 2007 8:59 pm
Subject: Re: Problem with Copying cells
Perhaps you need to set the variable to make the cdsCopy happen in
DFII - if you don't do this,  the triggers are never run:

 envSetVal("ddserv.lib" "enableCopyInDFII" 'boolean t)

fergus

On Jul 23, 7:52 pm, Guenther Sohler <guenther.soh...@wipro.com> wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Fergus_S  
View profile  
 More options Jul 23 2007, 9:07 pm
Newsgroups: comp.cad.cadence
From: Fergus_S <sug...@gmail.com>
Date: Mon, 23 Jul 2007 18:07:50 -0700
Local: Mon, Jul 23 2007 9:07 pm
Subject: Re: Problem with Copying cells
Thanks to Amir at Cadence for showing me that retHint needs to be
modified in place to be visible to the calling function.
So the working code is:

procedure( myCcpPostExpandTrigger(myFunction copyPhaseStr
               checkOffList
               supplementList otherFromSpecs otherToSpecs updateList
               retHint ctxList reserved )
    let(( fromSpec )
        ;;---------------------------------------------------------------------
        ;; Exclude all dot dirs and files from copy
        ;;---------------------------------------------------------------------
        foreach( copyObj checkOffList
            when( fromSpec = cadr(copyObj)
                fromSpec = gdmInspectSpec(fromSpec)
                when( rexMatchp("^\\." car(last(fromSpec)))
                    ;;---------------------------------------------------------
                    ;; Mark this item for ignore by cdsCopy, set
retHint
                    ;;---------------------------------------------------------
                    setcar( copyObj nil )
                    setcar(retHint t)
                    fromSpec = buildString(setof(x fromSpec
stringp(x)) "/")
                    printf("Will not copy %L\n" fromSpec)
                ); when rexMatchp
            ); when fromSpec
        ); foreach copyObj
        t
    ); let
); procedure myCcpPostExpandTrigger

ccpRegTrigger( "ccpPostExpandTrigger"   'myCcpPostExpandTrigger t )

On Jul 21, 11:15 am, Fergus_S <sug...@gmail.com> wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Poojan Wagh  
View profile  
 More options Jul 24 2007, 12:51 pm
Newsgroups: comp.cad.cadence
From: Poojan Wagh <poojanw...@gmail.com>
Date: Tue, 24 Jul 2007 16:51:46 -0000
Local: Tues, Jul 24 2007 12:51 pm
Subject: Re: Problem with Copying cells
Either copying with ancestry (using subversion) or a simple replace
(outside of subversion) are possible. Which one you choose to do
simply depends on the purpose of your operation and what methodology
you wish to follow (i.e. how much you want to use subversion's
facilities).

I was operating on the assumption that if you use subversion, you do
want to keep track of ancestry. Note that subversion can merge single
changes to binary files. It just cannot merge multiple changes to
binary files. Let's suppose:
1. You have an LNA for part1
2. You copy it (with ancestry) to part2
3. You improve on it in part2
4. You want the same changes applied to part1
Subversion can do that provided the LNA in part1 has not changed in-
between step 2 & 4.

Of course, you are always able to do a simple copy (using Cadence but
overloaded so that .svn directories don't come along). This action is
definitely more direct from a user perspective, and I believe is the
problem that you were initially trying to tackle.

However, if you use subversion to merge the changes (using a tool like
svnmerge), the repository also keeps track of which changes went where.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Guenther Sohler  
View profile  
 More options Aug 8 2007, 5:21 am
Newsgroups: comp.cad.cadence
From: Guenther Sohler <guenther.soh...@wipro.com>
Date: Wed, 08 Aug 2007 11:21:59 +0200
Local: Wed, Aug 8 2007 5:21 am
Subject: Re: Problem with Copying cells
Thank you now it works,

but you  have to change it to

>  * myCcpPostExpandTrigger
>                     setcar(rethint,t)

rds

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »