Как получить сведения о проекте MKS на основе имени файла?

Можно ли как-то получить проект, в котором файл находится в интерфейсе командной строки MKS? Я новичок в написании сценариев CLI для MKS и не смог найти подходящих результатов.

Все, что я хочу, это

-> [команда] [имя файла] -> [путь к проекту]/project.pj

Любая помощь приветствуется.


person Avinash    schedule 10.12.2014    source источник
comment
Я не уверен, что этот вопрос имеет смысл, поскольку один и тот же проект может быть в нескольких проектах. Если файл входит в изолированную программную среду, вы можете перейти в эту изолированную программную среду и запустить si projectinfo, которая явным образом предоставит вам Имя проекта как часть выходных данных. (который вы можете извлечь с помощью простого анализа, чтобы получить то, что вы хотите).   -  person mlizak__PTC    schedule 02.01.2015


Ответы (2)


Команда si locate с определенной конфигурацией может вернуть проект/проекты, в которых зарегистрирован файл. Эта функция доступна только с внутренним репозиторием БД и не будет работать с репозиторием RCS.

Если вы хотите получить проект, в котором находится файл, вы должны убедиться, что в репозитории MKS существует только один файл с таким именем, иначе вы получите все проекты, в которых находится этот файл.

Вы можете использовать эту команду, которая у меня отлично работает, или вы можете настроить ее под свои нужды.

si locate –hostname=%mks_Hostname% --port=%msk_Port% --user=%mks_User% --depth=all --devpathscope=all --exactmatch --listfields=devpath,name,project,checkpoints,dates --memberbyname="%Filename%"

помощь

Usage: si locate options... current or former member/subproject; options are:
    --[no]casesensitive  Make search case sensitive (default is --nocasesensitive for case insensitive servers)
    --depth=[current|build|all]  How much historical data should be encompassed in the search
    --devpathscope=[this|others|all]  Which devpaths should be encompassed in the search
    --distinct=[project|devpath|registeredproject]  In distinct mode, what output should be displayed
    --[no]exactmatch  Match search string exactly (default is --noexactmatch)
    --height=value  The height in pixels of the windows
    --[no]limittoactivepaths  Limit search to active projects
    --listfields=field1[:width1],field2[:width2]... where fieldn can be any of: checkpoints,configPath,dates,devpath,flatPath,name,project,registeredproject,revisions
    --memberbyname=value  The search string for Locate member by name
    --mode=[distinct|list]  Output mode
    --numberofresults=value  The maximum number of results to return
    --projectscope=[this|others|all]  Which projects should be encompassed in the search
    -r value  lookup a single revision (for members)
    --revision=value  lookup a single revision (for members)
    --subprojectbyname=value  The search string for Locate subproject by name
    --width=value  The width in pixels of the windows
    -x value  The x location in pixels of the window
    -y value  The y location in pixels of the window
    --devpath=value  The development path (to refer variant projects)
    --[no]failOnAmbiguousProject  Whether to abort when multiple projects correspond to a flat project string.
    -P value  The name of the target project
    --project=value  The name of the target project
    --projectRevision=value  The project revision (to refer build projects)
    -S value  The name of the sandbox (can be used as project redirector)
    --sandbox=value  The name of the sandbox (can be used as project redirector)
    -?  Shows the usage for a command
    --[no]batch  Control batch mode (no user interaction in batch mode)
    --cwd=value  Act as if command executed in specified directory
    --forceConfirm=[yes|no]  Specify an answer to all confirmation questions
    -g  User interaction should happen via the GUI
    --gui  User interaction should happen via the GUI
    --hostname=value  Hostname of server
    -N  Responds to all confirmations with "no"
    --no  Responds to all confirmations with "no"
    --password=value  Credentials (e.g., password) to login with
    --port=value  TCP/IP port number of server
    --quiet  Control status display
    --settingsUI=[gui|default]  Control UI for command options
    --status=[none|gui|default]  Control status display
    --usage  Shows the usage for a command
    --user=value  Username to login to server with
    -Y  Responds to all confirmations with "yes"
    --yes  Responds to all confirmations with "yes"
person vasilenicusor    schedule 05.08.2015

Что касается местоположения:

При условии, что ваш текущий каталог находится где-то в дереве зарегистрированной песочницы, вы можете просто запомнить

si locate filename

eg

c:\>my_sandboxes\prjA\src>si locate main.c

Вы можете получить несколько результатов/ответов, например. если у проекта есть варианты и/или архив используется в нескольких проектах, сервер.

Если вам нужны все сложные возможности Member->Locate из графического интерфейса, вам следует прочитать некоторые ссылки, например. SourceCLIReference_Integrity_10_4.pdf или как уже упоминалось.

si locate help
person grenix    schedule 01.09.2016