Загрузите файл .collabdiff из Code Collaborator.

Я хочу иметь возможность загружать исправления, связанные со списками изменений в Code Collaborator, с помощью командной строки Windows. Это файлы, которые вы получаете в веб-интерфейсе, если нажмете External Diff. Они имеют расширение «.collabdiff» и на самом деле представляют собой заархивированные архивы, содержащие папки «до» и «после» каждого файла. Я намерен использовать их для трехстороннего слияния с помощью Subversion Merge.

Мой первый подход заключался в использовании утилиты командной строки Code Collaborator, например.

ccollab admin wget externaldiff?reviewid=%2^&changelistid=%3 > %OutputFile%

К сожалению, кажется, что здесь ожидаются только данные ASCII, потому что на экране появляется много текста и много звуковых сигналов.

Мой следующий подход состоял в том, чтобы использовать внешнюю ссылку напрямую. Для этого я повторно использовал фрагмент скрипта PowerShell, который нашел в Интернете:

::
:: GetCodeCollaboratorChangeList.cmd
::
:: Downloads a review change list from Code Collaborator.
::
:: %1   Code Collaborator Server
:: %2   Review Id
:: %3   Change List Id
::
@ECHO ON

    SETLOCAL

    SET OutputFile=%~dp0ChangeList_%2_%3.collabdiff

    ECHO Creating %OutputFile%.

    :: Sadly, the following line expects that ASCII text should be returned, but the URL returns binary text.
    :: It beeps a little, and not much text gets redirected.
    ::ccollab admin wget externaldiff?reviewid=%2^&changelistid=%3 > %OutputFile%

    :: So instead, we have to use our own download code.
    SET URL="%1/externaldiff?reviewid=%2&changelistid=%3"

    SET S=""
    SET S="%S:~1,-1% $webclient = New-Object System.Net.WebClient;"
    SET S="%S:~1,-1% $webclient.DownloadFile('%URL:~1,-1%','%OutputFile%');"

    PowerShell.exe -ExecutionPolicy unrestricted -noprofile -command "& {%S:~1,-1%}"

EXIT /B

К сожалению, я получаю следующую ошибку:

Exception calling "DownloadFile" with "2" argument(s): "The remote server returned an error: (500) Internal Server Error."
At line:1 char:74
+ & { $webclient = New-Object System.Net.WebClient; $webclient.DownloadFile <<<< ('http://server1/externaldiff?reviewid=8077&changelistid=52915','C:\Documents and Settings\Administrator\Desktop\ChangeList_8077_52915.collabdiff');}
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : DotNetMethodException

Когда вы берете URL-адрес и вставляете его в браузер (а не нажимаете на ссылку), вы получаете следующую страницу:

HTTP Status 500 - 

--------------------------------------------------------------------------------

type Exception report

message 

description The server encountered an internal error () that prevented it from fulfilling this request.

exception 

java.lang.NullPointerException
    com.smartbear.ccollab.datamodel.DataModelUtils.getDefaultPrevVersionToDiff(DataModelUtils.java:379)
    com.smartbear.ccollab.datamodel.DataModelUtils.getDefaultPrevVersionToDiff(DataModelUtils.java:351)
    com.smartbear.ccollab.rpc.ExternalDiffConfigServlet.getVersionsToDiff(ExternalDiffConfigServlet.java:373)
    com.smartbear.ccollab.rpc.ExternalDiffConfigServlet.service(ExternalDiffConfigServlet.java:140)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    com.smartbear.ccollab.AuthTicketFilter.doFilter(AuthTicketFilter.java:74)
    com.smartbear.ccollab.CollabCleanupFilter.doFilter(CollabCleanupFilter.java:30)


note The full stack trace of the root cause is available in the Apache Tomcat/6.0.20-patched logs.


--------------------------------------------------------------------------------

Apache Tomcat/6.0.20-patched

Я попытался изменить код для изменения свойств QueryString и BaseAddress по отдельности и вызвал .DownloadFile('/externaldiff, ...), но ошибка не изменилась.

Есть ли какие-либо предложения относительно того, как я могу загрузить эти файлы?


person Mark Bertenshaw    schedule 21.06.2013    source источник


Ответы (1)


Попробуйте:
ccollab admin wget 'diff?context=10&reviewid=REVIEWID'
Например:
ccollab admin wget 'diff?context=10&reviewid=12345'

person Adithya Kiran Gangu    schedule 21.11.2014