Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 349551 - Log EGit activities into a console
Summary: Log EGit activities into a console
Status: NEW
Alias: None
Product: EGit
Classification: Technology
Component: UI (show other bugs)
Version: 0.12   Edit
Hardware: PC Windows Vista
: P3 enhancement with 20 votes (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
: 399776 (view as bug list)
Depends on:
Blocks: 378056 330507
  Show dependency tree
 
Reported: 2011-06-16 08:06 EDT by Tobias Oberlies CLA
Modified: 2018-01-04 13:51 EST (History)
16 users (show)

See Also:


Attachments
+1 to have this bug resolved (50 bytes, text/plain)
2016-01-27 05:00 EST, Nira Shavitt CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Tobias Oberlies CLA 2011-06-16 08:06:30 EDT
I have found one thing that hinders me to switch from the shell to EGit is that I often have the feeling that I don't know what actually happens when I use the EGit UI.

To solve this problem, I would like to have a (non-interactive) console in the Eclipse console view that logs all activities of EGit.

Secondly, the console is also the natural place where I would expect to see the results of remote operations, like push. The current behaviour - a pop-up after hitting finish on the push wizard - is (again) slightly off from the usual UI patterns.
Comment 1 Kevin Sawicki CLA 2011-06-16 11:51:01 EDT
Would a reflog view be sufficient for what you are looking for?  That has been proposed in bug347861
Comment 2 Tobias Oberlies CLA 2011-06-16 12:02:22 EDT
A reflog doesn't help with remote activities, e.g. fetch or push. EGit currently shows a dialog after a push, but I have to close the dialog if I want to continue working. There is currently no way to see again later, for example, what change number Gerrit assigned to a new change.

Also the reflog doesn't help if I delete a branch. So in summary, I don't think that a reflog will be enough.
Comment 3 Gary D. Gregory CLA 2012-10-02 21:06:10 EDT
What we need is the same kind of log view that Subclipse and the built-in CVS support provide:
- Open the Console view
- Click on the "Open Console" drop down icon and pick "Git".
Comment 4 Frank Musolf CLA 2014-06-18 05:11:09 EDT
+1 to log all executed egit actions in form of normal git command syntax.
Comment 5 Nira Shavitt CLA 2016-01-27 05:00:33 EST
Created attachment 259407 [details]
+1 to have this bug resolved
Comment 6 Genghis Yang CLA 2017-06-10 01:01:22 EDT
+1
Comment 7 Thomas Wolf CLA 2017-06-18 09:08:41 EDT
*** Bug 399776 has been marked as a duplicate of this bug. ***
Comment 8 Thomas Wolf CLA 2017-06-18 09:35:56 EDT
I actually gave this a try and got a working prototype. But frankly said, it's a _lot_ of work for very little benefit.

* EGit performs operations differently than you'd do them on the command line.
  For instance, staging a bunch of files in EGit corresponds to

  git add -A <file1> <file2> ... <fileN>

  even when all the files are in the same folder. A human would probably do
  most of the time

  cd <directory>
  git add -A .

* Some EGit commands are implemented directly using JGit low-level mechanisms.

* Many EGit operations execute in the background. So there needs a way to
  associate result output with previously displayed commands. There may be other
  commands shown in the console between a command and its result, and results
  of multiple operations may end up intermingled on the console.

* With EGit you can work with several repositories from the UI. With command
  line git you can't: you always have to cd to the repo you want to work with.
  There would be a way of showing in the log in which repository or in which
  directory a certain command is logically executed.

* You'd have to decide which commands to log at all. All of them? Even a git
  ls-remote like it occurs in the "Fetch from Gerrit" dialog?
  
* You can't use the console for progress reporting. The console would be swamped
  by progress messages, each on a new line. The Eclipse console does not support
  overwriting the last line (c.f. bug 76936 and bug 467147), and even if it
  did, there'd still be the problem of intermingled progress output from
  concurrently running commands.

* You'd have to implement a way to produce a text representation for each and
  every JGit command. Currently there is no unified way to do so for JGit
  commands, so you'd have to it explicitly everywhere EGit does a JGit
  operation.

* You'd have to implement a way to produce a text representation for each and
  every command result. This is likely to duplicate a lot of the work already
  done for showing results in the UI.

So from my point of view, this is a "won't fix".
Comment 9 Andrey Loskutov CLA 2017-06-19 07:28:31 EDT
(In reply to Thomas Wolf from comment #8)
> I actually gave this a try and got a working prototype. But frankly said,
> it's a _lot_ of work for very little benefit.

Fully agree with all your points.

> So from my point of view, this is a "won't fix".

May be we should really *only* provide a place where the user can see *remote* answers for push/pull etc operations, *not* for any local operations?

Looking on the number of votes, question to the voters: any opinion on that?
Comment 10 Yusuke SATO CLA 2018-01-04 13:51:25 EST
+1
I have similar requirement from my organization, so I tried to make a patch that write log of operations that change HEAD or interact with remotes. Any comments are welcome. https://git.eclipse.org/r/#/c/103342/