diffuse

Langue: en

Version: 314858 (ubuntu - 07/07/09)

Section: 1 (Commandes utilisateur)

NAME

diffuse - graphical tool for merging and comparing text files

SYNOPSIS

diffuse [-h | -? | --help | -v | --version]
diffuse [--no-rcfile | --rcfile file] [[option...] | [file...]...]

DESCRIPTION

Diffuse is a graphical tool for merging and comparing text files. Diffuse is able to compare an arbitrary number of files side-by-side and gives users the ability to manually adjust line matching and directly edit files. Diffuse can also retrieve revisions of files from Bazaar, CVS, Darcs, Git, Mercurial, Monotone, Subversion, and SVK repositories for comparison and merging.

OPTIONS

Help Options

If a help option is specified, it must be the only argument specified on the command line. Diffuse will immediately quit after displaying the help information.

-h, -?, --help

Display usage information.

-v, --version

Display version number and copyright information.

Configuration Options

If a configuration option is specified, it must be the first argument specified on the command line.

--no-rcfile

Do not read the personal initialisation file ~/.diffuse/diffuserc.

--rcfile file

Read initialisation commands from file file instead of the personal initialisation file ~/.diffuse/diffuserc.

General Options

-c, --commit rev

Include revision rev - 1 and rev of the next file named in the command line arguments in a file comparison tab.

-D, --close-if-same

Close all tabs with no differences.

-e, --encoding codec

Use codec to read and write files.

-r, --revision rev

Include revision rev of the next file named in the command line arguments in a file comparison tab.

-s, --separate

Open all remaining files specified in the command line arguments in separate file comparison tabs.

-t, --tab label

Start a new tab called label for any remaining files named in the command line arguments.

Display Options

Display options specified in the command line arguments will override saved preference values.

-b, --ignore-space-change

Ignore changes to the amount of white space.

-B, --ignore-blank-lines

Ignore changes whose lines are all blank.

-i, --ignore-case

Ignore case differences in file contents.

-w, --ignore-all-space

Ignore all white space.

FILE COMPARISON

Use the File → New 2-Way File Merge and File → New 3-Way File Merge menu items to create additional tabs for comparing text files. File names and revisions can be specified either in the command line arguments used to invoke Diffuse or in fields on the Open File dialogue.

Diffuse displays files side-by-side inserting gaps to align similar lines of text. Differences are highlighted with a different background colour.

Comparison Summary

A summary of the compared files is located in the far right margin. The summary illustrates where gaps have been inserted to align matching lines of text and highlights differences using colour. Manual edits are also highlighted in green. A blue cursor identifies the region currently being viewed. The viewed region can be changed by clicking anywhere on the summary.

Selecting

Lines of text can be selected using the mouse pointer or keyboard. Select lines of text with the mouse pointer by clicking on a line. Click and drag to select multiple lines. Holding down the shift key when clicking will extend the current selection. Select lines using the keyboard by pressing the page up/down or arrow keys. Extend the current selection by holding down the shift key and pressing the page up/down or arrow keys. Move the selection to an adjacent file using the left and right arrow keys.

Matching Lines

The mouse pointer or keyboard can be used to manually align lines of text with adjacent files. To aligning lines of text using the mouse pointer, select a line of text with the left mouse button, right click on a line of text from an adjacent file, and choose Align to Selection. To align lines of text using the keyboard, move the selection with the cursor keys, press the space bar to pick the current line of text, move the selection with the cursor keys to a line of text in an adjacent file, and press the space bar to pick the target line of text. Pressing the escape key will cancel the operation.

Use the Isolate menu item to prevent the selected lines from being matched with any lines from the adjacent files.

Editing

Press the enter key or double-click on a text area to enter text editing mode. The cursor will change to indicate text editing mode and the status bar at the bottom of the window will display the cursor's column position.

In text editing mode, text can be selected with the mouse pointer by click and dragging. The current selection can be extended by holding down the shift key and moving the cursor by clicking with the mouse pointer or pressing any of the arrow, home, end or page up/down keys. Individual words can be selected by double-clicking on them with the mouse pointer. Whole lines can be selected by triple-clicking on them with the mouse pointer.

Modify text by typing on the keyword. Modified lines will be highlighted in green. Use the Undo and Redo menu items to undo and redo the previously preformed operations.

Press the escape key or click on another file's text area using the left mouse button to leave editing mode.

Merging

Use the difference buttons or menu items to navigate between blocks of differences within a file. When navigating, Diffuse will move the selection to the next continuous set of lines with differences or edits.

Use the merge buttons or menu items to copy blocks of text into the selected range of lines. The Undo and Redo menu items can be used to undo and redo the previously preformed operations. All changes to a set of lines can be reverted using the Clear Edits menu item regardless of the order the edits were performed.

RESOURCES

When Diffuse is started, it will read commands from the personal initialisation file ~/.diffuse/diffuserc. Diffuse will create a default personal initialisation file if one did not exist. A Bourne shell-like lexical analyser is used to parse initialisation commands. Comments and special characters can be embedded using the same style of escaping used in Bourne shell scripts.

General

import file

Processes initialisation commands from file. Initialisation files will only be processed once.

Key Bindings

keybinding context action key_combination

Binds a key combination to action when used in context. Specify Shift and Control modifiers by prepending Shift+ and Ctrl+ to key_combination respectively. Keys normally modified by the Shift key should be specified using their modified value if key_combination involves the Shift key. For example, Ctrl+g and Shift+Ctrl+G. Remove bindings for key_combination by specifying None for the action.


Menu Item Key Bindings


Use menu for the context to define key bindings for menu items. The following values are valid for action:
open_file
File → Open File... menu item

reload_file

File → Reload File menu item

save_file

File → Save File menu item

save_file_as

File → Save File As... menu item

new_2_way_file_merge

File → New 2-Way File Merge menu item

new_3_way_file_merge

File → New 3-Way File Merge menu item

quit

File → Quit menu item

undo

Edit → Undo menu item

redo

Edit → Redo menu item

cut

Edit → Cut menu item

copy

Edit → Copy menu item

paste

Edit → Paste menu item

select_all

Edit → Select All menu item

find

Edit → Find... menu item

find_next

Edit → Find Next menu item

find_previous

Edit → Find Previous menu item

go_to_line

Edit → Go To Line... menu item

convert_to_dos

Edit → Convert to DOS Format menu item

convert_to_unix

Edit → Convert to Unix Format menu item

no_syntax_highlighting

View → Syntax Highlighting → None menu item

syntax_highlighting_syntax

View → Syntax Highlighting → syntax menu item

previous_tab

View → Previous Tab menu item

next_tab

View → Next Tab menu item

close_tab

View → Close Tab menu item

shift_pane_left

shift the currently selected pane to the left

shift_pane_right

shift the currently selected pane to the right

preferences

View → Preferences menu item

realign_all

Merge → Realign All menu item

first_difference

Merge → First Difference menu item

previous_difference

Merge → Previous Difference menu item

next_difference

Merge → Next Difference menu item

last_difference

Merge → Last Difference menu item

clear_edits

Merge → Clear Edits menu item

merge_from_left

Merge → Merge From Left menu item

merge_from_right

Merge → Merge From Right menu item

isolate

Merge → Isolate menu item

help_contents

Help → Help Contents menu item

about

Help → About menu item


Line Editing Mode Key Bindings


Use line_mode for the context to define key bindings for line editing mode. The following values are valid for action:
enter_align_mode
enter alignment editing mode

enter_character_mode

enter character editing mode

first_line

move cursor to the first line

extend_first_line

move cursor to the first line, extending the selection

last_line

move cursor to the last line

extend_last_line

move cursor to the last line, extending the selection

up

move cursor up one line

extend_up

move cursor up one line, extending the selection

down

move cursor down one line

extend_down

move cursor down one line, extending the selection

left

move cursor left one file

extend_left

move cursor left one file, extending the selection

right

move cursor right one file

extend_right

move cursor right one file, extending the selection

page_up

move cursor up one page

extend_page_up

move cursor up one page, extending the selection

page_down

move cursor down one page

extend_page_down

move cursor down one page, extending the selection

delete_text

delete the selected text

merge_from_left

merge lines from file on the left

merge_from_right

merge lines from file on the right

first_difference

select the first difference

previous_difference

select the previous difference

next_difference

select the next difference

last_difference

select the last difference

isolate

isolate the selected lines


Alignment Editing Mode Key Bindings


Use align_mode for the context to define key bindings for alignment editing mode. The following values are valid for action:
enter_line_mode
enter line editing mode

enter_character_mode

enter character editing mode

first_line

move cursor to the first line

last_line

move cursor to the last line

up

move cursor up one line

down

move cursor down one line

left

move cursor left one file

right

move cursor right one file

page_up

move cursor up one page

page_down

move cursor down one page

align

align the selected line to the cursor position


Character Editing Mode Key Bindings


Use character_mode for the context to define key bindings for character editing mode. The following values are valid for action:
enter_line_mode
enter line editing mode

Strings

string name value

Declares a string resource called name with value value.


Used String Resources


The following string resources are used by Diffuse:
character_classes
describes mapping used to identify characters of a similar class for selection when double-clicking
This resource is a series of range:value pairs. The range is either a single number or low-high corresponding to the code for the character or characters to be set. Neighbouring characters that map to the same value will be selected as a group when double-clicking on a word.

difference_colours

a list of colour resources used to indicate differences

help_browser

executable used to browse help documentation

help_file

path to the help document

help_url

URL of the on-line help document

icon

icon for the about dialogue and window manager decoration

Colours

[ colour | color ] name red green blue

Declares a colour resource called name. Individual colour components should be expressed as a value between 0 and 1.


Used Colour Resources


The following colour resources are used by Diffuse:
align
colour used to indicate a line picked for manual alignment

char_selection

colour used to indicate selected characters

cursor

colour used for the cursor

difference_1

colour used to identify differences between the first pair of files

difference_2

colour used to identify differences between the second pair of files

difference_3

colour used to identify differences between the third pair of files

hatch

colour used for indicating alignment gaps

line_number

colour used for line numbers

line_number_background

background colour for the line number area

line_selection

colour used to indicate selected lines

map_background

background colour for the map area

modified

colour used to indicate modified lines

text

regular text colour

text_background

background colour for the text area

Floating Point Values

float name value

Declares a floating point resource called name with value value.


Used Floating Point Resources


The following floating point resources are used by Diffuse:
align_alpha
alpha value used when compositing the manual alignment colour

char_difference_alpha

alpha value used when compositing character difference colours

char_selection_alpha

alpha value used when compositing the character selection colour

line_difference_alpha

alpha value used when compositing line difference colours

line_selection_alpha

alpha value used when compositing the line selection colour

modified_alpha

alpha value used when compositing the modified line colour

Syntax Highlighting

syntax name initial_state default_tag

Declares a new syntax style called name. Syntax highlighting uses a simple state machine that transitions between states when certain patterns are matched. The initial state for the state machine will be initial_state. All characters not matched by a pattern will be tagged as default_tag for highlighting.

syntax_file name pattern

Specifies that files with a name matching pattern should be highlighted using the syntax style called name.

syntax_pattern name initial_state final_state tag pattern [ignorecase]

Adds a pattern to the previously declared syntax style. The pattern will only be used to match characters if the state machine is in the state initial_state. The state machine will transition to final_state if the pattern defined by pattern is matched. Case insensitive pattern matching will be used if ignorecase is specified. All characters matched by the pattern will be tagged as tag for highlighting.

FILES

/etc/diffuserc

System wide initialisations.

/usr/share/diffuse/syntax/*.syntax

Syntax files for various languages.

~/.diffuse/config

Data persistent across sessions.

~/.diffuse/diffuserc

Your initialisations.

~/.diffuse/prefs

Your saved preferences.

AUTHOR

Diffuse was written by Derrick Moser <derrick_moser@yahoo.com>.

© 2006-2008 Derrick Moser. All Rights Reserved.

Diffuse is free software; you may redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the licence, or (at your option) any later version.