Simple 'create a patch from subversion' script

This script was written for a specific use, in a specific environment:
here's the setup:
You have a (development) PHP project under subversion source control, and another, un-versioned (live) copy.  You make changes to the development version, committing them to the repository as you go, until you're happy with your changes, then you want to copy any files that have changed since revision X (the last time you moved things across) from the development project into the live site.
This script gets any modified / added files from revision X upwards from the repository and puts them (preserving the directory structure) into a directory called 'patch-rX'.  You can then just drop these into your live site to 'patch' it to the latest revision.
It's not particularly elegant, and it doesn't deal with files that are removed from the repository (I'd have to parse the 'status' bit of each line, find out what's happened to the file and so-on) but as a quick and dirty hack it works quite well.
run it like this:
make patch.sh REVISION URL
where REVISION is the lowest revision number to get changes from and URL is the url of your repository.
#!/bin/bash
#make patch.sh
#by Paul B
#[email protected]
#simple script to make a very simple patch from a repository
#call with make patch.sh REVISION URL
#REVISION should be the lowest revision to get changes from, script gets all changes from REVISION to HEAD
#URL is the url of your repository
#eg: make patch.sh 750 svn://redmine.tyrrellsystems.com/tms/tms_dev/Trunk
#first we need to get a list of changes since requested revision
svn diff -r$1 $2 --summarize > filelist.txt
#now remove the repo information from each line, so we're just left with the path from the root upwards
sed -i "s#$2# #g" filelist.txt
sed -i "s#M # #g" filelist.txt
sed -i "s#A # #g" filelist.txt
#now loop through what we've got
#create the relevant folder, and export the file into it
for i in $(cat filelist.txt);
do
filename=$(basename $i);
path=$(dirname $i);
mkdir -p patch-r$1/$path
svn export --force $2/$path/$filename patch-r$1/$path/$filename
echo "$filename";
done

This sounds similar to svn-export. Perhaps you would find that useful as well.

Similar Messages

  • Create preallocated BO from UI Script

    Is it somehow possible to create a new BO from a UI Script, preallocate it with some values and save it without user interaction (of course except a button click that initiates the creation)?
    The reason we need this ist that we have to model some kind of hierarchy with a dedicated root BO and we do not want to burden the enduser with entering any dummy data in this BO.
    Maybe there is also another way to create the said BO. I'm open to any suggestion.
    Cheers
    Daniel

    Ok, here ist what we are up to in more detail...
    We are trying to build up a similar hierarchy as the ProductHierarchy. However, or technical reasons we can't build a UI that looks as the ProductHierarchy (we already checked that with our dev coach). So we're trying to find a workaround.
    The idea is to have a field that shows the path to the currently selected parent (e.g., a  link or a static text). Below this field will be a table showing all children of the selected parent node. As we do have more than one top level element we need to show them all when starting up the OWL. That's why we want to introduce a dedicated RootNode which does not carry any information. It's sole purpose is to serve as a parent node for the top level elements.
    The further navigation will be something like this:
    The user will select one of the nodes and set it (via a button) as the new parent node. In the table will then be shown the new parent node's children.
    Here some visualization (which I hope will clarify the problem):
    Upon starting the OWL the following picture will be shown:
    Currently Selected Node: Root
    + item 1 +
    + item 2 +
    + item 3 +
    Now the user selects item 2 and presses a button to select this item. Thus, the picture will change to the following:
    Currently Selected Node: Root > item 2
    + sub item 1 of item 2 +
    + sub item 2 of item 2 +
    I hope this put things straight.
    So, yes we are in an OWL that's why we do not have a BO instance. At first we also had the idea with the "dummy" node, but this as well has to be created at first.
    - Daniel

  • How to create several procedures from several script files?

    Hello,
    I have several procedures for SAP HANA. Every procedure is stored in a script file. I can only use SAP HANA Studio.  How can I easily  run all script files to create all procedures on a schema? Can somebody help me?
    Best regards,
    Y.Hu

    Hi Fernando,
    Thank you very much for you explanation.
    My scripts contain native sql statements for creation stored procedures “CREATE PROCEDURE … AS BEGIN … END”. They are not objects for or from Content/package. The procedures should be created direct in a project schema.
    The option with hdbsql command line is not possible because I may not use hdbsql (unfortunately not allowed for me).
    The option all scripts into a big file is a possible option for me. The big file has only 1600 lines. But there is a  strange problem with the text “FOR” in script (please see the thread http://scn.sap.com/thread/3728741 ). Unfortunately SAP HANA Studio cannot run my big script. 
    I hope there is a solution or workaround for this problem.
    Best regards,
    Y.Hu

  • Creating an RDI  file from SAP script

    Hello All,
    I would like to create an RDI file from SAP Script.
    Please can anyone let me know how do we do it programmatically.
    I am aware of the option of setting RDI parameter to 'X'.
    However my requirement is to allow user to have a print preview option and simulatenously create RDI file .
    Thanks and Regards
    Amruta

    See:
    http://discussions.apple.com/message.jspa?messageID=11535851#11535851

  • Hel with modifying cs5/6 script...create anchored frames from text

    hello
    I have one great time saver script for cs5 for create anchored frames from text tagged with/or charachter style/paragraph style. This work in cs6 but have some "bugs" for me. Script need to be compatible with InDesign CS6.
    1. script in original (look bellow) create text frame which is fitted to lenght of the text. I make change and change 466 line:
    AnchoredTextFrame.fit(FitOptions.FRAME_TO_CONTENT);
    now frame is wide as I write in check box, good. But frame not resize to lenght of the text so I add after above lines 466-470:
        var FO = FitOptions.FRAME_TO_CONTENT,
        tfs = ([]).concat.apply([], app.activeDocument.stories.everyItem().textContainers),
        t, i = tfs.length;
    while( i-- ) (t=tfs[i]).overflows && ( t.locked || t.fit(FO) );
    now all is ok but is here better way to make this to work? Simply, i want to spec text frame width in dialog box, frame will resize only verticaly in direction to amount text in frame. I dont want any overset text.
    2. One "bug". For some reason script alter paragraph style of other text which is not subject to be cutted in anchored frame.
    How to resolve this?
    #targetengine "session"
              Automating anchored object creation
              Version: 2
        Script by Thomas Silkjær
              http://indesigning.net/
    Модификация Б. Кащеев, www.adobeindesign.ru
    Скрипт предназначен для создания привязанных фреймов из текста, отформатированного
    каким-либо абзацным или символьным стилем. Эти стили задаются пользователем в диалоговом
    окне скрита. Там же необходимо задать объектный стиль для привязанного фрейма, в котором
    пользователь должен заранее задать оформление и параметры привязки. Далее необходимо
    указать ширину привязанного фрейма, а его высота будет рассчитана автоматически исходя из
    объема текста. При вводе дробных значений ширины привязанного фрейма в качестве
    разделителя целой и дробной части следует использовать не запятую, а точку, следуя западным
    стандартам разработчиков программы  Adobe InDesign. Первоначально идея и скрипт по созданию
    привязанных фреймов принадлежит Thomas Silkjær для версии ID CS4. C появлением версий CS5
    и CS5.5 скрипт перестал в них выполняться, да и в версии CS4 не всегда корректно работал.
    Анализируя недочеты скрипта в данной его версии были исправлены ошибки и внесены
    функциональные дополнения исходя из понимания задачи автором модификации. Добавлена
    возможность выбора стилей, если они они находятся в группах (папках), возможность выбора
    единиц измерения из выпадающего списка, изменены GREP-выражения для поиска текста,
    область действия скрипта ограничена материалом (Story), а не документом.
    var myMeasureUnits = ["Milimeters","Centimeters","Points","Inches", "Picas", "Ciceros"];
    var selectUnits;
    var pStyleIndex = null;
    var cStyleIndex = null;
    var oStyleIndex = null;
    var myH, myW;
    function main()
        app.scriptPreferences.userInteractionLevel = UserInteractionLevels.interactWithAll;
              if (app.documents.length == 0)
                        alert ("Document is not open. Open document first");
                        return;
        var myParaStyleList = myGetParagraphStyleNames();
        var myCharStyleList = myGetCharacterStyleNames();
        var myObjStyleList = myGetObjStyleNames();
        if(app.selection.length && app.selection[0].hasOwnProperty("baseline"))
            var myStory = app.selection[0].parentStory;
            var myWin = myDialog(myParaStyleList, myCharStyleList, myObjStyleList);
            if ( myWin.show()  == 1 )
                var myDocument = app.activeDocument
                with (myDocument.viewPreferences){
                    // Сохраняем старые единицы измерения в переменных myOldXUnits, myOldYUnits
                    var myOldXUnits = horizontalMeasurementUnits;
                    var myOldYUnits = verticalMeasurementUnits;
                    // Устанавливаем новые единицы измерения
                    switch(selectUnits)
                        case 0:                   
                            horizontalMeasurementUnits = MeasurementUnits.millimeters;
                            verticalMeasurementUnits = MeasurementUnits.millimeters;
                            break;
                        case 1:
                            horizontalMeasurementUnits = MeasurementUnits.centimeters;
                            verticalMeasurementUnits = MeasurementUnits.centimeters;
                            break;
                        case 2:
                            horizontalMeasurementUnits = MeasurementUnits.points;
                            verticalMeasurementUnits = MeasurementUnits.points;
                            break;                  
                        case 3:
                            horizontalMeasurementUnits = MeasurementUnits.inches;
                            verticalMeasurementUnits = MeasurementUnits.inches;
                            break;
                        case 4:
                            horizontalMeasurementUnits = MeasurementUnits.picas;
                            verticalMeasurementUnits = MeasurementUnits.picas;
                            break;
                        case 5:
                            horizontalMeasurementUnits = MeasurementUnits.ciceros;
                            verticalMeasurementUnits = MeasurementUnits.ciceros;
                            break;
                        default: break;
                    } // switch
                if(cStyleIndex == null)
                {/*поиск по стилю абзаца*/
                    var pStyle = getParagraphStyleByName(myParaStyleList[pStyleIndex]);
                    resetGREPfindChange();
                    app.findGrepPreferences.appliedParagraphStyle = pStyle;
                    app.findGrepPreferences.findWhat = NothingEnum.nothing;
                else //
                    // поиск по стилю символов
                    var cStyle = getCharacterStyleByName(myCharStyleList[cStyleIndex]);
                    resetGREPfindChange();
                    app.findGrepPreferences.appliedCharacterStyle = cStyle;
                    //app.findGrepPreferences.findWhat = ".+";
                    app.findGrepPreferences.findWhat = NothingEnum.nothing;
                var foundItems = myStory.findGrep();
                if(!foundItems.length) {
                    alert("Found the text to be placed in a linked frames"); exit();
                //alert(foundItems.length);
                //alert (foundItems[0].contents)
                //alert (foundItems[1].contents)
                var oStyle = getObjectStyleByName(myObjStyleList[oStyleIndex]);
                for(var i = foundItems.length-1; i >=0; i--)
                    //alert (foundItems[i].contents)
                    createAnchoredFrame(foundItems[i], oStyle);
                with (myDocument.viewPreferences){
                    try{
                        horizontalMeasurementUnits = myOldXUnits;
                        verticalMeasurementUnits = myOldYUnits;
                    catch(myError){
                        alert("Unable to return to the original unit");
            } //if ( myWin.show()
        } //if(app.selection.length && app.selection[0].hasOwnProperty("baseline"))
        else
            alert("Place the cursor in the text and run the script again")
    } // main
    function myGetParagraphStyleNames()
    // Получаем список стилей абзацев
              var curGroup;
              var curGroupName;
              var curNameInGroup;
              var myParagraphStyleNames = app.activeDocument.paragraphStyles.everyItem().name;
              myParagraphStyleNames.shift(); // удаление стиля No Paragraph Style
              var paraGroups = app.activeDocument.paragraphStyleGroups;
              var paraGroupsLen = paraGroups.length;
              for(var i = 0; i < paraGroupsLen; i++) {
                        curGroup = paraGroups[i];
                        curGroupName = paraGroups[i].name;
                        curGroupStyleNames = curGroup.paragraphStyles.everyItem().name
                        for (j=0; j< curGroupStyleNames.length; j++)
                                  curNameInGroup = curGroupName +":"+ curGroupStyleNames[j];
                                  myParagraphStyleNames.push(curNameInGroup);
              return myParagraphStyleNames;
    function myGetCharacterStyleNames()
    // Получаем список символьных стилей
              var curGroup;
              var curGroupName;
              var curNameInGroup;
              var myCharacterStyleNames = app.activeDocument.characterStyles.everyItem().name;
              myCharacterStyleNames.shift(); // удаление стиля None
              var charGroups = app.activeDocument.characterStyleGroups;
              var charStyleGroupLen = charGroups.length;
              for(var i=0; i < charStyleGroupLen; i++)
                        curGroup = charGroups[i];
                        curGroupName = charGroups[i].name;
                        curGroupStyleNames = curGroup.characterStyles.everyItem().name;
                        for (j=0; j< curGroupStyleNames.length; j++)
                                  curNameInGroup = curGroupName +":"+ curGroupStyleNames[j];
                                  myCharacterStyleNames.push(curNameInGroup);
              } //for
              return myCharacterStyleNames;
    } // fnc
    function myGetObjStyleNames()
        var curGroup;
              var curGroupName;
              var curNameInGroup;
              var myObjStyleNames = app.activeDocument.objectStyles.everyItem().name;
        myObjStyleNames.shift();
        var objGroups = app.activeDocument.objectStyleGroups;
        var objStyleGroupLen = objGroups.length;
        for(var i=0; i < objStyleGroupLen; i++)
                        curGroup = objGroups[i];
                        curGroupName = objGroups[i].name;
                        curGroupStyleNames = curGroup.objectStyles.everyItem().name;
                        for (var j=0; j< curGroupStyleNames.length; j++)
                                  curNameInGroup = curGroupName +":"+ curGroupStyleNames[j];
                                  myObjStyleNames.push(curNameInGroup);
              } //for
        return myObjStyleNames;
    } // fnc
    function myDialog(myParaStyleList, myCharStyleList, myObjStyleList)
        var myDialog = new Window('dialog', 'Create anchored text frames');
        this.windowRef = myDialog;
              myDialog.orientation = "column";
        myDialog.alignChildren = ['fill', 'fill'];
        // добавляем панель 1 с элементами управления
        myDialog.Pnl1 = myDialog.add("panel", undefined, "Move the text in linked frames");
              myDialog.Pnl1.orientation = "column";
        myDialog.Pnl1.alignChildren = "left";
        myDialog.Pnl1.pstyle = myDialog.Pnl1.add('checkbox', undefined, "Text with the paragraph style");
        myDialog.Pnl1.pstyle.value = false;
        myDialog.Pnl1.dropdownParaStyle = myDialog.Pnl1.add("dropdownlist", undefined, myParaStyleList);
        myDialog.Pnl1.dropdownParaStyle.title = "Select the paragraph style ";
        myDialog.Pnl1.dropdownParaStyle.minimumSize = [250,20];
        myDialog.Pnl1.dropdownParaStyle.enabled = false;
        myDialog.Pnl1.dropdownParaStyle.selection = 0;
        if(myCharStyleList.length)
            myDialog.Pnl1.сstyle = myDialog.Pnl1.add('checkbox', undefined, "Text with character style");
            myDialog.Pnl1.сstyle.value = false;
            myDialog.Pnl1.dropdownCharStyle = myDialog.Pnl1.add("dropdownlist", undefined, myCharStyleList );
            myDialog.Pnl1.dropdownCharStyle.title = "Select the character style ";
            myDialog.Pnl1.dropdownCharStyle.minimumSize = [250,20];
            myDialog.Pnl1.dropdownCharStyle.enabled = false;
            myDialog.Pnl1.dropdownCharStyle.selection = 0;
            myDialog.Pnl1.pstyle.onClick = function()
                if(this.value) {
                    myDialog.Pnl1.dropdownParaStyle.enabled = true;
                    myDialog.Pnl1.dropdownCharStyle.enabled = false;
                    myDialog.Pnl1.сstyle.value = false;
                else
                    myDialog.Pnl1.dropdownParaStyle.enabled = false;
                    myDialog.Pnl1.dropdownCharStyle.enabled = true ;
                    myDialog.Pnl1.сstyle.value = true;
            }// fnc
            myDialog.Pnl1.сstyle.onClick = function()
                if(this.value)
                    myDialog.Pnl1.dropdownCharStyle.enabled = true;
                    myDialog.Pnl1.dropdownParaStyle.enabled = false;
                    myDialog.Pnl1.pstyle.value = false;
                else
                    myDialog.Pnl1.dropdownCharStyle.enabled = false;
                    myDialog.Pnl1.dropdownParaStyle.enabled = true ;
                    myDialog.Pnl1.pstyle.value = true;
            }// fnc
        }//  if(myCharStyleList.length)
        else
            myDialog.Pnl1.pstyle.onClick = function()
                if(this.value)
                    myDialog.Pnl1.dropdownParaStyle.enabled = true;
                else
                    myDialog.Pnl1.dropdownParaStyle.enabled = false;
    //  Вторая панель
        myDialog.Pnl2 = myDialog.add("panel", undefined, "Parameters of the text frame");
              myDialog.Pnl2.orientation = "column";
        myDialog.Pnl2.alignChildren = "left"; 
        myDialog.Pnl2.dropdownObjStyle = myDialog.Pnl2.add("dropdownlist", undefined, myObjStyleList );
        myDialog.Pnl2.dropdownObjStyle.title = "Select an object style ";
        myDialog.Pnl2.dropdownObjStyle.minimumSize = [250,20];
        myDialog.Pnl2.dropdownObjStyle.enabled = true;
        myDialog.Pnl2.dropdownObjStyle.selection = 0;
        myDialog.Pnl2.Group1 = myDialog.Pnl2.add( "group" );
        myDialog.Pnl2.Group1.stxt1 = myDialog.Pnl2.Group1.add("statictext", undefined, "The width of the text frame");
        myDialog.Pnl2.Group1.etxt = myDialog.Pnl2.Group1.add("edittext", undefined, "40");
        myDialog.Pnl2.Group1.etxt.characters = 10;
        myDialog.Pnl2.Group1.dropdownMeasurementUnits = myDialog.Pnl2.Group1.add("dropdownlist", undefined, myMeasureUnits );
        myDialog.Pnl2.Group1.dropdownMeasurementUnits.maximumSize = [80,20];
        myDialog.Pnl2.Group1.dropdownMeasurementUnits.selection = 0;
        //myDialog.Pnl2.Group1.stxt2 = myDialog.Pnl2.Group1.add("statictext", undefined, "mm ");
        /*myDialog.Pnl2.Group2 = myDialog.Pnl2.add( "group" );
        myDialog.Pnl2.Group2.stxt1 = myDialog.Pnl2.Group2.add("statictext", undefined, "Высота привязанного фрейма  ");
        myDialog.Pnl2.Group2.etxt = myDialog.Pnl2.Group2.add("edittext", undefined, "30");
        myDialog.Pnl2.Group2.etxt.characters = 10;
        //myDialog.Pnl2.Group2.stxt2 = myDialog.Pnl2.Group2.add("statictext", undefined, "mm ");*/
        myDialog.Pnl2.stxt1 = myDialog.Pnl2.add("statictext", undefined, "Attention! When you enter fractional values as");
        myDialog.Pnl2.stxt2 = myDialog.Pnl2.add("statictext", undefined, "the decimal part, should be used");
        myDialog.Pnl2.stxt3 = myDialog.Pnl2.add("statictext", undefined, "point, not comma.");
        myDialog.Pnl2.stxt1.graphics.foregroundColor = myDialog.Pnl2.stxt1.graphics.newPen (myDialog.Pnl2.stxt1.graphics.PenType.SOLID_COLOR, [1, 0, 0, 1], 1);
        myDialog.Pnl2.stxt2.graphics.foregroundColor = myDialog.Pnl2.stxt2.graphics.newPen (myDialog.Pnl2.stxt2.graphics.PenType.SOLID_COLOR, [1, 0, 0, 1], 1);
        myDialog.Pnl2.stxt3.graphics.foregroundColor = myDialog.Pnl2.stxt3.graphics.newPen (myDialog.Pnl2.stxt3.graphics.PenType.SOLID_COLOR, [1, 0, 0, 1], 1);
        // --------- кнопки --------------
        var myGroup = myDialog.add( "group" );
        myGroup.orientation = 'row';
        myGroup.alignChildren = ['fill', 'fill']; 
        myGroup.okButton = myGroup.add( "button", undefined, "OK" );
        myGroup.okButton.onClick = function()
            if(myCharStyleList.length) // есть символьные стили в документе
                if(!myDialog.Pnl1.pstyle.value && !myDialog.Pnl1.сstyle.value)
                    alert("You must select a paragraph style or character style");
                    return ;
                if(myDialog.Pnl1.pstyle.value) { pStyleIndex= myDialog.Pnl1.dropdownParaStyle.selection.index; cStyleIndex = null;}
                else {cStyleIndex = myDialog.Pnl1.dropdownCharStyle.selection.index; pStyleIndex=null; }
            else // нет символьных стилей
                if(!myDialog.Pnl1.pstyle.value)
                    alert("You must select a paragraph style");
                    return;
                pStyleIndex = myDialog.Pnl1.dropdownParaStyle.selection.index;
                cStyleIndex = null;
            } //  else // нет символьных стилей
           oStyleIndex = myDialog.Pnl2.dropdownObjStyle.selection.index;
           if(myDialog.Pnl2.Group1.etxt.text =="")
               alert("Enter the width of the text frame");
               return;
            else
                myW = myDialog.Pnl2.Group1.etxt.text;
                myH = myW;
            /*if(myDialog.Pnl2.Group2.etxt.text == "")
                alert("Введите высоту привязанного фрейма");
                return;
            else
                myH = myDialog.Pnl2.Group2.etxt.text;
           selectUnits = myDialog.Pnl2.Group1.dropdownMeasurementUnits.selection.index;
            myDialog= this.window.close( 1 );
        myGroup.cancelButton = myGroup.add( "button", undefined, "Cancel" );
        myGroup.cancelButton.onClick = function() { myDialog = this.window.close( 0 ); }
        myDialog.Pnl3 = myDialog.add("panel", undefined, "");
        myDialog.Pnl2.alignChildren = "left";
        myDialog.Pnl3.stxt = myDialog.Pnl3.add("statictext", undefined, "(с) Thomas Silkjær        (с) Борис Кащеев, www.adobeindesign.ru ");
        return myDialog;   
    } // fnc
    function getParagraphStyleByName(myStyleName)
              var DocParaStyles = app.activeDocument.paragraphStyles;
              var DocParaGroups = app.activeDocument.paragraphStyleGroups;
              myStyleName = ""+myStyleName;
              var pos = myStyleName.indexOf(":")
              if(pos == -1)
              // стиль не в группе
              var myStyle = DocParaStyles.item(myStyleName);
                        return myStyle;
              } //if
              else
                        var myGroupAndStyleNames = myStyleName.split(":")
                        var myGroupName = myGroupAndStyleNames[0];
                        var myStyleName = myGroupAndStyleNames[1];
                        var myGroup =DocParaGroups.item(myGroupName);
                        return myGroup.paragraphStyles.item(myStyleName);
    } // fnc
    function getCharacterStyleByName(myStyleName)
              var DocChStyles = app.activeDocument.characterStyles;
              var DocCharGroups = app.activeDocument.characterStyleGroups;
              // Есть ли в имени полученного символьного стиля двоеточие? (двоеточие разделяет название группы стилей и название стиля)
              myStyleName = String (myStyleName);
              var pos = myStyleName.indexOf(":");
              if(pos == -1)
              // стиль не в группе
                        return DocChStyles.item(myStyleName)
              } //if...
              else
              {// Стиль в какой-то группе
                        var myGroupAndStyleNames = myStyleName.split(":")
                        var myGroupName = myGroupAndStyleNames[0];
                        var myStyleName = myGroupAndStyleNames[1];
                        var myGroup = DocCharGroups.item(myGroupName);
                        return myGroup.characterStyles.itemByName(myStyleName);
              } // else
    } // fnc()+
    function getObjectStyleByName(myStyleName)
        var DocObjStyles = app.activeDocument.objectStyles;
        var DocCObjGroups = app.activeDocument.objectStyleGroups;
        myStyleName = String (myStyleName);
        var pos = myStyleName.indexOf(":");
        if(pos == -1)
              // стиль не в группе
                        return DocObjStyles.item(myStyleName);
              } //if...
        var myGroupAndStyleNames = myStyleName.split(":");
        var myGroupName = myGroupAndStyleNames[0];
        var myStyleName = myGroupAndStyleNames[1];
        var myGroup = DocObjGroups.item(myGroupName);
                        return myGroup.objectStyles.itemByName(myStyleName);
    } //fnc
    function resetGREPfindChange()
        app.changeGrepPreferences = NothingEnum.nothing;
        app.findGrepPreferences = NothingEnum.nothing;
        app.findChangeGrepOptions.includeFootnotes = false;
        app.findChangeGrepOptions.includeHiddenLayers = false;
        app.findChangeGrepOptions.includeLockedLayersForFind = false;
        app.findChangeGrepOptions.includeLockedStoriesForFind = false;
        app.findChangeGrepOptions.includeMasterPages = false;
    function createAnchoredFrame(myText, myObjStyle)
        var myGeometricBounds = [];
        var myInsertionPoint = myText.insertionPoints[0];
        myInsertionPoint.select;
        var AnchoredTextFrame = myInsertionPoint.textFrames.add();
        myGeometricBounds = AnchoredTextFrame.geometricBounds;
        //alert(parseFloat(myH) + " " + parseFloat(myW))
        myGeometricBounds[2] = myGeometricBounds[0] + parseFloat(myH);
        myGeometricBounds[3] = myGeometricBounds[1] + parseFloat(myW);
        AnchoredTextFrame.geometricBounds = myGeometricBounds;
        AnchoredTextFrame.anchoredObjectSettings.anchoredPosition = AnchorPosition.anchored;
        myText.move(LocationOptions.before, AnchoredTextFrame.texts[0]);
        AnchoredTextFrame.appliedObjectStyle = myObjStyle;
        AnchoredTextFrame.fit(FitOptions.CONTENT_TO_FRAME);
        var FO = FitOptions.FRAME_TO_CONTENT,
        tfs = ([]).concat.apply([], app.activeDocument.stories.everyItem().textContainers),
        t, i = tfs.length;
    while( i-- ) (t=tfs[i]).overflows && ( t.locked || t.fit(FO) );
    } //fnc
    main();

    Hi Cari,
    I did create a new user account (admin level) and InDesign works like a charm.
    When I went back to the other account, plug-ins gone, I deleted the prefs and caches, restarted and still everything is crashing as before.
    At least I am working on one account and I will contiue to troubleshoot on the other account. And at some point either the new account will crash or the old account will work and I will go from there.
    Thanks for the info about Mac remembering info. Always trying to be helpful these Macs.
    And thanks for getting at least into a workable space!!! I am supremely grateful!

  • Can not create a environment variable from a script

    Hi I need to develop a script that allows me to create and set two environment variables in my system but I can�t get it ....
    This is what I got till now ...
    #!/sbin/sh
    SEISDB_HOME=/usr/local/
    export SEISDB_HOME
    LD_LIBRARY_PATH=/usr/local/lib
    export LD_LIBRARY_PATH
    If I run this commands directly in the shell it works Ok ... but calling the sentence from a script nothing happens ....
    Thanks ....
    Edited by: Jes_79 on Sep 18, 2007 1:58 PM

    do this
    create a script file
    vi /tmp/temp
    in /tmp/temp add
    GLOBAL_VARIABLE="Hello World"; export GLOBAL_VARIABLE
    save and quit vi
    fix the permissions and run /tmp/temp from a shell prompt
    then
    echo $GLOBAL_VARIABLE
    should show as empty
    from a shell window type
    . /tmp/temp
    period space /tmp/temp
    echo $GLOBAL_VARIABLE
    for you script, do the same.
    do not type the script name, but source it (add a period and space)
    alan

  • Newly created tracks (audio or aux) default to names/patches from old deleted tracks?

    Hey all. I was an extremely heavy user of Logic 9 and still am of X, and I've worked out more problems than I care to remember in both programs, but this one has me totally stumped.
    When I create new tracks, they're using patches from old tracks I've already deleted. There are not saved patches either-- Logic is just remembering the names, effects, and routing of tracks I deleted earlier in my work session and using them instead of clean tracks. Create a new auxillary track? It defaults to Ultrabeat inputs (UB 13-14, let's say) and various effects (Bitcrusher, Chorus, etc) that were used on long-since-deleted Drum Machine tracks. Create a set of new audio tracks? They use the names ("Luke Vox", "Nick Clean Vox") and effects of old, long-deleted audio tracks that I used to have.
    This is a project file I got from a friend who is not necessarily as well versed in Logic X so it's entirely possible that something just got ticked or routed weirdly or who knows what. Any ideas?
    Logic X 10.1.1
    2 x 2.8GHz Quad-Core Intel Xeon
    12GB 800Hz DDR2 RAM
    Plenty of leftover storage on the drive.

    Hi
    Go to File:Project Settings:Audio
    Do you by any chance have Automatic Management of Channel Strip Objects unchecked?
    CCT

  • I'm trying to learn how to use Xcode. I've create a simple Hide App app from a youtube video tut, but I can't get it to export with the icon I've chosen. Any clues why?

    I'm trying to learn how to use Xcode. I've create a simple Hide App app from a youtube video tut, but I can't get it to export with the icon I've chosen. Any clues why?

    We didn't do that video. Why are you asking here?
    Those videos are usually outdated....
    Use the current tools etc., in the iOS Dev Center and iTunes/iTunes U ~ Stanford.

  • [SOLVED] Enabling debug for ath9k in compat-drivers-patched from AUR

    Wireless card: TP-LINK TL-WN951N. lspci says that it is an Atheros AR5416 adapter [AR5008].
    Some background: I'm having the same issues as the OP in this thread, which references this bug report. The problem is that I get a 2000 ms ping every 30 seconds. So 2 seconds of inactivity every 30 seconds. I have the same wireless PCI card, as well. I need to fix this, because it's making online gaming impossible. I should also note that the card is working just fine in Windows 8, however. I am using net-auto-wireless. I have tried using wicd, enabling ath9k's nohwcrypt option, toggling the card's power save, installing the latest compat-drivers-patched from the AUR, toggling different settings in my motherboard's BIOS, and removing the antennae from the card. But nothing has made a significant difference.
    I think I'm really close now. I just have to disable ANI. But in order to do that, it seems that I need to enable debugging for ath9k. But this means that I need to either recompile a custom kernel, or somehow enable debug for ath9k in compat-drivers-patched from the AUR. I'd prefer the latter, as that means that I will have a more bleeding-edge driver. That, and I won't have to touch the kernel as much. What I want is described on this page. But it seems too complicated to me. Please let me explain.
    I've installed things from the AUR before, as mentioned above, and have properly configured my makepkg.conf for my system. So I'd like to use the CFLAGS and such that I've set. I don't understand how everything works in the PKGBUILD; I don't have much experience with sed and awk and regular expressions, and haven't done much shell scripting at all. It seems that at some point in the PKGBUILD, I need to enable debugging for ath9k before it is compiled. Apparently on the last page I linked to, I need to add:
    export CONFIG_ATH_DEBUG=y
    export CONFIG_ATH9K_DEBUG=y
    export CONFIG_ATH9K_DEBUGFS=y
    to some config.mk file. I can only get access to the config.mk file after I install the package with pacman. I've tried adding those lines to my /etc/profile file, and checked, after a reboot, with "set", that those variables are indeed set. But the thing is, with these variables set in /etc/profile, when I run makepkg, makepkg fails with an error 2. I tried again and got the same error. I removed those lines from my /etc/profile, rebooted, tried makepkg again, and everything worked. So putting those lines in my /etc/profile is not the solution, and I feel like I'm doing something very stupid. What am I doing wrong?
    I should also note that I've tried to read the wiki page on compiling a custom kernel using ABS, but it seems to just say "get your custom configuration files" and then just continue (so it assumes that I should already be familiar with the configuration part). The PKGBUILD and Creating Packages wiki pages also seem to be a little... too advanced for me at this point in time.
    So how do I enable debugging for ath9k in compat-drivers-patched from the AUR? I'd prefer to stick with only editing the PKGBUILD and using makepkg, if possible.
    I've really tried to search the web and the arch forums on how to fix this problem myself, but alas, it seems that I need help this time. I greatly appreciate your time for reading my long post.
    UPDATE:
    I've made a lot of progress. I ended up removing the AUR package with pacman by invoking "pacman -Rsn compat-drivers-patched".
    Instructions for [almost] success: First, download compat-drivers-patched from AUR. Then move it to the "builds" directory (or "local", if using ABS). Extract the tarball. After the new directory is created, cd into it. Now here's the important part: run
    $ makepkg -so
    Then cd into src, cd into the directory inside src, then edit the config.mk file. Make sure these lines are uncommented (or created, if not already there):
    export CONFIG_CFG80211_DEBUGFS=y
    export CONFIG_MAC80211_DEBUGFS=y
    export CONFIG_ATH_DEBUG=y
    export CONFIG_ATH9K_DEBUG=y
    export CONFIG_ATH9K_DEBUGFS=y
    (source)
    Now run "cd ../.." to go back up two directories. Now run:
    $ makepkg -e
    # pacman -U <file that was produced>
    And I ran "mkinitcpio -p linux" just in case, but I'm not sure if that is necessary at all. I'm... not touching the kernel, right?
    Now I ran:
    echo 1 > /sys/kernel/debug/ieee80211/phy0/ath9k/disable_ani
    But bash would say that the file or directory doesn't exist. Even if I prepend it with "sudo", I get the same results. I was only able to get the command to work if I logged in as root. I even put the line in my /etc/profile. The 2000 ms ping every 30 seconds is now GONE. HOWEVER! If I reboot and log in as a normal user, the problem is there again. If I reboot and log in as root, the problem is gone. If I then log out and then log back in as a normal user, the problem does not come back.
    So really, I can avoid the problem if I first log in as root, log out, and then log back in as a normal user. But this is a great inconvenience. I would much prefer if I could just log in as a normal user right after boot, and have everything working.
    Now, how do I get the command to automatically run at boot as root (without me having to log in as root), and work?
    UPDATE 2:
    I got it working. Putting the line in /etc/profile is not the solution. I created a custom systemd .service file.
    Put this into /etc/systemd/service (name it "disable_ani.service"):
    EDIT: Wow. I made a glaring typo here. It should be /etc/systemd/system/disable_ani.service
    [Unit]
    Description=disable_ani
    [Service]
    Type=oneshot
    ExecStart=/bin/sh -c "echo 1 > /sys/kernel/debug/ieee80211/phy0/ath9k/disable_ani"
    [Install]
    WantedBy=multi-user.target
    Then make sure to "sudo chmod 755 /etc/systemd/service/disable_ani.service", since root owns this file.
    Then run "sudo systemctl enable disable_ani.service".
    EDIT: It has been brought to my attention that there is a much simpler way than creating a custom service.
    Using a tmpfile:
    /etc/tmpfiles.d/disable_ani.conf
    w /sys/kernel/debug/ieee80211/phy0/ath9k/disable_ani - - - - 1
    Done.
    Now ANI is persistently disabled between boots, even if I log in as a normal user right after boot.
    Thanks for reading.
    Last edited by vyu223 (2013-03-12 10:20:19)

    So zsh is telling you that the command didn't work, since it claims that there is no such file or directory. I had a lot of trouble with getting the echo command to work, as well. I found that if out of these lines:
    export CONFIG_CFG80211_DEBUGFS=y
    export CONFIG_MAC80211_DEBUGFS=y
    export CONFIG_ATH_DEBUG=y
    export CONFIG_ATH9K_DEBUG=y
    export CONFIG_ATH9K_DEBUGFS=y
    If the first and second line above were not uncommented in the config.mk file, I couldn't leave the last line above uncommented as well, or else makepkg would fail and give me an error. So originally I had only the 3rd and 4th lines above uncommented/inserted in my config.mk. With that configuration, I could not get the echo command to work, no matter what. Have you uncommented or inserted all of the above 5 lines into your config.mk?
    After making sure all of the above 5 lines were in my config.mk, the echo command still didn't work, even if I preceded the command with sudo, or entered a su session. Bash would tell me that there was no such file or directory. I found that if I actually logged out of my normal user, and then logged back into the computer as root, the command would work. If your shell does not give you any feedback (particularly, "no such file or directory"), then the command worked. In order to get the command to run every time the computer boots, I used a systemd service, so that the command is issued as root. For some reason, it doesn't work if you put the command into /etc/profile.
    Oh, and it would probably be helpful to mention that for the compat-drivers-patched package from the AUR, the PKGBUILD checks to see what your _selected_drivers variable is before compilation. If you set _selected_drivers=ath9k, your compile times will be much shorter.

  • How can I create 50p footage from 50i in Premiere or After FX?

    Hi,
    I'm trying to create 50p footage from 50i. Not 25p! I want to create 50p footage through a process that it is used in 100 HZ LCD TV sets
    This is the idea. If you have 50i footage you can easily interpolate fields and get a 25p footage. Fine.
    But I would like not to do a simple interpolation.
    Let's say I have two 50i frames. I want to create a frame between the two made with the lower field of the first one and the upper field from the second one . This is the process used by 100 Hz LCD monitors that can actually invent non-existent frames by this method.
    But Premiere doesn't work this way.
    If you try to export a 50i footage to 50p what you get is 50p footage with identical frames at twos (1=2, 3=4, etc..)
    You can try a slightly different approach.
    You can slow down 50% the 50i footage (and then speed it up again). This forces Premiere to interpolate and create an extra frame but.. here is the problem.. Premiere "thinks in frames".. and interpolates a totally new interlaced frame. This frame, coming from interpolation, is actually a "fake" frame Comes from nowhere and so it has much less definition then the originals (the one before and the one afterwards). If then you render, speed up at 200% and watch the result what you see is a good frame, a blurred frame, a good frame, a blurred frame, etc..
    Does anybody know a method of getting out 50 real interlaced or progressive frames with this composition?
    INTERLACED  (100i):  1U1L 1L2U 2U2L 2L3U 3U3L
    PROGRESSIVE 50p): (1U1L) (1L2U) (2U2L) (2L3U) (3U3L)   .... That is exactly as interlaced but with the two fields interpolated
    Also please note that this method applied on an edited movie creates smooth transitions at cuts (a frame that has 1 field from the scene before and one form the scene after).
    thanks,
    Marcello

    I would do this outside of Premiere.
    Here's a thread to pull.
    Though the web site information deals with NTSC, the script's author (Dan Isaacs) has built in several PAL options as well.  I've just never used them.

  • How to create value objects from xml

    I am receiving xml back from my web service ( e4x ). I am
    trying to figure out how to create a value object without having to
    manually fetch each value in the value objects constructor. I am
    using introspecton in my Java web service to do this. Is there such
    a thing in Action Script?
    Anyone done this before that can share some code???? Any help
    would be very much appreciated.

    That's twice now I've heard that. lol.
    I am using Cairngorm and I suppose out of ignorance perhaps,
    I am using VO's. So my web service would return an Object Proxy and
    I have some code that could create objects dynamically from the
    results. The objects had to be simple of course and now they are
    becoming more complex thus the need to change to e4x instead of
    objects.
    So now I am trying to convert the xml result into the desired
    VO to be used throughout the rest of the application. I'm not sure
    how to use Cairngorm without the VO's they are tied to everything.
    Are you familiar with the architecture? Your thoughts?

  • Oracle SQL template to create re-usable DDL/DML Scripts for Oracle database

    Hi,
    I have a requirement to put together a Oracle SQL template to create re-usable DDL/DML Scripts for Oracle databases.
    Only the Oracle DBA will be running the scripts so permissions is not an issue.
    The workflow for any DDL is as follows:-
    1) New Table
    a. Check if the table exists from the system/admin views.
    b. If table exists then give message "Table Exists"
    c. If table does not exist then execute DDL code
    2) Add Column
    a. Check if Column exists for a given table from system/admin views
    b. If column exists in the specified table,
    b1. backup table.
    b2. alter table to make changes to the column
    b3. verify data or execute dml script convert from backup to the new change.
    c. If Column does not exist
    c1. backup table
    c2. alter table to add column
    c3. execute dml to populate column with default value.
    The DML scripts are for populating base tables with data required for business operations.
    3) Add new row
    a. check if row exists by comparing old values of each column with new values to be added for the new record.
    b. If exists, give message row exists
    c. If not exists, add new record.
    4) Update existing record (We have createtime columns in these tables so changes can be tracked)
    a. check if row exists using primary key.
    b. If exists,
    b1. deactivate the record using the "active" column of the table
    b2. Add new record with the changes required.
    c. If does not exist, add new record with the changes required.
    Could you please help with some ideas which can get this done accurately?
    I have tried several ways, but I am not able to put together something that fulfills all requirements.
    Thank you,

    First let me address your question. (This is the easy part.)
    1. The existence of tables can be found in DBA_TABLES. Query it and and then use conditional logic and execute immediate to process the DDL.
    2. The existence of table columns is found in DBA_TAB_COLUMNS. Query it and then conditionally execute your DDL. You can copy the "before picture" of the table using that same dba view, or even better, use DBMS_METADATA.
    As for your DML scripts, they should be restartable, reversible, and re-run-able. They should "fail gracefully" on error, be written in such a way that they can run twice in a row without creating duplicate changes.
    3. Adding appropriate constraints can prevent invalid duplicate rows. Also, you can usually add to the where clause so that the DML does only what it needs to do without even relying on the constraint (but the constraint is there as a safeguard). Look up the MERGE statement to learn how to do an UPSERT (update/insert), which will let you conditionally "deactivate" (update) or insert a record. Anything that you cannot do in SQL can be done with simple procedural code.
    Now, to the heart of the matter...
    You think I did not understand your requirements?
    Please be respectful of people's comments. Many of us are professionals with decades of experience working with databases and Oracle technology. We volunteer our valuable time and knowledge here for free. It is extremely common for someone to post what they feel is an easy SQL or PL/SQL question without stating the real goal--the business objective. Experienced people will spot that the "wrong question" has been asked, and then cut to the chase.
    We have some good questions for you. Not questions we need answers from, but questions you need to ask yourself and your team. You need to reexamine this post and deduce what those questions are. But I'll give you some hints: Why do you need to do what you are asking? And will this construct you are asking for even solve the root cause of your problems?
    Then ponder the following quotations about asking the right question:
    Good questions outrank easy answers.
    — Paul Samuelson
    The only interesting answers are those which destroy the questions.
    — Susan Sontag
    The scientific mind does not so much provide the right answers as ask the right questions.
    — Claude Levi-Strauss
    You can tell whether a man is clever by his answers. You can tell whether a man is wise by his questions.
    — Mahfouz Naguib
    One hears only those questions for which one is able to find answers.
    — Friedrich Nietzsche
    Be patient towards all that is unresolved in your heart and try to love the questions themselves.
    — Rainer Maria Rilke
    What people think of as the moment of discovery is really the discovery of the question.
    — Jonas Salk
    Judge a man by his questions rather than his answers.
    — Voltaire
    The ability to ask the right question is more than half the battle of finding the answer.
    — Thomas J. Watson

  • Open Word Document from Powershell script

    I've created a simple Powershell menu script to launch a few applications with but need to open some word docs as well from this script. I've tried several options and can get word to open but have not been able to get it to open a specific document. Just
    need the proper code to launch MS word and open a specific word document located on my network share. Any takers??????? :)

    You can just specify the path to the Word file and it should open it as long as the file associations are correct.
    "\\server\share\path\wordfile.docx"
    If you found this post helpful, please "Vote as Helpful". If it answered your question, remember to "Mark as Answer".
    Rich Prescott | Infrastructure Architect, Windows Engineer and PowerShell blogger | MCITP, MCTS, MCP
    [Blog] Engineering Efficiency | [Twitter]
    @Rich_Prescott | [Powershell GUI]
    Client System Administration tool | [PowerShell GUI]
    New AD User Creation tool

  • Executing a menu command from a script

    Hi,
    I'm still not very familiar with the PS CS4 object model and I'm wondering whether I can trigger the execution of a menu command from a script.
    My purpose is to fix the CS4 issue with some plugins that have a bug causing some elements of the PS CS4 interface (like the Arrange Documents drop down menu) to appear blank when hovered with the mouse. This problem usually disappears when launching these plugins. For example, you'll have the problem when installing Nik Software's Silver Efex (they promised to fix this in February but we're still waiting). Launching "File | Automate | Nik Selective Tool" and then closing the dialog fixes the issue... until you re-launch PS.
    So I want to do that automatically when PS starts. I tried with an action which I attached to the startup event but the action is not launched (probably because the plugin is not active yet). So I tried the scripting way but I don't see how I can launch a menu command automatically.
    Thanks in advance.
    Patrick

    Most events that I have used run the script after the event but I'm not sure about the startup event order either.
    You might try add the creation of a new doc to your action. Then after the nik step close the doc without saving. That may force Photoshop to wait until the plugin loads before running the action.
    Another thing you could try is create an script that calls your action. Something like
    doAction( 'run Nik', 'startup actions' );// action name, action set. I don't think that will help but its simple and might work.
    If that doesn't work then I can help you with a script that you can attach to a different event. It check to see if it's been run before and if not run your action. You could attach the script to all events to make sure it gets run soon after startup.

  • How to get the parameter from Java Script into the Parameter crystal Report

    Hi All,
    Crystal Report is integrated with Oracle 10g. I created the base SQL query for col1, col2, col3 and col4. Java Script pass parameter value (185) to Col1.
    My question is how to create crystal report to make Col1 as parameter and how to get the parameter value 185(Col1) from Java Script. Is there any additional code I need to include in the crystal report?
    FYI.
    Java script sends the right parameter value.There is no issue in java script.
    This is an automatic scheduled process when batch runs, Java script should pass the parameter value and the crystal report should get the value and produce the output report.

    Not sure if this is an application question or if you are trying to hook into Crystal Reports parameter UI? If the later then no option other than report design. If an application then I can move this to the Java Forums.
    If you are asking how to alter the parameters I suggest you remove the Java reference and post a new question so it's not confusing the issue.
    Please clarify?

Maybe you are looking for

  • How bring up the table?

    A designer made this page for me: http://www.kenweingart.com/rates.htm What's great is that if I have more text to type the table below just pushes down. My problem now is what if I now have less text? I've tried grabbing the handles below the MISCEL

  • OIM - OID Connector 9.0.4 - Incremental User Recon?

    I can't see how incremental user recon is implemented in this connector. Can anyone tell me if incremental user recon is possible with this connector and if so how to configure it to perform incremental user recon? There is no documented or default s

  • Is there a way to protect the download list and/or history so they can't be cleared/deleted?

    I use the same computer as the rest of my family. Although I am ostensibly the administrator I use the family logon for normal use. I ask the rest of my family to not clear the download list because I like to keep track of what's been downloaded in c

  • Attachments Tab not showing up in Workspace ES2

    When I open a task, I can see the old tabs (from ES) show for just an instant and then they disappear.  At the bottom of the approval container, I see buttons for Actions on the left and icons on the right for "info", "View Stat" and comments.  But,

  • Importing media to use in Actionscript 3

    Hello Everybody, i try to figure out how to access the symbols in the library directly with as3 without having them put on the canvas first. And i want to know how i access external sources graphics, videos without putting them in the library at all.