             {<pre>{@props.git_status}</pre> if @props.git_status}
         </Panel>
 
+    render_diff_files : ->
+        if @props.git_changed_tracked_files
+            for file, idx in @props.git_changed_tracked_files
+                console.log(idx)
+                <MenuItem key={idx} eventKey="{file}" onSelect={(e)=>console.log(JSON.stringify(e.target));@props.actions.setState(file_to_diff:e.target.text);@props.actions.update_diff()}>{file}</MenuItem>
+
     render_diff : ->
         head =
             <span>
                 git diff
+                <Space/> <Space/>
+                <DropdownButton title='file' id='files_to_diff'
+                  
+                >
+                    {@render_diff_files()}
+                </DropdownButton>
                 <Space/> <Space/>
                 <Button onClick={=>@props.actions.update_diff()}>
                     Refresh

                else
                    @setState(git_status : output.stdout)

    update_diff : () =>
        @setState(git_diff : 'updating...')
        @exec
            cmd  : "git"
            args : ['diff']
            cb   : (err, output) =>
                if err
                    @setState(git_diff : '')

            git_changed_tracked_files : rtypes.array
            git_changed_untracked_files : rtypes.array
            checked_files : rtypes.object
            file_to_diff          : rtypes.string

    propTypes :
        actions : rtypes.object
