Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "EMF Compare/Specifications/LogicalMergeCommandLine"

(Created page with "= Evolution Specification: LogicalMerge command line = Current status is '''DRAFT''' == Preambule == Here will be specified the logicalMerge command line see [[LogicalModel...")
 
(Preambule)
Line 5: Line 5:
 
== Preambule ==
 
== Preambule ==
  
Here will be specified the logicalMerge command line see [[LogicalModelCommandLine | Logical Model Command Line]] for further information
+
Here will be specified the logicalMerge command line see [[EMF Compare/Specification/LogicalModelCommandLine | Logical Model Command Line]] for further information
  
 
== Detailed Specification  ==
 
== Detailed Specification  ==

Revision as of 09:54, 23 July 2014

Evolution Specification: LogicalMerge command line

Current status is DRAFT

Preambule

Here will be specified the logicalMerge command line see Logical Model Command Line for further information

Detailed Specification

Incorrect parameters

Logical merge command line signature is "git logicalmerge <setup> <commitID> (-m "Merge message")?"

  • REQ_010: If the logical merge is called with 0,1 or more than 2 parameters then the software should display:
    "fatal: logicalmerge needs two parameters. git logicalmerge <setup_file_path> <commit>. Use git logicalmerge --help for further information."
  • IMPL: This verification is done before any other work.
  • REQ_020: If the logicalmerge is called with a incorrect commit id the software should display:
    "fatal: {$WRONG_ID} - not something we can merge."
  • IMPL: This verification is done during the call to EGit
  • REQ_030: If the logicalmerge is called with a incorrect path to the setup file the software should display:
    "fatal: No setup file found at {$SETUP_PATH_FILE}"
  • IMPL: This verification is done before loading the setup resource
  • REQ_040: If the logicalmerge is called with a corrupted setup file (unable to load setup resource) the software should display:
    "fatal: Corrupted set up file"
  • IMPL: This verification is done when trying to load the resource
  • REQ_050: If the "-m" argument to the logical merge without a value then the software should display:
    "error: switch `m' requires a value"
  • REQ_060: If a merge message has been provided then it should be used for the merge commit.
  • REQ_070: If none then an automatic message should be generated. In git the user is asked enter the commit message inside a the console with an already generated message. But I'm not sure that inside java I can interact wit the console...

Error during logicalmerge

  • REQ_080: For any error during the merge the software should display "fatal:" plus the error.

Result

  • REQ_090: If no merge has been done because it's already up to date then software should display:
    "Already up-to-date."
  • REQ_0100: If the merge has no conflicts then software should display:
    "Merge made by the '{$UsedStrategy}' strategy.
    {$ListOfMergedFile}"
  • REQ_0110: If the merge has conflicts the software should display:

FOR ALL {$FileName} in {$ConflictingFiles} DO
IF {$FileName} has been automatically resolver DO
Auto-merging {$FileName}
CONFLICT ({$ConflictTypeLeft}/{$ConflictTypeLeft}): Merge conflict in {$FileName}
Automatic merge success.
ELSE
Auto-merging {$FileName}
CONFLICT ({$ConflictTypeLeft}/{$ConflictTypeLeft}): Merge conflict in {$FileName}
Automatic merge failed; fix conflicts using "git logicalmergetooland" then commit the result.

Back to the top